Не верь глазам своим

Как алгоритмы генерируют визуальный контент.

Нейросети давно работают с изображениями. Замена лиц, успешная имитация картин и даже полотно, проданное на аукционе, — результаты впечатляют все больше. Рассказываем, что уже умеют делать алгоритмы. 

Кради как художник
 

В 2018 году нейросеть создала картину «Портрет Эдмона Белами», которую  продали на аукционе Christie’s за $432 000. Нейронку обучили на наборе из 15000 портретов ХIV-ХХ веков. До аукциона прогнозировали, что картина будет стоить $7-10 000.


Портрет, написанный программой / BBC

Но за творения алгоритмов не обязательно платить. Онлайн-сервисы могут генерировать картины в стиле знаменитых художников по фото.

  • Ван Гог и нейросети

В 2015 году в статье «Нейронный алгоритм художественного стиля» описали, как сверточную нейросеть можно использовать для генерации изображения, сочетающего «содержание» одной картинки и «стиль» другой. Авторы проиллюстрировали работу алгоритма, обработав фотографию немецкого города Тюбинген в стиле пяти классических картин.


Пейзажи Тюбингена, стилизованные под картины Тернера, Ван Гога, Мунка, Пикассо, Кандинского  / Arxiv

Нейросети, которые умеют распознавать объекты, учатся отделять контент от стиля. То есть нейросеть использует одни слои для извлечения «содержимого» изображения, а другие — для извлечения «стиля» в процессе синтеза.

Каждый уровень сверточной нейросети изучает все более сложные элементы изображения. Верхние слои — простые элементы (линии и края объектов), более глубокие слои — геометрические фигуры (квадраты, круги, треугольники). Последующие слои нейронки распознают закономерности сложных узоров и текстур.


Примеры распознавания объектов изображения слоями нейросетей / Medium

Можно сказать, что алгоритм изучает стиль изображения. Если в качестве исходного изображения взять белый холст, то алгоритм нарисует «стиль» картины. Вот визуализация работы пяти слоев нейросети, которые изучают стиль полотна Ван Гога «Звездная ночь».


Визуаизация стилей разными слоями нейросети / Subsubroutine

Картины импрессионистов, которые наполнены фактурами и узорами, алгоритм распознаёт и копирует очень точно. Стиль Ван Гога применим практически к любому исходному изображению.


Обработка фото в стиле Ван Гога / Subsubroutine

Кроме того, нейронки точно различают и передают художественные средства: уголь, карандаш, акриловые и акварельные краски.


Обработка фото под картину маслом / Subsubroutine

  • Нейросеть, которая предсказывает изображение

Алгоритм Image GPT дорисовывает одну половину изображения на основе другой. Изначально его использовали для генерации текста на естественных (человеческих) языках. В них существуют закономерности построения текста. Например, ответ чаще всего следует за вопросом. Между частями изображений тоже есть подобная взаимосвязь. Нейронка может научиться предугадывать следующий пиксель в матрице на основе известных или ранее предсказанных пикселей.


В крайнем правом столбце — полные исходные изображения; в центре — предположения нейросети / Openai

Нужны новые лица
 

Другая визуальная сфера применения алгоритмов — генерация и замена фото и видео с изображением людей. 

  • Фотографии людей, которых не существовало

В Nvidia создали нейросеть, которая придумывает человеческие лица, похожие на фото реальных людей. Алгоритм замечает физиологические закономерности черт лица. Затем программа использует эти маркеры для создания фейков. В результате получаются портреты, почти не отличимые от фотографий реальных людей.


Портреты, сгенерированные искусственным интеллектом / Bgr

Нейросеть также используют для создания изображений несуществующих автомобилей, интерьеров и кошек (но эти изображения не всегда правдоподобны).

  • Deepfake: замена лиц на фото и видео

Deepfake — техника, накладывающая изображение лица одного человека на реальное видео другого. При помощи deepfake «дорисованный» человек говорит и меняет мимику, как герой в исходном видео. Для обучения такой нейросети нужно по меньшей мере 500 фотографий и видео, поэтому героями дипфейков часто становятся селебрити. 


Источник: Arxiv

Deepfake — только инструмент. Использовать его можно и во благо. Одна из перспективных областей — кинематограф. Например, фанатам «Звездных войн» не понравилась компьютерная графика принцессы Леи, которую в фильме «Изгой-Один» вместо Кэрри Фишер сыграла Ингвильд Дейла. Вполне возможно, что Deepfake сделает сгенерированных актеров более похожими на свои реальные прототипы. Некоторые даже прогнозируют полную замену живых актеров графикой.


Вверху — актриса Ингвильд Дейла с контрольными маркерами на лице для фиксации мимики, внизу — кадр из фильма / Reddit

  • Алгоритм, который находит дипфейки

Исследователи из Индии создали  алгоритм, который с точностью до 98,2% распознает фейковые видео.


Схема работы антидипфейк-алгоритма / Spie Digital Library

Разработанный классификатор определяет подлинность видео. Нейросеть обучили на наборе из 200 пар видеороликов (100 реальных и 100 дипфейков)  с похожими друг на друга политиками (например, Дональд Трамп и Борис Джонсон). Все данные собрали на YouTube. Основное внимание уделили видео, на которых политик произносит речь — публичным выступлениям, интервью и докладам.

На основе нейросети планируют запустить инструмент FaceSwap video Inspector, который сможет находить дипфейки в режиме реального времени. Приложение будет состоять из пользовательского интерфейса и серверной части. Серверная часть — это предобученная нейросеть, которую пользователи смогут использовать, установив расширение в Google Chrome. Приложение сможет контролировать распространение фейковых видеороликов с политиками в соцсетях.