Open-source Python-API voor afbeeldingen
Superresolutie voor afbeeldingen met Deep Learning
Wat is neurale verbetering?
Neural Enhance is een open-source Python API voor beeldverbetering. De API verbetert het beeld door middel van deep learning, met behulp van de API is het mogelijk om het neurale netwerk te trainen en 2x of zelfs 4x in te zoomen op uw afbeeldingen. U kunt de afbeeldingen verbeteren door het aantal neuronen in de afbeelding te vergroten, met een gegevensset die lijkt op uw afbeelding met een lage resolutie.
U kunt uw afbeeldingen verbeteren met behulp van zowel CPU- als GPU-rendering HQ. Het genereren van 1080p-uitvoer op GPU zou ongeveer 5s of 2s per afbeelding moeten duren en het CPU-renderinghoofdkwartier zou ongeveer 20-60s moeten duren voor 1080-uitvoer.
Aan de slag met Neural Enhance
De aanbevolen manier om Neural Enhance te installeren is via Docker. Gebruik de volgende opdracht om Neural Enhance te installeren.
Installeer Neural Enhance via Docker
docker run --rm -v `pwd`:/ne/input -it alexjc/neural-enhance --help
Verbeter afbeeldingen via gratis Python API
Neural-Enhance API maakt het mogelijk om afbeeldingen programmatisch te verbeteren. De API biedt een lijst met opdrachten die u kunt gebruiken met het vooraf getrainde model dat beschikbaar is in de API. Met behulp van de API kunt u het superresolutiescript uitvoeren om JPEG-artefacten en zoomfactoren te repareren, meerdere kwaliteitsafbeeldingen in één keer te verwerken en de uitvoerafbeeldingen weer te geven. U kunt uw afbeeldingen eenvoudig verbeteren door deze ene regel code te gebruiken
Afbeeldingen verbeteren via Python
- Opdrachtprompt openen
- Ga naar de directory enhance.py
- Voer de volgende opdracht uit en geef het bestandstype, de reparatie, de zoomoptie en het te verbeteren afbeeldingspad door:
Afbeeldingen verbeteren 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
Superresolutiebeelden trainen via Python
De Open Source-afbeeldingsbibliotheek Neural Enhance traint uw afbeeldingen op uw eigen manier. De API wordt geleverd met standaard vooraf getrainde modellen, u kunt uw eigen proces trainen door parameters te gebruiken op basis van uw afbeeldingsdataset. U kunt uw model trainen door perceptueel verlies van papier te gebruiken, uw model trainen met behulp van een vijandige opstelling en meer.
Gebruik vooraf getrainde modellen & 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