Я как раз сделал мод графики для первой готики.
А недавно, решил схожим методом улучшить графику в любимом с детства мультфильме —
"Тайна третьей планеты".
Тут кадры-сравнения.
А ниже результат:
Расскажите, стоит ли этим заниматься. Надо ли это кому-то? Или классику лучше не трогать?
Использовались следующие технологии:
- FFMPEG
- ESRGAN
- Gigapixel AI
А теперь немного о том, как это делалось, ведь мы на }{абре.
Смотрим доступные форматы на ютубе
youtube-dl -F https://www.youtube.com/watch?v=ИДЕНТИФИКАТОР
Качаем нужные форматы (аудио и видео)
youtube-dl -f 11 https://www.youtube.com/watch?v=ИДЕНТИФИКАТОР
Проверяем фреймрейт файла
ffprobe -v error -select_streams v -of default=noprint_wrappers=1:nokey=1 -show_entries stream=r_frame_rate input.mp4
Раскадровка
ffmpeg -i "input.mp4" -start_number 0 -vf fps=25 "convert/capture-%002d.png"
Далее стандартная процедура увеличения кадров с помощью нейросети.
Склеивание из png + аудио
- без заданного разрешения
- ffmpeg -framerate 25 -i convert/capture-%002d.png -vb 20M -i audio.webm -vcodec mpeg4 -y "ffmpegtest.mp4"
- с заданным разрешением
- ffmpeg -framerate 25 -s 900x720 -i convert/capture-%002d.png -vb 20M -i audio.webm -c:v libx264 -pix_fmt yuv420p -crf 23 -y "ffmpegtest3.mp4"
Комментарии (97)
maedv
22.04.2019 17:53+2На скринах разница конечно заметна в лучшую сторону. А на видео по-моему есть изменения только на крупных планах
irsick
22.04.2019 18:34+2Спасибо за видео, выглядит гораздо приятнее.
Видео на YouTube очень сильно пожато. Для лучшего результата можно поискать исходник покачественнее. В идеале — архив Гостелерадио фонда, но реально — какой-нибудь официальный выпуск на DVD или даже BlueRay.
red_andr
23.04.2019 20:55Если был бы Blue-Ray, то он скорее всего уже в Full HD. Но нет, есть только ремастированный DVD. И да, качество у него не сильно выше чем на Youtube.
konraddd
23.04.2019 23:29Советские мульты вообще кто-нить мэйнтэйнит..? Мне казалось они умерли вместе с государством(
200sx_Pilot
22.04.2019 18:50Интересно, осталась ли мастер-плёнка? или первая копия?
Сравнить бы с ней.slimper Автор
22.04.2019 19:30Я написал в Союзмультфильм — в социалки и на оф.почты с сайта, но меня полностью проигнорировали. Думаю, что они будут в этом заинтересованы только при получении признания этой темы в обществе.
koluka
22.04.2019 20:18-1Думаю, что они будут в этом заинтересованы только при получении
признания этой темы в обществевыгоды, желательно мимо кассы. И да, выглядит лучше…
Artyom_Shegeda
23.04.2019 16:29+2вы должны радоваться, что с вас не запросили несколько сотен тысяч североамериканский рублей за нарушение прав на распространение медиаконтента.
slimper Автор
23.04.2019 18:27Я никогда не собирался на этом зарабатывать, так что моя совесть чиста. Плюс YouTube еще во время обработки видео пометил контент, как принадлежащий определенному правообладателю, и вся монетизация будет отходить ему. Меня устраивает такой вариант.
slimper Автор
24.04.2019 14:36Хочу сообщить, что вчера 23.04.2019 мне ответили из Союзмультфильма.
Суть письма в следующем (моими словами): Спасибо за интерес к нашему контенту, сейчас несколько подрядчиков делают upscale, и реставрацию изображения произведений до 2К и 4К. Работы ведутся с небольшим приоритетом и имеют академический интерес.
Будем ждать официальных upscale-проектов!
Rober
22.04.2019 19:14За мод к Готике огромное спасибо. Но в этом конкретном случае улучшение не слишком очевидно и в общем смотреть не очень приятно, потому что от кадра к кадру качество сильно меняется. Линии слипаются и разлипаются, особенно это заметно на углах и вблизи круглых объектов. Глаза персонажей — яркий тому пример. В статике выглядит хорошо.
katok535
22.04.2019 23:02Соглашусь. Плюс, простые, вроде бы, дефекты — дрожание объектов (кажется, что достаточно просто удержать для алгоритма — особенно наглядно на тексте, титрах). Ну, и частота кадров — плавности не хватает.
В любом случае, спасибо автору за дельное начинание!
Sly_tom_cat
22.04.2019 19:20Если посмотреть на полный экран то разница более чем видна.
Хотя конечно по некоторым местам видны огрехи. Так например на среднем плане буква А в названии корабля ПЕГАС довольно сильно стала смахивать на Л. В старой версии там было мыло в котором название скорее угадывалось чем читалось, тут оно читается но А искажается.
В целом смотреть приятно, и думаю что многие мультики стоит прогнать такими алгоритмами ибо на больших экранах их смотреть сейчас очень печально (я частично с этим связываю малую популярность добротных старых мультиков у нынешнего подрастающего поколения).
KonstantinSpb
22.04.2019 19:33Дело полезное, походу грядёт хайп по улучшению всякого разного из прошлого
AndyPike
22.04.2019 19:41Ага.
Ждём, когда AI Чарли Чаплина он сам раскрасит.slimper Автор
22.04.2019 19:52Эт можно
AndyPike
22.04.2019 20:51Круто, очень! Не видел ранее.
Но предварительно хорошо настроили, как понимаю.
avkudrin
23.04.2019 08:13И озвучку еще, пожалуйста :)
rPman
23.04.2019 08:47Смешно, но есть же примеры восстановления звукового ряда по резонансным колебаниям обычных предметов, попавшим в кадр (правда в контролируемом окружении), так что в каком то смысле можно попытаться восстановить шум на съемочной площадке.
ITurchenko
23.04.2019 12:05С озвучкой старых лент, не рассчитанных на подобное, нужно быть крайне аккуратным
Заголовок спойлераbobermai
23.04.2019 17:46SantaCluster
24.04.2019 21:22отлично! вспомнился аналогичный кадр из «Маски-шоу» с фразой «не наши!», но иной артикуляцией :))
juray
22.04.2019 21:11Улучшение по сравнению с исходной версией довольно заметное.
Местами остались и лесенки (например, у летящего флаера на первых кадрах с общим планом) и прочие дефекты — но их почти не заметно, если не всматриваться. А «исходную» на большом экране смотреть просто больно — кажется, что потерян фокус, и глаза напрягаются в попытках его восстановить.
Вроде бы некоторое время назад на Хабре кто-то уже выкладывал свой вариант ремастера «Тайны», по крайней мере, я отчетливо помню, что я ту статью комментировал. Но почему-то не нашёл её ни в трекере, ни гуглом.
Зато нашлась статья про подобный нейросетевой ремастер другого мультфильма — «Рик и Морти» — habr.com/ru/post/438886slimper Автор
22.04.2019 21:50О да, я находил этот ролик в ВК — vk.com/video47939812_456239146
juray
22.04.2019 21:56Ага, он самый. И коммент свой там нашёл. Получается, я попутал, подумав что на хабре дело было. Память штука такая, ненадежная.
slimper Автор
22.04.2019 22:32Я тоже помню писал как-то мануал по установке ubuntu на журнал playboy , а потом сказал друзьям поискать по хабру, а мануальчик мой без уведомлений перенесли на мегамозг (или еще куда-то там). Сейчас смотрю — вернули обратно. Но я после такой вольности на 5 лет свалил отсюда.
baragol
23.04.2019 11:46Хорошо, что вернулись. Простите за форки и мерджи проектов. Мы не со зла, а «ради искусства». Кажется, теперь уже окончательно будет только Хабр.
Zangasta
23.04.2019 17:24Я тоже помню писал как-то мануал по установке ubuntu на журнал playboy, а потом сказал друзьям поискать по хабру, а мануальчик мой без уведомлений перенесли на мегамозг
Несмотря на то, что сейчас мой скафандр не мог передавать и принимать информацию, я рассчитывала узнать с помощью ракеты о судьбе своих друзей. Работающие на ОО инженеры, как обычно, предусмотрели всё. В том числе и запуск ракет тайконавтами, чьи скафандры не приспособлены для взаимодействия с картографическим модулем.
Для этого на пусковой установке был смонтирован небольшой экран, на который ракета транслировала изображение с камеры. Экран этот, кстати, имел свою собственную историю: когда-то давным-давно, журнал Playboy устроил рекламную акцию, вставив в журнал утолщенную страницу, внутри которой находился крохотный компьютер с жидкокристаллическим дисплеем, показывающий, как вы думаете что? Конечно ггнуху.
Номер моментально стал культовым. Гики охотились за ним, скупая пачками. Чтоб потом перепрограммировать халявные компьютеры, встраивая в свои проекты. В холодильники, умные дома, спутники, подводные лодки, адронные коллайдеры. Со временем это стало традицией. В определенных, очень узких кругах, но тем не менее.
Инженер, создавший эту картографическую систему, рассказал, что из купленной им дюжины журналов у него до текущего момента дожило всего три, и он использует их только в исключительно важных проектах. Таких, как созданная для Луны залпово–картографическая система. И что он надеется, что первый зонд, достигший другой звездной системы, тоже будет содержать один из двух оставшихся у него плееров. (Последний, он видимо собирался приберечь для постройки на его основе большой машины для изменения космологической постоянной в целях остановки разбегания галактик — инженеры порой такие инженеры…)
(с) #Даша_на_Луне
AVX
22.04.2019 21:21Я подозреваю, что подобным образом «улучшали» многие мультфильмы, которые можно сейчас скачать на торрентах. Во всяком случае, те, что я качал лет 7-9 назад, я сравнивал с тем, что показывают по ТВ (да, на HD каналах, старые мультфильмы) — и разница очевидна, лучше чёткость, лучше контраст, значительно меньше шумов или их отсутствие.
Конкретно это видео мне понравилось. Можно смотреть на большом экране, не напрягаясь и не плеваться на квадратики.
Однако, сама статья выглядит недосказанной — «стандартная процедура» по ссылке, вот по мне, ни разу не стандартная :-) Было бы неплохо эту процедуру прямо здесь, на русском языке, и расписать (ну хотя бы под кат, но по-русски).Meloman19
23.04.2019 23:29А что там сложного? По ссылке просто указан список ПО, с помощью которого можно увеличивать изображение. Я, к примеру, Waifu2x использую, правда для убирания шумов, но он и upscale так же умеет.
Вся процедура проста:
1) Сохраняем видео покадрово в png.
2) Каждое изображение прогоняем через любую из предложенных по ссылке нейросеток.
3) Склеиваем изображения обратно в видеопоток.
4)…
5) PROFIT!
Вот автоматизировать — это было бы дело.
stalinets
22.04.2019 22:23+1Круто, но что явно бросается в глаза — низкая частота кадров. Вот бы ещё натренировать нейросеть, чтобы она из двух соседних кадров рассчитывала пяток промежуточных и добавляла их между. Ну и можно доработать вручную некоторые моменты типа дрожание титров вначале.
slimper Автор
22.04.2019 22:29Да, плюс поправить шум. Думаю, что это все станет возможным уже очень скоро.
Artyom_Shegeda
23.04.2019 17:22я бы добавил ещё стабилизации кадра. прыгающие титры и картинка очень бросаются в глаза. особенно в HD
SuAlUr
23.04.2019 23:28Сейчас очень хорошие шумодавы есть у проекта Avisynth. И добавление промежуточных кадров нейросетью тоже есть, но дорогое.
AVX
22.04.2019 22:33А нужно ли? Современные и не очень устройства, типа smart tv, да и проигрыватели на компе умеют это делать, правда маркетологи эти функции как только не обзывают, иногда и не поймёшь, что реально делает. Но для мультфильмов это не очень полезно, а чаще даже вредно для восприятия (предположу, что это кому как, субъективно) — у меня телевизор с такой функцией, и если её накрутить на максимум — то при быстрых движениях в кадре выглядит слишком реалистично, будто кино смотришь в over
900060 Hz, или просто в реальности это, для мультфильмов какое-то странное ощущение при просмотре…Ezhyg
23.04.2019 09:41какое-то странное ощущение при просмотре
Появляется эффект «театра», раньше называли «театральность» происходящего, а теряется «киношность».
ValdikSS
22.04.2019 22:56www.svp-team.com/wiki/Main_Page
u007
23.04.2019 08:32+2slimper, заливка результата на ютуб убивает всё, что вытянула нейросетка. Если по-серьёзному, надо на торренты, и в тему кинуть magnet. Кстати, на рутрекере почти все советские мульты есть в ничего себе качестве, и некоторые даже со звуком 5.1. Почти уверен, что с вашей технологией можно было бы догнать такой материал до FullHD
Vantela
23.04.2019 09:21Афигеть!
Обязательно пересмотрю в вашем варианте. Один из моих любимых мультиков. Я и дочь Алисой назвал:)
Кстати, возникла интересная идея.
Комиксы. Раскрашивать.
Художникам часто не до того — им уж очень много картинок надо нарисовать. А смотреть ч\б в 21 веке как то не торт. А если нейросеть за пару часов все раскрасит…
А еще через пару десятков лет и нарисует.AngReload
25.04.2019 09:00+1Раз https://paintschainer.preferred.tech/index_en.html
somatiq
23.04.2019 09:58Интересно, получится ли сделать что-то с Monkey Dust. Если я ничего не путаю, лучше DVD rip качества нет, да и в каждой серии куча разных стилей анимации. А на какой машине вся эта радость считалась?
barbanel
23.04.2019 11:06И что еще интересно — как долго?
nidalee
23.04.2019 15:59Я скоро опубликую статью по сравнению нескольких способов апскейла.
Но ответ по Topaz вас не обрадует: в моих тестах, он обрабатывал 38 секунд видео FullHD -> 4K за… 7680 секунд. То есть за 2 с лишним часа. Впрочем, если вас устроит апскейл до FullHD и с сетью низкого качества, то будет быстрее.
Это на одной 1080ti.
extempl
23.04.2019 11:06Очень странное замыливание на вполне себе прямых линиях на 18:49 на ногах. Учитывая разницу от кадра к кадру и даже на одном кадре на разных ботинках — кажется ещё есть куда сетку тренировать.
fivehouse
23.04.2019 12:31Попробуйте улучшить видео с убийством Кеннеди. До сих пор не ясно откуда же стреляли. А фильм очень шумный.
Vantela
23.04.2019 13:43Анекдот в темуТетенька из известного города приводит сына фотографироваться. А получив фотографии звонит:
-Вы таки знаете, но в шляпе получилось не очень. Вы не могли бы сделать без шляпы?
-Без шляпы… Тут виден цвет волос. А на какую сторону ваш сын зачесывает волосы?
-Шо за странные вопросы вы задаете? Снимите шляпу и вы сами все увидите!tendium
23.04.2019 13:36Очень круто. Спасибо! Первые публикации на Хабре на данную тему, как-то оставили в сомнениях — то ли у меня с глазами что не так, то ли я делаю что-то не так. А тут прямо результат
на лиценалицо.
ertaquo
23.04.2019 15:16Посмотрел немного начала, на 3:08 все-таки есть мыло в верху, у головы Зеленого.
stardust1
23.04.2019 16:18Автор, а можешь выложить видео-туториал для «чайников» незнакомых с нейросетями и показать куда надо что задавать? Хочу видео из своего архива улучшить. Спасибо!
Quiensabe
23.04.2019 17:20Получилось круто!
Но вот блок «как это делалось» — какой-то странный. Детально расписаны элементарные шаги о том, как разобрать видео по кадрам и как собрать обратно увеличенные кадры, а как провести сам пересчет кадров — просто ссылка на инструмент. При том, что смысл статьи именно в этом инструменте и разобраться с ним значительно сложнее чем скачать видео с youtube и разобрать/собрать (что кстати можно сделать любым видеоредактором).
На мой взгляд, тут логично или просто дать ссылки на инструменты, чтобы человек сам гуглил и разбирался, или, разобрать-таки процесс апскейла кадров. Вот такую статью лично я бы очень хотел прочесть.
Да, и итоговое видео здорово бы загрузить на какой-то файлообменник, чтобы youtube не портил картинку еще раз.nidalee
23.04.2019 17:22Я скоро опубликую статью со сравнением способов апскейла, там вы сможете посмотреть настройки разных программ, в том числе Topaz.
Quiensabe
23.04.2019 23:10Сравнение — это хорошо, но так ли оно нужно, на самом деле?
На данный момент и так ясно, что результат работы хороших классических алгоритмов и нейросетей — не отличается кардинально. Вероятно, на каких-то изображениях нейросети дадут лучший результат, на каких-то — худший. И вероятно речь будет идти о не особо значительных отличиях.
Предположим, в результате обширнейшего и подробнейшего тестирования, в номинации «аниме» победит Topaz. Значит ли это, что правило «Аниме апскель Топазом» — оправдано и незыблемо? Нет. Главное и огромное отличие нейросетей от классических алгоритмов — их потенциал. Невозможно аналитически восстановить полностью утраченные детали изображения. Но нейросети это делать не нужно, потому что зрителю очень часто важны не сами детали, а их наличие.
Если я вижу волосы персонажа — мне не важно, как именно лежит каждый волосок, мне важно общее ощущение реализма. А для этого нужны «дополнительные данные» (о том, как выглядят волосы вблизи) и из распространенных инструментов, учитывать эти дополнительные данные умеют только нейросети.
Поэтому неважно кто сегодня победит в рейтинге, важно, что «на длинной дистанции», победа так или иначе придет к инструменту на основе нейросети (или чем-то подобном). Поэтому куда важнее научиться работать с подобными инструментами, понимать принципы управления и т.п. Практическая статья на эту тему с подробными примерами — могла бы кого-то направить в верном направлении (например, меня), а не только обозначить сравнительный срез текущих достижений в области апскейла.
p.s. Вопрос механики сравнительного анализа алгоритмов на самом деле тоже открытый. Кажется, что достаточно уменьшить качественные изображения, вернуть им прежний размер с помощью разных алгоритмов и попиксельно сравнить с исходником — это верный подход. Но этот принцип не учитывает особенности нейросетей. Их задача, как я писал выше, по сути, не «восстановить детали», а «дорисовать что-то похожее на отсутствующие детали». Четкая текстура с несколько смещенным и/или изменённым рисунком — субъективно гораздо лучше размытой, но попиксельное сравнение может дать ей более низкую оценку. Получается, что автоматизированный текст — не даст гарантированную оценку потребительских свойств алгоритма. Не поставит «точку в споре».
Альтернатива — массовый опрос пользователей, мог бы помочь, но на сегодня отличия в результате работы алгоритмов незначительны, опрос может выродиться в классическую задачу про нос императора, и опять-таки не дать однозначного результата.
p.s.2. Ни в коем случае не отговариваю от написания упомянутой статьи. Просто хотел обозначить свое IMHO по данному вопросу.
safari2012
23.04.2019 18:48Автор, сделай пож-та обработку «Путешествия муравья». А то мульт классный, но смотреть SD больно.
perfect_genius
23.04.2019 18:54Вы, как и Яндекс, почему-то забыли добавить сравнение с обычными фильтрами повышения резкости.
freestyler8
23.04.2019 23:30А дрожание картинки (вверх-вниз) нейросеть может убрать? Вот это кмк было бы актуальнее…
slimper Автор
23.04.2019 23:30я пробовал убрать через ffmpeg — получилось очень плохо, надо другие варианты пробовать
ChaoticSys
23.04.2019 23:30Толку от четкости, если мерцание и «тряска» остались.
Для полной реставрации нужно выровнять кадры по яркости, пройтись «дешейкером». Ну и потом Smooth Video Pack — до 60фпс — для полного совершенства.egigd
24.04.2019 10:2660 fps не надо, они убивают всё впечатление.
«Магия кино» заключается в том числе в малой частоте кадров.
djk0t
23.04.2019 23:30Класс, любимый мультик до сих пор, спасибо большое! Сравнил уже видео с оригинальным — разница колоссальна — www.youtube.com/watch?v=HZodexUkiDI
i-o
23.04.2019 23:31О, почти ровно год назад Яндекс таким занимался для нескольких фильмов о Великой Отечественной (https://yandex.ru/blog/company/oldfilms). И, помнится, на конфе про это рассказывали очень эпично.
Отзывы там положительные (и даже благодарные), так что на вопрос «Надо ли это кому-то? Или классику лучше не трогать?» — думаю надо, и как раз для классики, если результат будет хорошим.
megapro17
24.04.2019 00:00Спасибо за инструкцию!
MinamotoSoft
24.04.2019 02:04На мой взгляд, данный результат намного лучше чем «официальная» восстановленная версия от союзмультфильма. www.youtube.com/watch?v=HZodexUkiDI
А вообще то в сети есть «оригинал» с пастельными тонами а не монохромными заливками текстур.
rgrits
25.04.2019 13:35Как раз искал способ восстановления этого: www.youtube.com/watch?v=XRhZlmbOsH4&feature=youtu.be&fbclid=IwAR1ryHa0Y2WA1P8rh4m_hkpvSngxhTKHgA36FmQPLKSfk_lju_miKwKElHM
Но судя по всему нейросетка просто хорошо убирает сглаживание, ( ну или не очень хорошо (см. лицо Алисы, на тех кадрах где она не крупным планом) ). Боюсь, для зашумленной картинки это вряд ли сработает.
MShevchenko
25.04.2019 19:34Вспомнил одну из старых своих разработок.
А что если без нейронок?
Если нарезать мультфильм на сцены. Т.е. куски когда происходит только плавная смена плана? Или хотя бы режем по I-фреймам.
Для каждого такого куска в YUV делаем ТРЕХМЕРНОЕ преобразование Фурье или вейвлет для Y компоненты. Третьей координатой у нас является время, точнее, номер кадра. Результат фильтруем (ту гугель «повышение резкости изображение FFT»). Таким образом, как минимум, можно избавиться от дерганья изображения между кадрами.
Вангую что хорошие результаты даст преобразование Хаара.
sinc
только моя нейросеть не видит разницы?
0x9d8e
моя тоже не видела, пока качество максимально доступное не поставил
aaalllsss
мыла нет