Специалисты компании создали нейронную сеть Omnimattes, которая с легкостью определяет на видео не только двигающиеся объекты, но и эффекты, которые те вызывают, будь то тень или брызги. Затем искусственный интеллект разделяет видео на слои: отдельно фон и отдельно каждый двигавшийся на нем объект.
При редактировании видео часто используются маски. С их помощью определяются фон и объекты, находящиеся на переднем плане. Уже сегодня в ряде приложений есть возможность разделить видео на два слоя. При этом, например, можно убрать из кадра ненужный объект, или, наоборот, подставить что-то. Но в большинстве случаев существующие редакторы не могут определить эффекты, вызванные объектами на переднем плане. Убирая из кадра человека, мы продолжаем видеть его тень, при удалении костра остается дым и рябь воздуха, а падающий в воду камень все равно «виден» из-за брызг и волн.
Подразделение Google AI решило эту проблему, создав алгоритм для нейросетей, который получил название Omnimattes.
Новая нейросеть использует многоуровневый рендеринг и поэтому может разделять видео на несколько слоев. При этом различаются и объекты, и вызванные ими эффекты. Каждый объект и каждый эффект — это отдельный рендеринг. По этой причине даже если объекты и эффекты накладываются друг на друга, при редактуре они будут разделены.
Затем определяется зависимость рендерингов друг от друга и они объединяются в слои. Например, идущая собака и ее тень, дрифтующий автомобиль и дым от его шин, а также оставленные следы, ребенок и создаваемые им брызги во время прыжка в бассейн.
Такой подход открывает множество новых возможностей. По сравнению с ними удаление объекта из кадра — детские шалости. Например, можно сделать из одного всадника целый эскадрон.
Любые объекты и связанные с ними эффекты можно дублировать, повторяя их слой в композиции сколько угодно раз. Например, в видео с всадником фон был развернут в панораму, а лошадь с наездником и их тень дублируются несколько раз. Обратите внимание, что тень, которую лошадь отбрасывает на землю и на препятствие, улавливается абсолютно правильно.
А в этом видео редактор манипулирует временем. Изображение было разбито на три слоя — по одному для каждого ребенка. В оригинальном ролике дети прыгнули в воду не одновременно. Но искусственный интеллект исправляет ситуацию: прыжки детей синхронизируются с помощью простой регулировки скорости воспроизведения слоев. Вы можете заметить шероховатости, которые выдают редактуру видеоролика?
Проект находится на стадии доделки — у него нет, например, удобного для пользователя интерфейса. Кроме того, у разработчиков есть несколько идей, как улучшить качество редактуры. Главный минус заключается в том, что система в настоящее время поддерживает только обработку слоев в видеороликах, снятых из одной точки. Не решена еще проблема с фоном и слоями переднего плана, если ролик снят на поворачивающуюся камеру.
Для обработки видео с движущейся камеры, например, съемок прогулки по улице, потребуется трехмерная модель фона, объяснили разработчики. Реконструкция трехмерного фона и движущихся по нему объектов (и вызванных ими эффектов) — «сложная исследовательская задача, но в последнее время здесь наблюдается многообещающий прогресс», пишут они.
В общем пока исследователи считают продукт недоработанным, так что вы не найдете редактор Omnimattes в Google Play в 2021 году. Но он не настолько сырой, чтобы не появиться в следующем, и вот тогда многим компаниям он пригодится.