API Python de código abierto para imágenes
Súper resolución para imágenes usando Deep Learning
¿Qué es la mejora neuronal?
Neural Enhance es una API de Python de código abierto para la mejora de imágenes. La API mejora la imagen mediante el aprendizaje profundo, con la API es posible entrenar la red neuronal y hacer zoom 2x o incluso 4x en sus imágenes. Puede mejorar las imágenes aumentando el número de neuronas en la imagen, con un conjunto de datos similar a su imagen de baja resolución.
Puede mejorar sus imágenes utilizando el HQ de renderizado de CPU y GPU. La generación de una salida de 1080p en la GPU debería tardar entre 5 y 2 segundos por imagen y la renderización de la CPU en HQ debería tardar entre 20 y 60 segundos para una salida de 1080.
Primeros pasos con la mejora neuronal
La forma recomendada de instalar Neural Enhance es a través de Docker. Utilice el siguiente comando para instalar Neural Enhance.
Instalar Neural Enhance a través de Docker
docker run --rm -v `pwd`:/ne/input -it alexjc/neural-enhance --help
Mejore las imágenes a través de la API gratuita de Python
La API Neural-Enhance permite mejorar las imágenes mediante programación. La API proporciona una lista de comandos que puede usar con el modelo preentrenado disponible en la API. Con la API, puede ejecutar el script de súper resolución para reparar artefactos JPEG, factores de zoom, procesar múltiples imágenes de calidad con una sola ejecución y mostrar las imágenes de salida. Puede mejorar fácilmente sus imágenes usando esta única línea de código
Mejorar imágenes a través de Python
- Abrir símbolo del sistema
- Ir al directorio de Enhance.py
- Ejecute el siguiente comando y pase el tipo de archivo, la reparación, la opción de zoom y la ruta de la imagen para mejorar
Mejorar imágenes a través de 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
Entrenamiento de imágenes de súper resolución a través de Python
La biblioteca de imágenes de código abierto Neural Enhance entrena tus imágenes a tu manera. La API viene con modelos preentrenados predeterminados, puede entrenar su propio proceso usando parámetros basados en su conjunto de datos de imagen. Puede entrenar su modelo usando la pérdida de percepción del papel, entrenar su modelo usando una configuración contradictoria y más.
Utilice modelos pre entrenados Entrenamiento Super-Resolution vía 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