Обложка статьи

Незаменимых нет

В 2017 году на социальном новостном сайте Reddit зарегистрировался пользователь с никнеймом deepfakes и стал выкладывать отредактированные искусственным интеллектом порнографические ролики, в которых лица порноактрис были заменены на лица знаменитостей. Название «дипфейк» прижилось и теперь используется как термин, однако сейчас сфера применения этих цифровых подделок намного шире.

Загадочный дипфейк

Слово deepfake образовалось от слияния двух понятий: подделка (fake) и глубокое обучение (deep learning). Дипфейком называют созданный с помощью алгоритмов машинного обучения контент, который предназначен в основном для манипулирования людьми. Им может быть как видео, так и фотография. Чаще всего в дипфейках заменяют лицо человека (face swap) и/или речь, реже — мимику и телодвижения. Яркие примеры качественных дипфейков: опубликованные на YouTube оскорбительное видеообращение Барака Обамы к Дональду Трампу и ролик, где персонаж «Игры престолов» Джон Сноу извиняется за сюжет последнего сезона сериала.

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

Фальшивые видеоролики и фотографии создают не только любители, как в случае с порнографией. В области компьютерного зрения разрабатывают алгоритмы для генерации мимики и телодвижений человека. Например, в августе 2018 года исследователи Калифорнийского университета в Беркли опубликовали статью с описанием алгоритма, который создает реалистичное видео танцующего человека, используя при этом вместо него компьютерную модель.

В коммерческих целях дипфейки применяют для внешних преображений. К примеру, в феврале 2020 года вышло мобильное приложение Impressions для замены на видео лица пользователя на лицо знаменитости. Дипфейки используют и в сфере кинопроизводства, например для «съемки» как умерших, так и ныне живущих людей.

Технология неправды

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

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

Кодировщик преобразует исходное изображение в матрицу с числами. Так получается «непроявленное лицо» (latent face), содержащее в закодированном виде ключевые черты лица человека и положение тела. Потом декодировщик восстанавливает «непроявленное лицо» до оригинального изображения. Цель обучения — максимальная схожесть получившейся картинки с оригинальной. Можно научить два декодировщика с одним общим кодировщиком воспроизводить лица двух людей в точности. Когда каждый декодировщик обучится восстанавливать лицо «своего» человека из абстрактного набора характеристик, то для замены одного лица на другое нужно лишь будет поменять декодировщики местами. Кодировщик извлечет данные о мимике, а декодировщик нарисует соответствующее им лицо.

Точность результата зависит от обучающей выборки, которая часто недостаточно качественная и полная. Поэтому, чтобы получить более реалистичное изображение, обычно применяют другой алгоритм переноса лиц, использующий генеративно-состязательные сети (Generative Adversarial Networks). Принцип их работы заключается в борьбе двух нейронных сетей: генератора и дискриминатора. Генераторы учатся создавать с помощью реальных изображений наиболее правдоподобную картинку, а дискриминаторы — определять факт имитации. Такой процесс продолжается до тех пор, пока дискриминатор не станет путать копию с оригиналом. Это приводит к тому, что генератор начнет создавать высокореалистичные изображения, так как дискриминатор будет распознавать любые дефекты. Так, кодировщик и декодировщик здесь нужны для переноса изображения, а дискриминатор GAN — для создания реалистичности. Обучение останавливается, когда в игре с нулевой суммой (либо одна нейросеть нашла фейк, либо другая обманула распознаватель) достигнуто равновесие Нэша: ни одна из сторон не может улучшить свой текущий результат.

Чтобы «превратить» одного человека, например Аню, в другого, нейросеть сперва учат восстанавливать лицо Ани. Для этого ее фотографию немного деформируют, и автокодировщик пытается угадать, какие части были изменены, и нарисовать их в изначальном виде. Также автокодировщик генерирует маску — карту деформированных участков: по ней восстановленные элементы накладываются на искаженный оригинал. Использование маски упрощает нейросети ее работу. Результат — восстановленное лицо. За реалистичностью и качеством следит дискриминатор. Он видит Анино лицо со всех ракурсов и сразу заметит различия или снижение качества. За ошибки в точности реконструкции или в качестве автокодировщик штрафуют, в итоге он учится все лучше восстанавливать лицо Ани. Когда обучение закончено, дискриминатор больше не нужен. И чтобы «превратить» кого-то в Аню, достаточно лишь подать фотографию человека на вход автокодировщика. Он решит, что все, чем различаются эти двое людей, — искажения. И попытается их «устранить», тем самым делая дипфейк.

Как распознать дипфейк?

Низкокачественный дипфейк можно отличить на видео невооруженным глазом, главное — рассматривать детально. Очевидные нестыковки в движении губ под звуковую дорожку — признак неправдоподобности. Обращайте внимание и на глаза: человек моргает в среднем один раз в 2–10 секунд. Нейросети обычно выделяют лица прямоугольником, а не полным овалом. Поэтому иногда форма головы не соответствует форме лица. Также нейросети пока что способны создавать фейковые только 2D-модели головы. По этой причине, если на видеозаписи человек не глядит прямо в камеру, искусственный интеллект пытается повернуть изображение, изменить его размер или как-то иначе исказить, чтобы лицо было направлено в ту сторону, куда изначально смотрел человек. Обычно такие преобразования заметны. Кроме того, качество переноса ушей, лба и волос пока что низкое. Уже сейчас такие компании, как Microsoft и Facebook, разрабатывают алгоритмы искусственного интеллекта для определения поддельного контента, в том числе и дипфейков. Однако чем лучше удается распознавать подделки, тем они сами становятся лучше: ведь так это и работает.

Благодарим за помощь в подготовке материала Вадима Великодного —
инженера в области компьютерного зрения Snap Inc

Фото: wired.com

Материал опубликован в журнале NewTone

18 сентября 2020

Еще почитать по теме

Обложка статьи
Гостеприимный Петербург
Корреспондент журнала NewTone рассказывает об акклиматизации и способах с ней справиться  
Обложка статьи
Гостеприимный Петербург
Корреспондент журнала NewTone рассказывает об акклиматизации и способах с ней справиться