Avoimen lähdekoodin Python API kuville
Superresoluutio kuville Deep Learningillä
Mikä on hermoston tehostaminen?
Neural Enhance on avoimen lähdekoodin Python API kuvan parantamiseen. API parantaa kuvaa syväoppimisen avulla, API:n avulla on mahdollista kouluttaa hermoverkkoa ja zoomata kuviisi 2x tai jopa 4x. Voit parantaa kuvia lisäämällä kuvan hermosolujen määrää datajoukolla, joka on samanlainen kuin matalaresoluutioinen kuvasi.
Voit parantaa kuviasi käyttämällä sekä CPU- että GPU-renderöintikeskusta. 1080p-lähdön luomisen GPU:lla pitäisi kestää noin 5 sekuntia tai 2 sekuntia per kuva ja CPU-renderöinnin HQ:n pitäisi kestää noin 20-60 sekuntia 1080-lähdössä.
Neural Enhancen käytön aloittaminen
Suositeltu tapa asentaa Neural Enhance on Dockerin kautta. Käytä seuraavaa komentoa asentaaksesi Neural Enhance.
Asenna Neural Enhance Dockerin kautta
docker run --rm -v `pwd`:/ne/input -it alexjc/neural-enhance --help
Paranna kuvia ilmaisella Python API:lla
Neural-Enhance API mahdollistaa kuvien ohjelmallisen parantamisen. API tarjoaa luettelon komennoista, joita voit käyttää API:ssa olevan esikoulutetun mallin kanssa. API:n avulla voit suorittaa superresoluutioisen skriptin korjataksesi JPEG-artefakteja, zoomaustekijöitä, käsitellä useita laadukkaita kuvia yhdellä kertaa ja näyttää tulostetut kuvat. Voit helposti parantaa kuviasi käyttämällä tätä yhtä koodiriviä
Paranna kuvia Pythonilla
- Avaa komentokehote
- Siirry enhance.py-hakemistoon
- Suorita seuraava komento ja anna tiedostotyyppi, korjaus, zoomausvaihtoehto ja parannettavan kuvan polku
Paranna kuvia Pythonilla
# 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
Superresoluution kuvien kouluttaminen Pythonin kautta
Avoimen lähdekoodin kuvakirjasto Neural Enhance kouluttaa kuviasi omalla tavallasi. API:n mukana tulee oletusarvoisia esikoulutettuja malleja, voit kouluttaa omaa prosessiasi käyttämällä kuvatietojoukkoosi perustuvia parametreja. Voit kouluttaa malliasi käyttämällä havainnointikykyä paperista, kouluttaa malliasi käyttämällä kontradiktorista asetusta ja paljon muuta.
Käytä valmiiksi koulutettuja malleja ja koulutusta Super-Resolution Python API:n kautta
# 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