API на Python с отворен код за изображения
Супер разделителна способност за изображения, използващи Deep Learning
Какво е Neural Enhance?
Neural Enhance е API на Python с отворен код за подобряване на изображението. API подобрява изображението чрез задълбочено обучение, с помощта на API е възможно да обучите невронната мрежа и да увеличите 2x или дори 4x вашите изображения. Можете да подобрите изображенията, като увеличите броя на невроните в изображението, с набор от данни, подобен на вашето изображение с ниска разделителна способност.
Можете да подобрите вашите изображения, като използвате HQ за изобразяване както на CPU, така и на GPU. Генерирането на 1080p изход на GPU трябва да отнеме около 5 s или 2 s на изображение, а HQ рендирането на CPU трябва да отнеме около 20-60 s за 1080 изход.
Първи стъпки с Neural Enhance
Препоръчителният начин за инсталиране на Neural Enhance е чрез Docker. Моля, използвайте следната команда, за да инсталирате Neural Enhance.
Инсталирайте Neural Enhance чрез Docker
docker run --rm -v `pwd`:/ne/input -it alexjc/neural-enhance --help
Подобрете изображенията чрез безплатен API на Python
API за Neural-Enhance позволява програмно подобряване на изображения. API предоставя списък с команди, които можете да използвате с предварително обучения модел, наличен в API. Използвайки API, можете да стартирате скрипта със супер разделителна способност, за да поправите JPEG артефакти, коефициенти на мащабиране, да обработите множество качествени изображения с едно изпълнение и да покажете изходните изображения. Можете лесно да подобрите вашите изображения, като използвате този един ред код
Подобрете изображения чрез Python
- Отворете командния ред
- Отидете в директорията enhance.py
- Изпълнете следната команда и предайте типа на файла, поправката, опцията за мащабиране и пътя на изображението, който да бъде подобрен
Подобрете изображения чрез Python
# Run the super-resolution script to repair JPEG artefacts, zoom factor 1:1.
python3 enhance.py --type=photo --model=repair --zoom=1 broken.jpg
# Process multiple good quality images with a single run, zoom factor 2:1.
python3 enhance.py --type=photo --zoom=2 file1.jpg file2.jpg
# Display output images that were given `_ne?x.png` suffix.
open *_ne?x.png
Обучение на изображения със супер разделителна способност чрез Python
Библиотеката с изображения с отворен код Neural Enhance обучава вашите изображения по ваш собствен начин. API идва с предварително обучени модели по подразбиране, можете да обучите свой собствен процес, като използвате параметри, базирани на вашия набор от данни за изображения. Можете да обучите модела си, като използвате загуба на възприятие от хартия, да обучите модела си, като използвате състезателна настройка и др.
Използвайте предварително обучени модели и супер разделителна способност за обучение чрез Python API
# Pre-train the model using perceptual loss from paper [1] below.
python3.4 enhance.py --train "data/*.jpg" --model custom --scales=2 --epochs=50 \
--perceptual-layer=conv2_2 --smoothness-weight=1e7 --adversary-weight=0.0 \
--generator-blocks=4 --generator-filters=64
# Train the model using an adversarial setup based on [4] below.
python3.4 enhance.py --train "data/*.jpg" --model custom --scales=2 --epochs=250 \
--perceptual-layer=conv5_2 --smoothness-weight=2e4 --adversary-weight=1e3 \
--generator-start=5 --discriminator-start=0 --adversarial-start=5 \
--discriminator-size=64
# The newly trained model is output into this file...
ls ne?x-custom-*.pkl.bz2