API Python de código aberto para imagens
Super resolução para imagens usando Deep Learning
O que é Aprimoramento Neural?
Neural Enhance é uma API Python de código aberto para aprimoramento de imagem. A API aprimora a imagem usando deep learning, usando a API é possível treinar a rede neural e ampliar 2x ou até 4x em suas imagens. Você pode aprimorar as imagens aumentando o número de neurônios na imagem, com um conjunto de dados semelhante à sua imagem de baixa resolução.
Você pode aprimorar suas imagens usando o HQ de renderização de CPU e GPU. A geração de saída de 1080p na GPU deve levar cerca de 5s ou 2s por imagem e a renderização da CPU HQ deve levar cerca de 20-60s para saída de 1080.
Introdução ao aprimoramento neural
A maneira recomendada de instalar o Neural Enhance é via Docker. Por favor, use o seguinte comando para instalar o Neural Enhance.
Instale o Neural Enhance via Docker
docker run --rm -v `pwd`:/ne/input -it alexjc/neural-enhance --help
Aprimore imagens por meio da API Python gratuita
A API Neural-Enhance permite aprimorar imagens programaticamente. A API fornece uma lista de comandos que você pode usar com o modelo pré-treinado disponível na API. Usando a API, você pode executar o script de super-resolução para reparar artefatos JPEG, fatores de zoom, processar várias imagens de qualidade com uma única execução e exibir as imagens de saída. Você pode facilmente aprimorar suas imagens usando esta linha de código
Aprimore imagens via Python
- Abrir prompt de comando
- Vá para o diretório Enhance.py
- Execute o seguinte comando e passe o tipo de arquivo, reparo, opção de zoom e caminho da imagem a serem aprimorados
Aprimore imagens via 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
Treinando imagens de super-resolução via Python
A biblioteca de imagens de código aberto Neural Enhance treina suas imagens do seu jeito. A API vem com modelos pré-treinados padrão, você pode treinar seu próprio processo usando parâmetros baseados em seu conjunto de dados de imagem. Você pode treinar seu modelo usando a perda de percepção do papel, treinar seu modelo usando uma configuração adversária e muito mais.
Use modelos e treinamento pré-treinados Super-Resolution via 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