MMEditing

Материал из wolfram
Версия от 17:52, 19 июля 2020; Владимир (обсуждение | вклад) (Новая страница: «[https://github.com/open-mmlab/mmediting MMEditing] - это набор инструментов для редактирования изображений и в...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

MMEditing - это набор инструментов для редактирования изображений и видео с открытым исходным кодом, основанный на PyTorch. Это часть проекта OpenMMLab.

А если своими словами то нейросеть для масштабирования изображений. Это первая сеть которую я поднял у себя на железе. И это первый опыт работы с подобными вещами.

Как то в интернете развелось куча подобных вещей, люди постоянно выкатывают всяческие "мемы и нарезки старых видео" в высоком разрешении. Меня это очень сильно задевает, всегда мечтал о подобных софтинах, очень часто нужно увеличить изображения.

Но когда задался вопросом как и с помощью чего, получил ответ: никак, иди учи python, linux, все сложно... И так далее... странно, что не один блогер, выкладывающий такие видео, даже не скажет с помощью каких программ это делается.

В одном из таких роликов, был комментарий, возможно от автора с перечислением названий инструментов: DIAN, Topaz AI, ESRGAN, Waifu2x, DeOldify, Anime 4K.

От этой информации и начнем танцевать.

DIAN - как оказалось AI для повышения частоты кадров, нужная штука, но не в этот раз. Обязательно подниму.

Topaz AI - коммерческий пакет софта, огромный плюс в дружелюбии. Есть под Windows, ставиться как обычная программа, выбираешь изображение получаешь результат. Но есть куча минусов, невозможно применять для массива изображений. То есть видео обработать, практически нереально. Полностью закрыта.

ESRGAN - на эту штуку сразу положил глаз, очень уж красивые у них результаты.

Waifu2x - есть под windows, очень кривая и сырая софтина. К сожалению с изображениями она себя показала очень плохо. Практически нет профита от масштабирования. Но вот с графикой работает на высоком уровне. Отлично подойдет для комиксов.

Anime 4K - это тоже самое что и Waifu2x как раз направлено на аниме. Тоже хорошая AI но пока не совпадает, с поставленной задачей.

DeOldify - эта AI для колонизации, считается топовой, но опять же у меня нет задачи восстановления цвета.


Хорошо вот и начнем с ESRGAN. Года я зашел на github.com, понял, что я вообще не понимаю, что делать. Совершенно информативно, инструкций просто нет. Точнее они есть... но... считай их нет.

ОС - Все подобные системы полностью развертываются на linux, ни какой речи о интерфейсах, собирай сам, запускай сам, конфигурируюй текстом. Русский? Не не слышал...

Но все же в 2020 мы живем. И знал я что есть в Windows некий linux, именуется WSL. что он якобы работает нативно, как на железе. Дай опробую. И каково было моё удивление, оказывается нас обманули, linux то ограниченный. И не о каких аппаратных фишках и не слышно.

Что за аппаратные фишки? Ну это же AI - "искусственный интеллект", нейросеть. И исполняется это все на тензорных вычислительных блоках. Такие как раз есть в видеокартах, а 20 серии так вообще, всем проели мозги. В общем CUDA. Конечно же можно выполнять все и на CPU. Точнее не всегда, не все AI лежащие на github могут на CPU.

Начал искать что то готовое. Оказывается есть такая штука как docker, это что то вроде виртуальной машины но, прямо из ресурсов материнской системы. Изолирована среда, которая потребляет ресурсы только для выполнения своей внутренней задачи.

Docker — программное обеспечение для автоматизации развёртывания и управления приложениями в средах с поддержкой контейнеризации.

Как оказалось с выходом Windows 2004 обновился и WSL до версии 2, это дало поддержку Docker в Windows. С начало наткнулся на программу интегрирующуюся в Windows, находится в магазине windows. Интересно то что все команды с Docker выполняются нативно в командной строке Windows Powershell. Поставил докер.

Первой AI по масштабированию изображений мне попалась alexjc/neural-enhance - она есть в образе для Docker, но её уже 4 года. Очень многое изменилось, в обще работать она не захотела. Заработала только в режиме CPU. Один кадр обрабатывался приемно 40 - 50 секунд. В целом работать можно, но не о каком видео с такой производительностью и речи быть не может.

О том как установить alexjc/neural-enhance, я расскажу здесь.

Следующей AI мне попалась MAX-Image-Resolution-Enhancer, первая AI которая у меня заработала в Docker и дала результаты. Но она также заработала в режиме CPU. Но скорость обработки даже на CPU была неплохой 3 - 4 секунды кадр 576p.

От том как установить и работать с MAX-Image-Resolution-Enhancer я расскажу здесь


В тоге, я задался вопросом а как же все таки быть с CUDA, и вычислениями силой видеокарты. Изучение интернета привело меня на сайт NVIDIA как ни странно. Страницу рассказывающую как заставить работать CUDA и вообще аппаратное ускорение в WSL. Я начал не особо вчитываясь выполнять все что там описано, но четно. Оказалось в мануале написано, что работать такая тема будет только на версии Windows 20145, на тот момент