API Python із відкритим кодом для зображень
Супер роздільна здатність для зображень із використанням глибокого навчання
Що таке Neural Enhance?
Neural Enhance — це API Python із відкритим кодом для покращення зображення. API покращує зображення за допомогою глибокого навчання, за допомогою API можна навчити нейронну мережу та збільшити зображення у 2 або навіть 4 рази. Ви можете покращити зображення, збільшивши кількість нейронів у зображенні з набором даних, подібним до вашого зображення з низькою роздільною здатністю.
Ви можете покращити свої зображення за допомогою CPU та GPU рендеринга HQ. Створення виводу 1080p на графічному процесорі має займати приблизно 5 або 2 с на зображення, а рендеринг центрального процесора HQ має займати приблизно 20-60 с для виведення 1080.
Початок роботи з Neural Enhance
Рекомендований спосіб встановлення Neural Enhance — через Docker. Щоб установити Neural Enhance, скористайтеся такою командою.
Встановіть Neural Enhance через Docker
docker run --rm -v `pwd`:/ne/input -it alexjc/neural-enhance --help
Покращуйте зображення за допомогою безкоштовного API Python
API Neural-Enhance дозволяє покращувати зображення програмним шляхом. API надає список команд, які можна використовувати з попередньо навченою моделлю, доступною в API. Використовуючи API, ви можете запустити сценарій із надвисокою роздільною здатністю, щоб виправити артефакти JPEG, коефіцієнти масштабування, обробити кілька якісних зображень за один запуск і відобразити вихідні зображення. Ви можете легко покращити свої зображення, використовуючи цей один рядок коду
Покращуйте зображення за допомогою Python
- Відкрийте командний рядок
- Перейдіть до каталогу enhance.py
- Виконайте наведену нижче команду та передайте тип файлу, відновлення, параметр масштабування та шлях до зображення, яке потрібно покращити
Покращуйте зображення за допомогою 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
Навчання зображень із надвисокою роздільною здатністю за допомогою Python
Бібліотека зображень із відкритим кодом Neural Enhance тренує ваші зображення на ваш власний спосіб. API поставляється з попередньо навченими моделями за замовчуванням, ви можете навчити власний процес, використовуючи параметри на основі вашого набору даних зображень. Ви можете навчити свою модель за допомогою втрати сприйняття з паперу, навчити свою модель за допомогою змагальної установки тощо.
Використовуйте попередньо навчені моделі та навчальну суперроздільність через 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