Совершенно случайно наткнулся на этот мультфильм - раньше его даже не видел. Однако, он мне понравился настолько, что решил прогнать его через нейросети, улучшив качество и цвет - да, в этот раз я всё же решил поработать с цветовой гаммой. А еще немного со звуком, самую малость :)
Я уже давненько не выкладывал ничего нового - сейчас делаю огромный заказ и не знаю, когда закончу, даже пришлось арендовать дополнительные мощности. По ходу дела познакомился с одним челом, который помог разобраться с Hybrid, Vapoursyhth и кучей разных софтин для достижения запредельного качества видео ценой увеличения времени на обработку в десятки раз.
Поэтому в качестве благодарности я решил немного его попиарить, а заодно порадовать вас суперкачественным контентом на его канале :)
Первым делом попробовал dandere2x (https://github.com/akai-katto/dandere2x), он основан на waifu2x. Итог: тестовый отрывок (20 секунд) обработан на машине 1 за ~5 минут, покадровое сравнение выгоды относительно просмотра видео без апскейла не выявило. Инструкции по установке, которыми я пользовался, если кому интересно:
-----
После этого я обнаружил Anime4K (https://github.com/bloc97/Anime4K), апскейлер в реальном времени, основной минус - работа с ограниченным кол-вом проигрывателей (1-3 в зависимости от ОС). Инструкции по установке и применению находятся по ссылке выше в зависимости от проигрывателя. Но я пользуюсь SMPlayer, так что вот инструкция:
1) Следуем инструкции mpv
2) Открываем файл input.conf, открываем настройки SMPlayer (ПКМ - сервис - настройки - дополнительно - MPlaeyr/mpv) и вставляем необходимый нам профиль в поле "параметры"
Например: вы хотите профиль "A", в input.conf вы видете строку:
CTRL+1 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A (HQ)"
В параметры вы копируете только то, что находится в кавычках (вместе с кавычками) после слова set и до слова show-text, то есть:
Естесственно комбинации клавиш для переключения профилей в таком случае не будет.
Стоит упомянуть, что Anime4K не сохраняет апскельнутую версию, так что каждый раз будет апскелить как в первый.
-----
Там же на сайте Anime4K было сравнение разных алгоритмов:
Очевидно, что после такого я захотел установить real-ESRGAN, потому что я хотел бы как раз сохранить себе апскельнутую версию, плюс он всё таки визуально получше.
В результате визуально качество Anime4K (я использовал пресет для higher-end gpu) и Real-ESRGAN довольно близко, но некоторую разницу при сравнении заметить можно.
Обработка тестового отрезка (20 секунд) на машине 1 заняла ~56.5 минут (заработала только на CPU), на машине 2 - ~2 минуты. Были мысли перед постом проверить работу через ZLUDA (https://github.com/vosen/ZLUDA) недавно вышедшую прослойку между CUDA и видеокартами AMD, но на Debian пока нет ROCm, так что когда-нибудь...
Дальше инструкция по установке Real-ESRGAN на Win10 и Linux и бонусные батники для винды для удобства.
Собственно инструкция:
1) Установка ffmpeg на Win10 (на linux по идее предустановлено)
# /d указывает на то, что директория будет на другом диске (G)
- Создать venv
virtualenv anyname-venv
# Вместо anyname-venv можно указать любое допустимое в win10 имя
Linux:
- Открыть терминал
- Перейти в директорию, где хотите создать venv
cd ~/AI
# ~ означает домашнюю директорию пользователя
- Создать venv
python3 -m venv ./.anyname-venv
# Первая точка означает текущую директорию
# Вторая точка - часть названия, просто файлы и папки, начинающиеся с точки считаются скрытыми
# Вместо .anyname-venv можно указать любое допустимое в linux имя
3) Активация venv (Нужно будет делать каждый раз, когда захотите запустить Real-ESRGAN) (делается из директории в которой мы вводили предыдущую команду)
Windows:
- Заходим внутрь
cd anyname-venv
cd Scripts
- Активируем
activate
Linux:
source ./.anyname-venv/bin/activate
4а) Переходим в папку куда мы скачали и разархивировали Real-ESRGAN
# параметр --suffix указывает какой суффикс будет у выходного файла, по умолчанию: out. Например: исходный файл: "name.mp4", файл на выходе: "name_out.mp4" или "name_esrgan.mp4" в случае этой команды.
# параметр -i говорит какой файл обрабатывать (по идее можжно обрабатывать несколько файлов и всё такое, но оно как-то криво работает, так что только так)
# итоговые файлы будут сохраняться в папке .../Real-ESRGAN/results
6) Для WIn10 из гугл диска можно взять один из файлов с расширением .bat, чтобы облегчить себе запуск нескольких видео сразу
inference_realesrgan_video-CPU.py и inference_realesrgan_video-CUDA.py переименовать в inference_realesrgan_video.py и заменить оригинал.
Real-ESRGAN-autostart(video).bat запускает в обработку все файлы, которые находятся в папке "G:/AI/Real-ESRGAN-master/inputs/". Его надо открыть в том же блокноте и отредактировать пути на соответствующие вашим.
Отличный комментарий!