API Open Source Python dla obrazów
Super rozdzielczość obrazów przy użyciu głębokiego uczenia
Co to jest wzmocnienie neuronowe?
Neural Enhance to open-sourceowy interfejs API Pythona do ulepszania obrazu. API ulepsza obraz za pomocą głębokiego uczenia, za pomocą API można trenować sieć neuronową i powiększać obrazy 2x, a nawet 4x. Obrazy można ulepszyć, zwiększając liczbę neuronów na obrazie za pomocą zestawu danych podobnego do obrazu o niskiej rozdzielczości.
Możesz ulepszyć swoje obrazy, używając zarówno centrum renderowania CPU, jak i GPU. Generowanie wyjścia 1080p na GPU powinno zająć około 5 lub 2 s na obraz, a renderowanie CPU powinno zająć około 20-60 s dla wyjścia 1080.
Rozpoczęcie pracy ze wzmocnieniem neuronowym
Zalecanym sposobem instalacji funkcji Neural Enhance jest użycie platformy Docker. Użyj następującego polecenia, aby zainstalować Wzmocnienie neuronowe.
Zainstaluj Wzmocnienie neuronowe przez Docker
docker run --rm -v `pwd`:/ne/input -it alexjc/neural-enhance --help
Ulepsz obrazy za pomocą darmowego interfejsu API Pythona
Neural-Enhance API umożliwia programowe ulepszanie obrazów. Interfejs API zawiera listę poleceń, których można używać ze wstępnie wytrenowanym modelem dostępnym w interfejsie API. Korzystając z interfejsu API, można uruchomić skrypt super-rozdzielczości, aby naprawić artefakty JPEG, współczynniki powiększenia, przetworzyć wiele obrazów wysokiej jakości za pomocą jednego uruchomienia i wyświetlić obrazy wyjściowe. Możesz łatwo poprawić swoje obrazy, używając tego jednego wiersza kodu
Ulepsz obrazy za pomocą Pythona
- Otwórz wiersz polecenia
- Przejdź do katalogu enhance.py
- Uruchom następujące polecenie i przekaż typ pliku, naprawę, opcję powiększenia i ścieżkę obrazu do ulepszenia
Ulepsz obrazy za pomocą Pythona
# 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
Szkolenie obrazów super-rozdzielczości za pomocą Pythona
Biblioteka obrazów Open Source Neural Enhance trenuje obrazy na swój własny sposób. Interfejs API jest dostarczany z domyślnymi wstępnie wytrenowanymi modelami, możesz trenować swój własny proces, używając parametrów opartych na zestawie danych obrazu. Możesz trenować swój model, używając percepcyjnej utraty z papieru, trenować swój model za pomocą konfiguracji kontradyktoryjnej i nie tylko.
Użyj wstępnie wytrenowanych modeli i szkolenia Super-Resolution za pośrednictwem interfejsu API Pythona
# 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