Видеть сквозь иллюзии сфабрикованного мира
«В интернете никто не знает, что ты собака»
Так говорит собака, сидящая за компьютером на карикатуре Питера Штайнера в еженедельнике «Нью-Йоркер» 1993 года. Карикатура запечатлела радикальные изменения в характере человеческих взаимодействий, которые только начинались в 1993 году, изменения, которые не только радуют своими возможностями, но и пугают по той же причине.
За последние четверть века мы все усвоили «урок собаки». Случайным незнакомцем в Интернете может быть кто угодно и где угодно. Опытный импресарио на музыкальном форуме может быть ребенком в подвале его мамы. Четырнадцатилетняя девушка в чате может быть полицейским под прикрытием. Африканская нефтяная наследница в твоих входящих сообщениях, несомненно, мошенница.
Но в то время как мы научились не доверять именам и текстам, с изображениями всё по другому. Мы предполагаем, что изображение должно иметь реальный источник и мы склонны доверять изображениям. Бизнес-профиль с фотографией явно принадлежит кому-то. Человек на фотографии, на сайте знакомств, может оказаться на 10 килограмм тяжелее или на 10 лет старше, но если фотография есть, человек, очевидно, существует.
Но это уже не так. Новые алгоритмы машинного обучения позволяют быстро создавать синтетические «фотографии» людей, которых никогда не было.
Компьютеры хороши, но способность визуальной обработки вашего мозга еще лучше. Если вы знаете, что искать, вы можете заметить эти подделки одним взглядом (по крайней мере, на данный момент). Аппаратное и программное обеспечение, используемое для их генерации, будет продолжать совершенствоваться и может пройти всего несколько лет, пока люди не отстанут в этой гонке подделок и обнаружения.
Наша цель — дать вам понять, с какой легкостью можно подделать цифровую личность, и помочь вам обнаружить эти подделки одним взглядом.
Методика
Давайте начнем с того, что подчеркнем, что мы не являемся авторами феноменального алгоритма, используемого для создания этих лиц. Алгоритм StyleGAN (репозиторий Github), использованный для создания этих изображений, был разработан Tero Karras, Samuli Laine и Timo Aila из NVIDIA на основе более ранней работы Ian Goodfellow и его коллег по Generative Adversarial Neworks (GAN).
В феврале 2019 года производитель графического оборудования NVIDIA открыл код своего фотореалистичного программного обеспечения для генерации лиц — StyleGAN. Программное обеспечение использует подход генеративно-состязательной сети, в котором две нейронные сети играют в кошки-мышки, одна пытается создать искусственные изображения, неотличимые от реальных фотографий, а другая пытается определить разницу. Две сети обучают друг друга. Через несколько недель сеть для создания изображений может создавать изображения, подобные подделкам на этом сайте.
Алгоритм StyleGAN синтезирует фотореалистичные лица.
В дополнение к коду NVIDIA опубликовала веса для полностью обученной нейронной сети, чтобы пользователи могли пропустить длительный процесс обучения и сразу же начать генерировать лица. Сеть была обучена на изображениях из комбинации двух больших коллекций фотографий CELEBA-HQ и FFHQ. Первый включает в себя тысячи фотографий лиц знаменитостей. А второй 70 000 фотографий лиц, размещенных на Flickr по лицензии Creative Commons.
На нашем веб-сайте, в виде игры, мы представляем пары изображений: реальное из коллекции FFHQ и синтетическое, сгенерированное StyleGAN и размещенное на thispersondoesnotexist.com (веб-демонстрация системы StyleGan, для генерации нового изображения обновите страницу).
Учитесь определять поддельные лица с первого взгляда
Каким бы замечательным ни был алгоритм StyleGAN, он оставляет несколько «подсказок» в каждом изображении, которое создает. Они варьируются от изображения к изображению, не у всех есть все или даже многие из этих «глюков», но после небольшой практики вы можете научиться определять их с первого взгляда. Мы узнали многие из этих уловок из превосходного учебника, изданного Kyle McDonald в 2018 году.
- Водяные пятна
Мы не можем ожидать, что будущие алгоритмы будут иметь эту проблему, но одна из отличительных особенностей текущего алгоритма StyleGAN заключается в том, что он, обычно, создает блестящие пятна, которые в некоторой степени похожи на водяные пятна на старых фотографических отпечатках. Такие пятна могут появляться в любом месте на изображении, но часто появляются на границе между волосами и фоном.
- Проблемы фона
Генерация фона изображений может пойти не так, как надо. Нейронная сеть тренируется на лице, и не уделяет столько внимания тому, что происходит по бокам. В худшем случае вы получите несколько очень странных «компаньонов», как на первом рисунке ниже. Иногда вы просто получаете хаотичные кубические формы. А иногда фон выглядит почти как разорванная фотография.
- Очки
В настоящее время, алгоритмам очень сложно создавать реалистичные очки. Распространенной проблемой является асимметрия. Часто оправа будет иметь разные стили слева и справа. В других случаях оправа будет просто изогнутой или неровной.
- Асимметрия
В общем, симметрия является проблемой для алгоритмов генерации лица. В дополнение к асимметричным очкам, обратите внимание на асимметрию в волосах на лице, различные серьги в левом и правом ухе, а также различные формы воротника или ткани на левой и правой стороне.
- Волосы
Волосы очень трудно сделать реалистично. Иногда на лице или где-либо еще будут отсоединённые пряди волос, как на первом изображении ниже. В других случаях волосы будут слишком прямыми, с «мелированием», как выразился Kyle McDonald: «как будто кто-то размазал кучу акрила шпателем или огромной кистью». Мы видим это на среднем изображении. Иногда вокруг волос появляется странное свечение или ореол, как на последнем изображении.
- Сочащаяся флуоресцентность
Возникает одна интересная особенность: флуоресцентные цвета иногда перетекают с фона на волосы или лицо.
- Зубы
Зубы не легко изображать. Часто зубы странные или асимметричные. В некоторых случаях вы можете даже увидеть три резца, как на последней фотографии ниже.
Признаки того, что фотография реальна:
Наконец, теперь, когда вы знаете какие вещи трудны для нейронной сети, вы можете найти признаки настоящего изображения и быть достаточно уверенными, что изображение реально. К ним относятся симметричные очки и серьги, настоящие спутники на фотографии и подробные фоны, особенно при наличии читаемого текста.
Учитывая все это, вы можете сыграть в нашу игру.
Вы обнаружите, что, немного потренировавшись, вы сможете очень быстро обнаружить фальшивые изображения.
Комментарии (11)
Daddy_Cool
24.02.2019 14:27Хм. Главный вопрос — кому и зачем может понадобиться много лиц необработанных художником в фотошопе. Если лиц нужно мало — то огрехи алгоритма можно убрать вручную.
Знакомая художница работала в редакции и для журнала нужны были лица. С реальными моделями связываться не было времени, чужие фото брать нельзя, вышли из положения э… при помощи фотошопной хирургии. Т.е. одно лицо делалось из нескольких — глаза отсюда, губы оттуда — как фоторобот.
А вот массово… можно создавать фото несуществующий свидетелей, определенным образом настроенных групп граждан, делать фото глав государств в окружении колхозников, создавать фэйкоэккаунты, и т.п…
Интересно какие настройки есть у алгоритма — пол, раса, возраст, цвет волос, глаз, и т.п…
Так-то результаты симпатичные.masai
24.02.2019 14:40Как таковых настроек нет, фото генерируются из вектора из 512 случайных чисел. То есть, каждому лицу соответствует точка в 512-мерном пространстве. Но из-за особенностей алгоритма, чем ближе точки, тем ближе изображения друг к другу.
Поэтому можно взять два лица, и по пути от одной точки к другой получить все промежуточные варианты. Этакое перетекание.
Ещё можно немного смещая точку (немного меняя значения в векторе) модифицировать изображение. Скажем, можно найти направление смещения, соответствующее полу или улыбке. И тогда любую точку можно заставить улыбаться. Или изменить пол сохранив черты лица.
Но сгенерировать лицо с нуля по заказу, как в программах для фоторобота, не выйдет. Можно только взять какое-то лицо и модифицировать его.
Ещё одна интересная штука — по имеющейся фотографии находить этот вектор, а потом модифицировать его. Такие попытки есть даже для StyleGAN, то там всё довольно сложно и результаты не такие впечатляющие.
Squoworode
24.02.2019 23:05Показалось, что баян — ан нет, тот же контент, да из другого источника.
masai
25.02.2019 01:07StyleGAN и Progressive Growing GAN одна и та же команда предложила. Возможно, через несколько месяцев опять что-то покажут.
id_potassium_chloride
25.02.2019 00:12Ещё когда впервые увидел этот сайт, то почти сразу же заметил ошибки нейронки. Кстати, ещё нейронка иногда разрисовывает лицо, и оно становится немного радужное/в неровностях:
Пример из игры
vitaliy2
Ждём алгоритм, умеющий генерировать синтезированное порно.