Кросплатформенний графічний інтерфейс для апскейлера зображень Real-ESRGAN з додатковими можливостями. За мотивами waifu2x-caffe.
README переклади
- 简体中文 (Simplified Chinese)
- English
- Ukrainian (Українська) Translated by @kirill0ermakov
- Türkçe (Turkish) Translated by @NandeMD tarafından
Ця програма використовує портативний виконуваний файл Real-ESRGAN (Real-ESRGAN-ncnn-vulkan) для підвищення якості зображень з надзвичайно високою якістю. Вона написана на мові Python і надає зручний графічний інтерфейс за допомогою Tkinter.
Quick Start:
- Завантажте останній
realesrgan-gui-windows-bundled-v*.7z
з релізу, розпакуйте архів та запустітьrealesrgan-gui.exe
. - Завантажте найновіший
realesrgan-gui-ubuntu-bundled-v*.tar.xz
з релізу, розпакуйте архів і запустітьrealesrgan-gui
. - Завантажте останню версію
realesrgan-gui-macos-appbundle-v*.tar.xz
з релізу, розпакуйте архів і виконайтеxattr -cr "Real-ESRGAN GUI.app"
у терміналі, потім запустітьReal-ESRGAN GUI
.
Примітки
- Виконуваний файл та моделі Real-ESRGAN-ncnn-vulkan не містяться у файлах
realesrgan-gui-windows.7z
таrealesrgan-gui-ubuntu.tar.xz
. Їх необхідно завантажити вручну з [тут] (https://github.com/xinntao/Real-ESRGAN/releases) та розпакувати в каталог, де знаходиться виконуваний файл Real-ESRGAN GUI. - Артефакти в GitHub Actions побудовані на основі останніх коммітів Вони також не містять виконуваного файлу та моделей Real-ESRGAN-ncnn-vulkan.
- Використовуйте Python 3.10 або новішої версії, якщо ви хочете запустити Real-ESRGAN GUI з коду. Не забудьте встановити залежності за допомогою
pip install -r requirements.txt
та розпакувати Real-ESRGAN-ncnn-vulkan до репозиторію перед запускомpython main.py
. - Можливо, Real-ESRGAN GUI можна запустити і в інших дистрибутивах Linux, але я не перевіряв.
⚠️ Оскільки у мене немає жодного пристрою під управлінням macOS, можливо, я не зможу вирішити проблеми, пов'язані з macOS.
На додаток до функцій, що підтримуються Real-ESRGAN-ncnn-vulkan, Real-ESRGAN GUI також підтримує ці додаткові функції:
- Масштабування до довільного розміру
- Real-ESRGAN-ncnn-vulkan може збільшувати вхідне зображення лише у фіксованому співвідношенні 2-4x (залежно від обраної моделі).
- Real-ESRGAN GUI використовує Real-ESRGAN-ncnn-vulkan для багаторазового збільшення вхідного зображення, а потім зменшує вихідне зображення до потрібного розміру за допомогою загальних алгоритмів масштабування зображень.
- Наприклад, щоб збільшити зображення 640x360 до 1600 у ширину за допомогою моделі 2x, його буде двічі збільшено до 1280x720 та 2560x1440, а потім зменшено до 1600x900.
- За замовчуванням для зменшення дискретизації зображення використовується алгоритм Ланчоса. Також доступні інші алгоритми.
- Збільшення масштабу GIF-зображень
- Розбиває анімований GIF на кадри і зчитує їх тривалість. Збільшує масштаб кадрів по одному, а потім об'єднує їх у збільшене анімоване GIF-зображення.
- Підтримка перетягування
- Перетягуйте графічні файли або каталоги на графічний інтерфейс, і вхідний і вихідний шлях будуть встановлені автоматично.
- Вихідний шлях буде містити суфікс, такий як x4, w1280, h1080, залежно від обраного режиму зміни розміру.
- Темна тема
- Виберіть світлу або темну тему відповідно до системних налаштувань.
- Виявлення здійснюється за допомогою [darkdetect] (https://github.com/albertosottile/darkdetect).
- Не доступно на macOS?
- Багатомовна підтримка
- Наразі підтримуються спрощена та традиційна китайська та англійська мови.
- Використовує
locale.getdefaultlocale
для визначення мови. - За замовчуванням повертається до англійської мови, якщо перекладений текст відсутній.
- Ви можете додавати або покращувати переклади, редагуючи [
i18n.ini
] (https://github.com/TransparentLC/realesrgan-gui/blob/master/i18n.ini). Внески дуже вітаються!
Nearest Neighbor | Lanczos | waifu2x-caffe | Real-ESRGAN |
---|---|---|---|
Nearest Neighbor | Lanczos | waifu2x-caffe | Real-ESRGAN |
---|---|---|---|
Nearest Neighbor | Real-ESRGAN |
---|---|
Nearest Neighbor | Real-ESRGAN |
---|---|
- зразки waifu2x-caffe масштабуються з використанням моделей
UpResNet10
таUpPhoto
з рівнем зменшення шуму 3 та увімкненим TTA. - Зразки Real-ESRGAN збільшено за допомогою моделей realesrgan-x4plus-anime та realesrgan-x4plus з увімкненим TTA.
- Оригінальні зображення збільшено до 4x.
- Відображені GIF-файли стискаються з втратами для зменшення розміру файлу.
Я рекомендую realesrgan-x4plus
для реальних фотографій і realesrgan-x4plus-anime
для аніме-зображень.
Для різних версій збільшення однієї і тієї ж моделі рекомендується вибирати версію, яка дорівнює або перевищує співвідношення, в якому ви хочете збільшити зображення. Наприклад, якщо модель має версії x2 і x4, і ви хочете збільшити зображення в 3 рази, вам слід вибрати версію x4.
Моделі з animevideo
у назві файлу призначені для аніме-відео. Ці моделі мають невеликий розмір і більш високу швидкість обробки (приблизно в 1,5-3 рази в порівнянні з realesrgan-x4plus-anime
). Однак я рекомендую VapourSynth та його Real-ESRGAN plugin, якщо ви хочете підвищити якість відео. Графічний інтерфейс Real-ESRGAN не розглядає можливість додавання функцій, пов'язаних з обробкою відео.
Відповідає параметру Real-ESRGAN-ncnn-vulkan -t tile-size
. Ви можете вибрати "авто" у більшості випадків, або використовувати більше значення, якщо у вас достатньо VRAM. Більший розмір плитки може дещо підвищити швидкість обробки та якість зображення, хоча це може бути неочевидно.
Ви можете перевірити різницю між двома зображеннями, збільшеними до 4x з розміром плитки 32 і 256 з 256x256 тестового зображення, що постачається з Real-ESRGAN-ncnn-vulkan.
Дещо покращує якість збільшеного зображення, але насправді ефект дуже незначний. Швидкість обробки стане надзвичайно низькою, якщо увімкнути режим TTA, тому вмикати його не рекомендується.
Я завантажив кілька аніме-зображень розміром більше 1200 пікселів, щоб провести експеримент: зменшити розмір зображення до 1/4, потім збільшити його за допомогою моделі realesrgan-x4plus-anime
, виміряти якість збільшення за допомогою SSIM у порівнянні з вихідним зображенням. SSIM зображення з підтримкою TTA лише приблизно на 0,002 вище, ніж зображення без підтримки TTA. Неозброєним оком цю різницю важко помітити.
GIF-файли підтримують лише палітру до 256 кольорів RGB і встановлюють один з них прозорим (необов'язково), що означає відсутність напівпрозорості. Для GIF-файлів з прозорими частинами це створює дві проблеми.
- Альфа-канал зображення має тільки два значення, 0 і 255, і може бути представлений зображенням тільки з чорно-білими кольорами, з сильними нерівностями.
- Колір прозорої частини на каналі RGB стає непередбачуваним після того, як кожен кадр GIF-файлу буде виділений і збережений у форматі PNG, WebP тощо. Наприклад, колір, встановлений в якості прозорого в GIF спочатку #FFFFFF, але після збереження кадру може стати #000000, хоча це не має ніякого значення, якщо ви просто подивитеся на зображення.
При збільшенні масштабу GIF-зображень за допомогою Real-ESRGAN безпосередньо (Приклад), вплив двох вищевказаних проблем є:
- Якість збільшеного альфа-каналу дуже низька, що призводить до появи нерівного кільця навколо масштабованого кадру.
- Колір нерівного кільця непередбачуваний, наприклад чорний в деяких випадках і виглядає дуже негарно.
Ця опція була додана для вирішення цих проблем. Вона додає наступні дії:
- Примусити колір прозорої частини бути білим при розбитті кожного кадру GIF-файлу.
- Додайте розмиття за Гаусом 3px і застосуйте криву контрастності, щоб згладити зазубрені кільця в альфа-каналі. Потім розмийте альфа-канал до чорно-білого зображення зі значеннями 0 і 255.
Ця опція є експериментальною і рекомендується включати її тільки при масштабуванні GIF-файлів з прозорістю.
Якщо увімкнено стиснення з втратами і вихідним форматом є JPEG або WebP, ви можете керувати якістю стиснення вихідного зображення до заданого значення. Якщо на вході є каталог, на якість стиснення на виході також буде впливати ця опція при збільшенні масштабу зображень JPEG або WebP в каталозі.
Якщо ця опція не включена, то при виведенні у форматі WebP використовується стиснення без втрат.
Файл config.ini
в каталозі репозиторію або в каталозі, де знаходиться виконуваний файл Real-ESRGAN GUI, без цього файлу використовується конфігурація за замовчуванням.
Конфігурація буде збережена автоматично при виході з програми.
- Дякую @blacklein @hyrulelinks за надання допомоги у використанні та встановленні цього додатку на macOS.