Первые изображения GAN было легко идентифицировать. Посмотрите на эти лица 2014 года.
![](https://habrastorage.org/getpro/habr/post_images/ae6/f21/e6b/ae6f21e6b2a38b44e7fee0b61baa01ea.png)
«Обучение без учителя представлению с глубокими свёрточными генеративными состязательными сетями» (2014), Рэдфорд и др. Также известны как DCGAN
Но последние сгенерированные лица от октября 2017 года уже труднее идентифицировать.
![](https://habrastorage.org/getpro/habr/post_images/f68/ad5/eb1/f68ad5eb12fea0dfd6d5e0486da6d90b.png)
«Прогрессивное выращивание GAN для улучшения качества, стабильности и разнообразия» (2017), Каррас и др. Также известны как PGAN или ProGAN
Вот некоторые признаки изображений, которые сгенерировала GAN. Сосредоточимся на лицах, потому что они являются общей площадкой тестирования для исследователей, а многие из самых заметных артефактов появляются и в других видах изображений.
Прямые волосы выглядят как краска
![](https://habrastorage.org/getpro/habr/post_images/d4a/ac4/b2d/d4aac4b2de22ab923ecee8dba5f7991c.png)
Длинные волосы часто выглядят гипертрофированно прямыми прядями, словно кто-то мазанул кучу акрила мастихином или огромной кистью.
Текст не поддаётся расшифровке
![](https://habrastorage.org/getpro/habr/post_images/6da/d46/e42/6dad46e42eb857d59b78faed7f48903f.png)
Если GAN обучалась на лицах, то ей трудно даются редкие структурированные объекты на заднем плане. Кроме того, GAN обучаются и на стандартных, и на зеркальных версиях изображений, что приводит к проблемам при моделировании текста, который обычно отображается только в одной ориентации.
Cюрреалистичный фон
![](https://habrastorage.org/getpro/habr/post_images/05b/820/d7c/05b820d7c89e1386775cb4e2a3f1163d.png)
Одна из причин, почему сгенерированные лица выглядят правдоподобно — потому что все обучающие картинки были центрированы. Это уменьшает вариативность при генерации, например, глаз и ушей. С другой стороны, фон может содержать что угодно. Его слишком трудно смоделировать, поэтому нейросеть в конечном итоге реплицирует общие фоновые текстуры, а не «реальные» фоновые сцены.
Асимметрия
![](https://habrastorage.org/getpro/habr/post_images/bc8/e07/e89/bc8e07e8962389439cccdd92410a6b8d.png)
GAN может испытывать трудности при управлении зависимостями, которые находятся на большом расстоянии. Например, парные аксессуары, такие как серьги, обычно совпадают в наборе данных, но не в созданных изображениях. Глаза на настоящих фотографиях обычно смотрят в одном направлении и обычно одного цвета, а сгенерированные лица часто страдают косоглазием и гетерохромией. Асимметрия часто проявляется на ушах разной высоты или размера.
Странные зубы
![](https://habrastorage.org/getpro/habr/post_images/cea/a0f/488/ceaa0f4889b2e6526bf947253f8203b1.png)
Сети GAN могут собрать общую сцену, но в настоящее время испытывают трудности с полурегулярными повторяющимися деталями, такими как зубы. Иногда GAN выдаёт перекошенные зубы, растягивает или сжимает отдельные зубы странными способами. Исторически эта проблема проявлялась и в других областях, таких как синтез текстур с изображениями типа кирпичей.
Хаотичные волосы
![](https://habrastorage.org/getpro/habr/post_images/da4/ade/443/da4ade44371ea611458fe58ac0d3ef30.png)
Это один из самых быстрых способов распознать фейковое изображение. Как правило, GAN собирает волосы в комочки, создаёт случайные пучки вокруг плеч и бросает на лоб толстые лохмы. Настоящие причёски очень вариативны и детализированы, что делает их одним из самых трудных объектов для реалистичной генерации GAN. Посторонние объекты иногда могут превратиться в волосяные текстуры.
Непонятный пол
![](https://habrastorage.org/getpro/habr/post_images/2e2/17f/8f7/2e217f8f7921a98c760e38ca5d721543.png)
Эта GAN обучалась на наборе CelebA с 200 000 изображений 10 000 знаменитостей. В данном наборе я не встречала никого с волосами на лице, серьгами и макияжем одновременно; но GAN регулярно смешивает типичные атрибуты разных полов. В целом, я думаю, это связано с тем, что GAN не всегда получает представление о противоположных бинарных категориях, которые приняты в человеческом обществе (в данном случае «мужчина против женщины»).
Полурегулярный шум
![](https://habrastorage.org/getpro/habr/post_images/992/fe1/55f/992fe155fe8aaf6f9dc9e12194223f85.png)
Некоторые области вместо монохромного фона могут получить полурегулярный шум с горизонтальными или вертикальными полосками. В приведённых выше случаях, вероятно, сеть пытается имитировать текстуру ткани. Более старые GAN генерируют гораздо более заметный шум, который обычно описывают как шахматные артефакты.
Радужная засветка
![](https://habrastorage.org/getpro/habr/post_images/786/0fc/097/7860fc097d1f5b2c50fd676dde37eb41.png)
Некоторые области со светлой сплошной заливкой получают многоцветную засветку: это воротники, шеи и белые глаза (здесь не показаны).
Примеры реальных изображений
![](https://habrastorage.org/getpro/habr/post_images/d7e/fa9/7c9/d7efa97c92c20768553ed68fd61b767b.png)
Оратите внимание на чёткий фон, текст, парные серьги, зубы одинакового размера, детальные причёски. Зная все трюки GAN, попробуйте сыграть в игру и проверить, как вы отличите настоящие лица от поддельных. Примечание: у некоторых проблемы с кнопкой Start.
Комментарии (27)
Koneru
09.12.2018 22:42+2Поднимите игру в самый верх, т.к. после прочтения уже не так интересно. Некоторые ответы уже известны.
bogotoff
10.12.2018 19:25После прочтения у меня 6/6, но думаю если бы не прочел статью, угадал бы только половину. Мне тоже кажется, что лучше перенести на верх и в конце предложить пройти тест снова
LAG_LAGbI4
09.12.2018 23:37Намколько сильно должно быть изменено тзображение, чтобы оно сяиталось сгенерированным лицом?
pehat
09.12.2018 23:45+4Сколько должно быть опечаток в комментарии, чтобы он считался сгенерированным нейросетью?
roscomtheend
10.12.2018 10:22Оно пытается узнать у человеков как быть ещё более похожим на них. Следующий этап — проверка тактильных ощущений резиновой кожей. И кошечки не зря популяризируются в соцсетях — собаки их (как мы помним из классики) по запаху чуюут.
jrthwk
10.12.2018 00:13+8… пример изображения, явно сгенерированного корявой нейросеткой:
IGR2014
10.12.2018 14:25Радужная засветка макияжа + сюрреалистический костюм + сюрреалистическая причёска.
Кожанные мешкиЧеловеки 1: Роботы 0
Zoolander
10.12.2018 06:48// посмотрите на эти лица 2014 года
// сгенерированные лица от октября 2017 года уже труднее идентифицировать
будет интересно почитать Хабр в 2020 и 2023 году соответственно
думаю, кстати, что уже в 2025 появятся первые хорошие статьи на русском, написанные при помощи нейросетей (не на Хабре, хотя возможно и на нем)
questor
10.12.2018 10:54Слушайте, я может что-то не понимаю, но почему нельзя генерировать фото людей на хромакее, а потом подставлять вместо него нужное изображение?
Или сразу генерировать нейронкой 3D-модель головы, а потом уже вставлять в нужную сцену с нужным освещением и тенями.
ibrin
10.12.2018 12:22А вот это самая лучшая идея продолжения развития нейросетей. на данном этапе они как начинающие художники пытаются копировать образы без чувства объема, пропорций и перспективы. Генерация трехмерной основы будет следующим шагом к более реалистичному моделированию
x67
10.12.2018 15:44Модели надо на чем-то обучиться, причем чем больше данных, тем лучше. Где то в посте речь шла о 200 000 изображений. Где бы взять столько фотографий лиц с зеленым фоном? Когда нибудь и такой датасет соберут, а пока радуйтесь что не подписаны на инстаграмм нейронной сети
masai
10.12.2018 18:44Да не такая уж и проблема, на самом деле. CelebA или какой-нибудь VGG Face + сегментация человека с заливкой фона зелёным.
bro-dev0
10.12.2018 18:50По идее нейросеть должна сама понимать где лицо, а где фон, а если задать алгоритмы отделения уже не так интересно.
masai
10.12.2018 19:26Она и понимает. PGGAN рисует же картинку «с нуля»: и лицо, и фон. Просто лицо сетка рисует реалистично, а фон не очень. И научить рисовать реалистичный фон очень сложно.
Сеть при обучении каждый раз видит на реальных фото одинаковые элементы – нос, рот, глаза. Фон же всегда разный. И дискриминатор просто не может составить обобщенное определение реалистичного фона. А для того, что видит постоянно – может.
Если бы фон был примерно одинаковым на всех фото, то и сетка бы научилась его рисовать. Хотя, возможно, пришлось бы сильно увеличить её ёмкость. Впрочем, даже PGGAN делает фон более-менее похожим на то, что ему чаще всего встречались и проблемы с фоном не сразу бросаются в глаза.
le1ic
10.12.2018 17:43Автор — бот, направляющий нас по ложному пути. Все примеры в конце — на самом деле сгенерированы. Скайнет уже среди нас.
Шутка. типа шутка.
bro-dev0
10.12.2018 18:52Волосы и зубы это реально триггер, с ними на 100% уверен, что это нарисовано машиной, когда нету уже есть сомнения. Я сделал 5/6 именно потому что 1 раз попалось без этих триггеров.
Chamie
10.12.2018 19:28Ничего, Айфон вам такие и на реальных фото подрисует, если верить Линусу (который из Linus Tech Tips).
trapwalker
Люди! Опомнитесь! Не играйте в эти игры! Хитрые роботы хотят, чтобы мы научили их лучше притворяться нами!=)