Как апскелить у себя дома / инструкция :: апскейл :: нейросеть

нейросеть песочница апскейл инструкция 

Как апскелить у себя дома

Краткая предыстория: решил посмотреть первый сезон покемонов, но захотелось, чтоб прям всё красивишно в 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) и вставляем необходимый нам профиль в поле "параметры"

i □ л
SMPlayer - Настройки
Л Основные Устройства Быстродействие Аь£ Субтитры Интерфейс Клавиатура и мыи. Плейлист ТВ и радио Обновления Сеть
Дополнительно
Дополнительно MPlayer/mpv Сеть Журналы
Параметры для МР1ауег/тру
Здесь вы можете указать параметры и фильтры МР1ауег/тру.
Параметры:

Например: вы хотите профиль "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 было сравнение разных алгоритмов:

Bicubic
FSRCNNX
Anime4K-GAN
waifu2x
Real-ESRGAN,нейросеть,песочница,апскейл,инструкция

Очевидно, что после такого я захотел установить 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'))

- Проверить, что всё установилось:

PS C:\Users\shtur> choco
Chocolatey v2.2.2
Please run 'choco -?' or 'choco <command> -?' for help menú.,нейросеть,песочница,апскейл,инструкция

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 имя

Microsoft Windows [Version 10.0.19045.4046]
(с) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.
С :\Windows\system32>cd /d "G:/AI"
G:\AI>virtualenv anyname-venv
created virtual environment CPython3.10.6.final.0-64 in 1120ms
creator CPython3Windows(dest=G:\AI\anyname-venv,

Linux:

- Открыть терминал

- Перейти в директорию, где хотите создать venv

cd ~/AI

# ~ означает домашнюю директорию пользователя

- Создать venv

python3 -m venv ./.anyname-venv

# Первая точка означает текущую директорию

# Вторая точка - часть названия, просто файлы и папки, начинающиеся с точки считаются скрытыми

# Вместо .anyname-venv можно указать любое допустимое в linux имя

3) Активация venv (Нужно будет делать каждый раз, когда захотите запустить Real-ESRGAN) (делается из директории в которой мы вводили предыдущую команду)

Windows:

- Заходим внутрь

cd anyname-venv

cd Scripts

- Активируем

activate

:\AI>cd anyname-venv :\AI\anyname-venv>cd Scripts :\AI\anyname-venv\Scripts>activate (anyname-venv) G:\AI\anyname-venv\Scripts>,нейросеть,песочница,апскейл,инструкция

Linux:

source ./.anyname-venv/bin/activate

4а) Переходим в папку куда мы скачали и разархивировали Real-ESRGAN

p master
P 1 Branch O 19 Tags
xinntao update readme
D .github/workflows M .vscode M assets li docs
li experiments/pretrained_models
<> Code ▼
	0 Clone	©
add github release	HTTPS GitHubCLI	
add no-response v	https://github.com/xinntao/Real-ESRGAN.git	) ^
	Clone using the web URL.	
Update

Windows:

cd G:\AI\Real-ESRGAN-master

Linux:

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)

PyTorch Build
Stable (2.2.0)
Preview (Nightly)
Your OS Package Language Compute Platform
Run this Command:
Linux	Mac
Conda	Pip
Python	
CUDA 11.8	CUDA 12.1
LibTorch C++/Java ROCm 5.7
Windows
Source
CPU
iîii»WiHiaii
лгптдвиД
torch torchvision torchaudio

- Копируем и выполняем выданную команду

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/". Его надо открыть в том же блокноте и отредактировать пути на соответствующие вашим.


Спасибо за внимание!


Подробнее
Dandere2x ai video upscaler linux install and overview
i □ л SMPlayer - Настройки Л Основные Устройства Быстродействие Аь£ Субтитры Интерфейс Клавиатура и мыи. Плейлист ТВ и радио Обновления Сеть Дополнительно Дополнительно MPlayer/mpv Сеть Журналы Параметры для МР1ауег/тру Здесь вы можете указать параметры и фильтры МР1ауег/тру. Параметры: AutoDownscalePre_x4.glsl:—/shaders/Anime4K_Upscale_CNN_x2_M.glsl|| Видеофильтры: Аудиофильтры: □ Запускать MPlayer/mpv в отдельном окне 0 Уведомлять о сбоях MPlayer/mpv Отправлять параметр -playlist в MPlayer (небезопасно) < ? Справка >/ОК ■У Применить х Отмена
Bicubic FSRCNNX Anime4K-GAN waifu2x Real-ESRGAN
PS C:\Users\shtur> choco Chocolatey v2.2.2 Please run 'choco -?' or 'choco <command> -?' for help menú.
Microsoft Windows [Version 10.0.19045.4046] (с) Корпорация Майкрософт (Microsoft Corporation). Все права защищены. С :\Windows\system32>cd /d "G:/AI" G:\AI>virtualenv anyname-venv created virtual environment CPython3.10.6.final.0-64 in 1120ms creator CPython3Windows(dest=G:\AI\anyname-venv, clear=False, no_vcs_ignore=False, global=False) seeder FromAppData(download=False, pip=bundle, setuptools=bundle, wheel=bundle, via=copy, app_data_dir=C:\Users\shtur\ AppData\Local\pypa\virtualenv) added seed packages: pip==23.3.2, setuptools==69.0.3, wheel==0.42.0 activators BashActivator,BatchActivator,FishActivator,NushellActivator,PowerShellActivator,PythonActivator
:\AI>cd anyname-venv :\AI\anyname-venv>cd Scripts :\AI\anyname-venv\Scripts>activate (anyname-venv) G:\AI\anyname-venv\Scripts>
p master P 1 Branch O 19 Tags xinntao update readme D .github/workflows M .vscode M assets li docs li experiments/pretrained_models <> Code ▼ 0 Clone © add github release HTTPS GitHubCLI add no-response v https://github.com/xinntao/Real-ESRGAN.git ) ^ Clone using the web URL. Update ReadMe (# update readme, vC (D Download ZIP add readme for training 3 years ago
PyTorch Build Stable (2.2.0) Preview (Nightly) Your OS Package Language Compute Platform Run this Command: Linux Mac Conda Pip Python CUDA 11.8 CUDA 12.1 LibTorch C++/Java ROCm 5.7 Windows Source CPU iîii»WiHiaii лгптдвиД torch torchvision torchaudio Т!ии>1)Д
нейросеть,песочница,апскейл,инструкция
Еще на тему
Развернуть

Статья норм, заливай английскую версию куда-нибудь на gist

Ну и раз уж напердолился с mpv, ждем статьи про 60 fps и motion interpolating, хуле.

А что там пердолится? Anime 4K спокойно ставится на mpv в 2 клика...

У меня есть гит где там я там всё собрал в кучку. Качаешь 2 архива распаковываешь, юзаешь...

https://github.com/Donate684/mpv-anime



Даже писал тут когда то...

https://ar.reactor.cc/post/5599393



А если есть условная карта топ сегменте в виде 3090/4090

Есть...

https://github.com/the-database/mpv-upscale-2x_animejanai

Там есть скрипт для пакетного преобразования файла в 4к либо что бы юзать это всё в реалтайме... Но карта нужна хорошая...

60 фпс и выше в аниме не приживётся там слишком резкое переключение между сценами.



В целом anime4k за глаза на текущий момент и работает в целом на весьма слабом железе.

Если мне понадобится ими воспользоваться, то, вероятно, будет и статья. Хотя на мой взгляд пихать 60 кадров туда, где всё рассчитано под 24 - ну такое

Nvidia в последних драйверах апскейлер уже встроила - работает на лету в хроме (Youtube и подобное) и VLC (который нужно скачать с их сайта) или, например я в PotPlayer завёл поддержку. Единственное - видекоарта должна быть RTX.

Tayper Tayper 21.02.202422:55 ответить ссылка 0.0
20хх карты, кстати - в пролете.
Только с 30-й серии
Там оно есть, для аниме бесполезно разницу даже при стоп кадре найти сложно. Оно больше по ощущениям от шумов чистит.
Ещё один узнал про нейросети, спустя несколько лет.
Не узнал, а понадобилось воспользоваться, разница есть, но не всем доступна для понимания
Только зарегистрированные и активированные пользователи могут добавлять комментарии.
Похожие темы

Похожие посты
Как котенку построили дом (1963) 2160p 50fps (улучшенное качество),Film & Animation,,Пока что последний эксперимент с увеличением частоты кадров, не всем нравится.
подробнее»

Как котенку построили дом Союзмультфильм Мультфильмы,Мультсериалы, Cartoons апскейл Metracryg_upscale

Как котенку построили дом (1963) 2160p 50fps (улучшенное качество),Film & Animation,,Пока что последний эксперимент с увеличением частоты кадров, не всем нравится.
(ft' You
Give me visual step-by-step instructions for creating an origami bunny rabbit
® ChatGPT
Here are the visual step-by-step instructions for creating an origami bunny rabbit. Each step is illustrated to guide you through the process. You can follow these images to create your own origami b
подробнее»

ChatGPT нейронные сети без перевода оригами инструкция как нарисовать сову chatGPT neural networks origami instruction how to draw an owl

(ft' You Give me visual step-by-step instructions for creating an origami bunny rabbit ® ChatGPT Here are the visual step-by-step instructions for creating an origami bunny rabbit. Each step is illustrated to guide you through the process. You can follow these images to create your own origami b
Around The World in 1896 Colorized (4K 60fps) New York, London, Jerusalem, Paris ++ пидоры, помогите Çf' You
Give me visual step-by-step instructions for creating an origami bunny rabbit
m ChatGPT