AI UPSCALE
»нейросеть песочница апскейл инструкция
Как апскелить у себя дома
Краткая предыстория: решил посмотреть первый сезон покемонов, но захотелось, чтоб прям всё красивишно в 4к, потому начал искать варианты.
Машина 1: Стационарный ПК, MX Linux, R7 7700X, RX 7900XTX, 32 ГБ ОЗУ
Машина 2: Ноутбук Win10, R7 5800H, RTX 3060 Laptop, 16 ГБ
-----
Первым делом попробовал 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, то есть:
"~~/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"
И добавляете перед этим: --glsl-shaders=, получая что-то вроде этого:
--glsl-shaders="~~/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"
3) Profit
Естесственно комбинации клавиш для переключения профилей в таком случае не будет.
Стоит упомянуть, что 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 по идее предустановлено)
1а) Открыть powershell (под администратором)
1б) Установить chocolatey (https://chocolatey.org/install#individual)
- Ввести команду:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
- Проверить, что всё установилось:
1в) Установить ffmpeg
- Ввести команду:
choco install ffmpeg -y
1д) Закрыть powershell
2) Создание python3 virtual environment (venv) (необходим установленный python3)
Windows:
- Открыть командную строку (cmd) (под администратором)
- Ввести команду, чтобы установить virtualenv:
pip install virtualenv
- Перейти в директорию, где хотите создать venv
cd /d "G:/AI"
# /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
Windows:
cd G:\AI\Real-ESRGAN-masterLinux:
cd ~/AI/Real-ESRGAN-master
4б) Устанавливаем необходимые библиотеки
pip install basicsr facexlib gfpgan ffmpeg ffmpeg-python
Windows:
pip install -r G:\AI\Real-ESRGAN-master\requirements.txt
Linux:
pip install -r ~/AI/Real-ESRGAN-master/requirements.txt
# -r указывает, что мы передадим файл со списком библиотек
# файл находится в скачанной директории
python setup.py develop
4в) Для владельцев ВК Nvidia отдельно устанавливаем pytorch с поддержкой CUDA
- Переходим на сайт https://pytorch.org/get-started/locally/
- Выбираем ОС, версию Cuda и установщик (pip)
- Копируем и выполняем выданную команду4г) Правим код библиотек, чтобы он заработал
- Открываем файл ...\anyname-venv\Lib\site-packages\basicsr\data\degradations.py любым текстовым редактором (блокнот подходит)
Правим 8-ую строчку, из
from torchvision.transforms.functional_tensor import rgb_to_grayscale
Делаем
from torchvision.transforms.functional import rgb_to_grayscale
- Открываем файл ...\anyname-venv\Lib\site-packages\ffmpeg\_probe.py (Необязательно. Обязательно для обработки .mkv)
Правим 16-ую строчку, из
from torchvision.transforms.functional_tensor import rgb_to_grayscale
Делаем
args = [cmd, '-show_format', '-show_streams', '-of', 'json', '-count_frames']
# Чтобы для каждого видеофайла "вручную" считалось кол-во кадров, потому что, например, в .mkv нет данных о кол-ве кадров
4д) Правим код Real-ESRGAN, чтобы он заработал (или берём готовые файлы из гугл диска)
Если добавляли ручной подсчёт кол-ва кадров:
- Открываем файл ...\Real-ESRGAN-master\inference_realesrgan_video.py
Правим 35-ую строчку, из
ret['nb_frames'] = int(video_streams[0]['nb_frames'])
Делаем
try:
ret['nb_frames'] = int(video_streams[0]['nb_frames'])
except(KeyError):
ret['nb_frames'] = int(video_streams[0]['nb_read_frames'])
# Обращаем внимание на отступы (их можно сделать нажатием кнопки Tab)
Если запускаем на процессоре:
- Открываем файл ...\Real-ESRGAN-master\inference_realesrgan_video.py
Правим 272-ую (275-ую, если делали предыдущую правку) строчку, из
torch.cuda.synchronize(device)
Делаем
#torch.cuda.synchronize(device)
Правим 291-ую (294-ую) строчку, из
if num_process == 1:
Делаем
if num_process <= 1:
5) Запускаем обработку видео (желательно из папки Real-ESRGAN)
python inference_realesrgan_video.py --fp32 --suffix esrgan -i G:\AI\Real-ESRGAN-master\inputs\[Timber_Maniacs]_Pokemon_043_(041)_[Rus-Eng]_[XviD]_[219F48A8].mkv
# параметр --fp32 нужен, чтобы не было ошибки
# параметр --suffix указывает какой суффикс будет у выходного файла, по умолчанию: out. Например: исходный файл: "name.mp4", файл на выходе: "name_out.mp4" или "name_esrgan.mp4" в случае этой команды.
# параметр -i говорит какой файл обрабатывать (по идее можжно обрабатывать несколько файлов и всё такое, но оно как-то криво работает, так что только так)
# итоговые файлы будут сохраняться в папке .../Real-ESRGAN/results
6) Для WIn10 из гугл диска можно взять один из файлов с расширением .bat, чтобы облегчить себе запуск нескольких видео сразу
7) Profit
-----
Гугл диск: https://drive.google.com/drive/folders/1kxS7yC750WqSBmvGQyFVrEMTCFP9S96w?usp=sharing
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/". Его надо открыть в том же блокноте и отредактировать пути на соответствующие вашим.
Спасибо за внимание!
upscale видео камень Мультфильмы 4K uhd 90е AI 3840x2160 Камень Сновидений Сновидений
Камень Сновидений (The Dreamstone) 26 серия первого сезона, 4K AI upscale
26 серия британского мультфильма. Полностью отреставрирована, разрешение UHD, убраны шумы. Восстановлены цвета. Дубляж от "РТР"
Мультфильмы upscale видео The Dreamstone 4K uhd 90е 3840x2160 AI
Камень Сновидений (The Dreamstone) серия 17 восстановленный видеоряд, UHD 3840x2160
Семнадцатая серия британского мультфильма. Полностью отреставрирована, разрешение UHD, убраны шумы. Восстановлены цвета. Дубляж от "РТР"
Мультфильмы сезон 1 upscale видео The Dreamstone 4K серия 5 uhd
Камень Сновидений (The Dreamstone) 6 серия первого сезона, 4K AI upscale
Шестая серия мультфильма "Камень Сновидений" с восстановленным видеорядом. Традиционно миньоны Зордрака пытаются захватить Камень Сновидений а им, в свою очередь противостоят Руфус и Эмберли – храбрые нупы.
Мультфильмы upscale видео Камень Сновидений 4K uhd 90е AI 3840x2160
Камень Сновидений (The Dreamstone) серия 22 восстановленный видеоряд, UHD 3840x2160
22 серия британского мультфильма. Полностью отреставрирована, разрешение UHD, убраны шумы. Восстановлены цвета. Дубляж от "РТР"
Мультфильмы upscale видео Камень Сновидений 4K uhd 90е AI 3840x2160
Камень Сновидений (The Dreamstone) серия 21 восстановленный видеоряд, UHD 3840x2160
21 серия британского мультфильма. Полностью отреставрирована, разрешение UHD, убраны шумы. Восстановлены цвета. Дубляж от "РТР"
Мультфильмы upscale видео Камень Сновидений 4K uhd 90е AI 3840x2160
Камень Сновидений (The Dreamstone) серия 20 восстановленный видеоряд, UHD 3840x2160
20 серия британского мультфильма. Полностью отреставрирована, разрешение UHD, убраны шумы. Восстановлены цвета. Дубляж от "РТР"