Python API с открытым исходным кодом для изображений

Суперразрешение для изображений с использованием глубокого обучения

Что такое нейронное усиление?

Neural Enhance — это Python API с открытым исходным кодом для улучшения изображений. API улучшает изображение с помощью глубокого обучения, с помощью API можно обучать нейронную сеть и увеличивать ваши изображения в 2 или даже 4 раза. Вы можете улучшить изображения, увеличив количество нейронов в изображении с набором данных, аналогичным вашему изображению с низким разрешением.

Вы можете улучшить свои изображения, используя HQ рендеринга как CPU, так и GPU. Генерация вывода 1080p на графическом процессоре должна занимать около 5 или 2 с на изображение, а рендеринг на центральном процессоре должен занимать около 20-60 с для вывода 1080.

Previous Next

Начало работы с Neural Enhance

Рекомендуемый способ установки Neural Enhance — через Docker. Пожалуйста, используйте следующую команду для установки Neural Enhance.

Установите Neural Enhance через Docker

docker run --rm -v `pwd`:/ne/input -it alexjc/neural-enhance --help

Улучшение изображений с помощью бесплатного API Python

Neural-Enhance API позволяет программно улучшать изображения. API предоставляет список команд, которые можно использовать с предварительно обученной моделью, доступной в API. Используя API, вы можете запускать сценарий сверхвысокого разрешения для исправления артефактов JPEG, коэффициентов масштабирования, обработки изображений с различным качеством за один прогон и отображения выходных изображений. Вы можете легко улучшить свои изображения с помощью этой одной строки кода

Улучшение изображений с помощью Python

  1. Открыть командную строку
  2. Перейдите в каталог повышения.py
  3. Выполните следующую команду и передайте тип файла, восстановление, параметр масштабирования и путь к изображению для улучшения.

Улучшение изображений с помощью 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 поставляется с предварительно обученными моделями по умолчанию, вы можете обучать свой собственный процесс, используя параметры, основанные на вашем наборе данных изображений. Вы можете обучать свою модель, используя потерю восприятия на бумаге, обучать свою модель, используя состязательную настройку и многое другое.

Использовать предварительно обученные модели и обучение Super-Resolution через 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
 Русский