Американские исследователи создали нейросетевой алгоритм для переноса видеороликов между разными стилями. К примеру, с его помощью видеоролик с моделью лица можно превратить в ролик с фотореалистичным изображением двигающегося человека. Главная особенность нового алгоритма заключается в его способности анализировать соседние кадры, что позволяет создавать более стабильную и реалистичную последовательность кадров в новом ролике, рассказывают разработчики в статье, опубликованной на arXiv.org.
Алгоритмы машинного обучения развиваются быстрыми темпами и, пожалуй, сильнее всего этот прогресс заметен в области алгоритмов для работы с изображениями. В частности, за последние несколько лет многие группы разработчиков создали алгоритмы для синтеза новых качественных изображений и алгоритмы для переноса между изображениями. К примеру, таким образом можно превращать фотографии и наброски в картины в стиле известных художников или создавать из набросков фотореалистичные портреты.
Логичным развитием подобных манипуляций с изображениями стали попытки адаптации этих алгоритмов для работы с видео, но эта задача принципиально отличается от работы с изображениями, из-за чего пока качество работы этих алгоритмов намного ниже. Дело в том, что для создания каждого кадра видеоролика важно не только корректно воссоздать объекты на нем самом, но и учитывать расположение, цвет и другие характеристики этих объектов на соседних кадрах. Без учета соседних кадров можно создать фотореалистичный ролик, но статичные объекты на нем будут постоянно меняться от кадра к кадру, из-за чего видео будет «дерганным». В 2017 году группе китайских исследователей удалось решить задачу качественного переноса между видеороликами без «тряски» между кадрами, но созданный ими алгоритм был предназначен для работы со стилизованными изображениями.
Группа разработчиков под руководством Брайана Катандзаро (Bryan Catanzaro) из компании NVIDIA создала новый алгоритм, умеющий выполнять перенос между видеороликами и создавать таким образом стабильную и реалистичную последовательность кадров. Алгоритм представляет собой генеративно-состязательную нейросеть, состоящую из генератора, создающего изображения, и дискриминатора, стремящегося отличить созданные генератором «подделки» от объектов из обучающего датасета.
Генератор принимает в качестве входных данных текущий и несколько предыдущих кадров из исходного видео и несколько предыдущих кадров второго видео. Для того, чтобы новый кадр второго видео был согласован с предыдущими, алгоритм рассчитывает оптический поток на основе предыдущих кадров и создает маску деформации для последнего кадра. После этого он создает новый кадр, в котором часть пикселей созданы с помощью деформации предыдущего кадра, а часть «придумана» нейросетью. При этом работа генератора происходит в два этапа, которые аналогичны по своей сути, но оперируют изображениями с разным разрешением — сначала с уменьшенным, а затем с полноценным.
Дискриминатор также состоит из двух частей. Одна из них сопоставляет два кадра из исходного и созданного видео и определяет, являются второй кадр реальным. Вторая часть также проверяет реальность изображений, но уже не по отдельности, а вместе с несколькими соседними кадрами.
Разработчики обучили несколько нейросетевых моделей для создания фотореалистичных роликов из семантически сегментированных видеозаписей поездок в автомобилях, роликов с моделями лиц и роликов с моделями двигающихся тел людей. Работу алгоритма и сравнение с двумя другими аналогичными алгоритмами можно увидеть на видео. Кроме того, разработчики провели исследование на добровольцах, в рамках которого они выяснили, что 80 или более процентов людей считают видео, синтезированные новым алгоритмом, более качественными.
Специалисты из NVIDIA и ранее создавали нейросети для синтеза реалистичных видеороликов. К примеру, в прошлом году они представили алгоритм, умеющий превращать записи поездок в автомобиле зимой в аналогичные записи летом или менять породу собак на видео. Еще одна особенность алгоритма заключается в том, что он основан на обучении без учителя, что значительно упрощает сбор данных для обучения.
Обсуждение