Open-Source-Python-API für Bilder
Superauflösung für Bilder mit Deep Learning
Was ist Neural Enhance?
Neural Enhance ist eine Open-Source-Python-API zur Bildverbesserung. Die API verbessert das Bild durch Deep Learning, mit der API ist es möglich, das neuronale Netzwerk zu trainieren und 2x oder sogar 4x in Ihre Bilder zu zoomen. Sie können die Bilder verbessern, indem Sie die Anzahl der Neuronen im Bild erhöhen, mit einem Datensatz, der Ihrem Bild mit niedriger Auflösung ähnelt.
Sie können Ihre Bilder sowohl mit CPU- als auch mit GPU-Rendering-HQ verbessern. Das Generieren einer 1080p-Ausgabe auf der GPU sollte etwa 5 Sekunden oder 2 Sekunden pro Bild dauern, und das CPU-Rendering von HQ sollte etwa 20 bis 60 Sekunden für eine 1080-Ausgabe dauern.
Erste Schritte mit Neural Enhance
Die empfohlene Methode zur Installation von Neural Enhance ist über Docker. Bitte verwenden Sie den folgenden Befehl, um Neural Enhance zu installieren.
Neural Enhance über Decker installieren
docker run --rm -v `pwd`:/ne/input -it alexjc/neural-enhance --help
Verbessern Sie Bilder über die kostenlose Python-API
Die Neural-Enhance-API ermöglicht die programmgesteuerte Verbesserung von Bildern. Die API stellt eine Liste von Befehlen bereit, die Sie mit dem in der API verfügbaren vorab trainierten Modell verwenden können. Mithilfe der API können Sie das Super-Resolution-Skript ausführen, um JPEG-Artefakte zu reparieren, Faktoren zu vergrößern, Bilder mit mehreren Qualitätsstufen in einem einzigen Durchlauf zu verarbeiten und die Ausgabebilder anzuzeigen. Sie können Ihre Bilder ganz einfach verbessern, indem Sie diese eine Codezeile verwenden
Verbessern Sie Bilder über Python
- Öffnen Sie die Eingabeaufforderung
- Gehen Sie in das Verzeichnis Enhance.py
- Führen Sie den folgenden Befehl aus und übergeben Sie den Dateityp, die Reparatur, die Zoomoption und den zu verbessernden Bildpfad
Verbessern Sie Bilder über 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
Trainieren von Super-Resolution-Bildern über Python
Die Open-Source-Bildbibliothek Neural Enhance, um Ihre Bilder auf Ihre eigene Weise zu trainieren. Die API enthält standardmäßig vortrainierte Modelle. Sie können Ihren eigenen Prozess trainieren, indem Sie Parameter verwenden, die auf Ihrem Bilddatensatz basieren. Sie können Ihr Modell trainieren, indem Sie den Wahrnehmungsverlust von Papier verwenden, Ihr Modell mit einem kontradiktorischen Setup trainieren und vieles mehr.
Pre-trained Models & Training 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