
Пару недель назад на Geektimes публиковался материал о том, что нейронные сети научились окрашивать черное-белые фото. Нейронные сети давно уже умеют многое, не только работать с фотографиями. Но это, вероятно, одна из на��более показательных демонстраций возможностей сетей. Еще более показательной является «кастомизация изображений» ИИ DeepDream от Google, хотя получаемые изображения являются несколько… психоделическими, скажем так.
Теперь же нейронную сеть научили окрашивать черно-белые фильмы. Об этом сообщил пользователь mar_cnu. Соответствующий инструмент по расцвечиванию черно-белых фильмов создан именно его стараниями. И хотя результат нельзя назвать идеальным, все довольно неплохо.
В качестве исходного материала он выбрал трейлер старого французского фильма от 1964 года. Вот исходный фрагмент:
Разработчик объяснил свой выбор тем, что в трейлере есть все, что нужно — джунгли, река, люди, дома, дороги. Вот, что получилось после обработки видео:
Как видим, результат не идеальный, как и говорилось выше. Но одной из причин этого может быть само исходное видео. Оно нечеткое, как и все фильмы тех времен, зачастую на «картинке» все сливается, поэтому логично, что и у программы возникают затруднения.
Сделано все это было следующим образом:
1. Найдено исходное видео;
2. Исходник конвертируется при помощи вот этого сервиса;
3. Запускаем скрипт
for file in video/*
do
echo "$file"
th colorize.lua "$file" «color-${file%.jpg}.png»
done
4. ffmpeg -i «color-frame%04d.png» -c:v libx264 colorvideo.mp4
5. ffmpeg -i blackandwhitevideo.webm audio.mp3
6. 6) ffmpeg -i colorvideo.mp4 -i audio.mp3 -c:v libx264 -c:a copy -strict
Для сервиса, как верно заметили пользователи, самым сложным заданием является реализовать плавный переход между отдельными кадрами. Если поставить видео на паузу, часто удается «поймать» кадр с почти идеальными цветами. Но вот осуществить плавный переход между кадрами — это отдельная сложная задача.