Как отличить фото людей, которые сгенерировала нейросеть?
Наткнулся в интернете на сайт, где нейросеть за секунды рисует фото будто бы настоящих людей. Как теперь вообще понимать, где человек, а где нейросеть?
Это действительно проблема. В 2022 году ученые лондонского университета Роял Холлоуэй провели исследование и выяснили, что люди уже часто не могут определить, где реальное фото, а где нет. Другое исследование университетов Беркли и Ланкастера удивило еще больше: после того как участникам эксперимента дали советы по выявлению фейка, 41% испытуемых все равно не справились с заданием.
К счастью, пока сгенерированные фото еще можно опознать.
Что такое StyleGAN и какие сервисы генерируют изображения
StyleGAN — это нейросеть, которую в 2018 году представила компания NVIDIA. И популярной она стала в первую очередь благодаря реалистичной генерации человеческих лиц.
Спустя год после запуска NVIDIA открыла исходный код нейросети, и на основе StyleGan стали создавать сервисы-генераторы. Например, появились:
- This Person Does Not Exist, или «Этого человека не существует», — самый популярный нейросервис, генерирующий изображения;
- Generated.Photos — бесплатная база данных из более чем 2,5 млн сгенерированных лиц;
- Bored Humans;
- Random Face Generator;
- Fotor — в нем можно сгенерировать лицо по текстовому описанию.
Сервисы работают по-разному. Например, в This Person Does Not Exist нельзя задать параметры изображения: после каждого обновления страницы пользователь просто получает рандомно сгенерированный новый снимок. В Bored Humans тоже нет настроек. А в Random Face Generator можно задать только пол и возраст сгенерированного на фото человека.
Как отличить фото, сгенерированные StyleGAN
Теперь подробнее расскажу о характерных ошибках StyleGAN, которые выдают нейросетевое фото.
Формат фотографии. StyleGAN обучена на однотипных снимках — крупных портретах, на которых обрезано все лишнее и видно только голову. Обычно так люди фотографируются для рабочих профилей, пропусков или документов. Но в соцсетях такие фото встречаются редко. Поэтому кадр строго «по шею» может указывать на нейросеть. Тем более если фото, например, в профиле пользователя всего одно: генераторы не могут сделать несколько разноплановых снимков человека.
Еще одна особенность нейросетевых фото — абстрактный или слишком размытый фон: так искусственный интеллект избегает «ошибок второго плана». А если какие-то детали и появляются на фото, они сразу выдают нейросеть. Например, люди на фоне могут быть плохо прорисоваными, дома — косыми, лес — с искажениями.
Форма лица. Нейросетевым лицам присуща симметричность, которую редко встретишь в жизни, например глаза на одинаковом расстоянии от центра лица. Либо, наоборот, неестественная асимметричность, например одно ухо гораздо больше второго, глаза разного цвета и размера.
Особенно эта проблема проявляется в старых версиях нейросети — StyleGAN и StyleGAN-2. А генераторов с третьей версией алгоритма пока очень мало.
Ошибки и артефакты. У StyleGAN есть несколько мест, где нейросеть обычно ошибается. Например, это аксессуары: ИИ любит генерировать людей в очках и серьгах, но нередко на них проявляются артефакты, которые выглядят как характерные разноцветные кляксы.
Еще обращайте внимание на волосы и зону у мочек ушей: там тоже бывают искажения. Например, нейросеть часто рисует сережки, но иногда вместо них у нее получаются просто артефакты.
Отличный способ потренироваться отличать нейросетевые изображения — сайт Which Face Is Real.
Как отличить фото, сгенерированные другими нейросетями
Дальше я расскажу, на что обратить внимание на изображениях от трех других нейросетей: Midjourney, Stable Diffusion и Dall-Е 2. Они выдают разные результаты: у кого-то картинки получаются более реалистичными, а у кого-то — более художественными. Но в любом случае они уже успешно справляются не только с рисунками, но и с имитацией реальных снимков.
Кроме того, по сравнению со StyleGAN они более функциональны: можно самому задавать параметры человека на фото, детали, одежду, выражение лица, окружение, выставить кадр. И речь не только про имитацию постановочных портретов.
Например, недавно в «Твиттере» разгорелось обсуждение сгенерированных картинок, которые будто бы сделали на реальной вечеринке. Правда, комментаторы быстро нашли в работах нейросети недостатки.
Руки и пальцы. В арт-сообществе есть шутка, что художники умеют рисовать все, кроме рук. К нейросетям это тоже относится.
Вероятно, дело в том, что руки и пальцы — это менее предсказуемые элементы, чем другие части тела, из фотографий которых формируется набор данных для обучения нейросети. Они постоянно по-разному выглядят, находятся в разном положении. Если на сгенерированной картинке появляется кисть — вероятно, она и выдаст работу алгоритма.
Пальцы либо будут кривыми, либо их будет слишком много. Поэтому при генерации часто выставляют команду «Не рисовать руки» — no hands в Midjourney — или ищут другие способы их скрыть.
Глаза — еще один элемент, о который часто спотыкаются нейросети. Еще несколько лет назад ситуация была гораздо хуже: в первых сервисах для рисования алгоритмы генерировали глаза будто бы отдельно друг от друга, из-за чего они становились разного цвета и размера.
Сейчас же есть два основных способа определить нейрофото по глазам: или они косят в разные стороны, или у человека в кадре в целом отсутствующий взгляд.
Зубы. К ним претензия такая же, как и к пальцам: на нейросетевых фото их обычно слишком много.
Я не знаю, почему так выходит, но у меня практически не получалось сгенерировать улыбающихся людей со стандартными 32 зубами. Поначалу этот момент можно упустить, но если приглядеться, проявляется «акулья улыбка».
Текст. Нейросети все еще не могут наносить внятный текст на рисунки, даже если вы четко задали слова. Также они не могут точно повторить логотип реального бренда — это всегда будет фантазия ИИ на тему.
Так что присматривайтесь к одежде и надписям на фоне. Если человек на фото стоит в обуви и одежде, на которых нет никаких обозначений брендов, — это уже повод задуматься.
То же касается, например, техники. Midjourney знает, как выглядят популярные гаджеты. Но каждая генерация будет не точной передачей реальности, а небольшим отходом от нее. Иногда это заметно сразу, а иногда приходится всматриваться в детали.
Положение людей, одежда и фон. Простое правило: чем больше деталей на картинке, тем выше вероятность, что ИИ с ними не справится.
Современные нейросети достаточно хорошо генерируют близкие портреты, на которых видно только лицо. Для них есть много разных настроек. Например, можно текстом задать эмоцию, поставить камеру, выбрать цвета. И результат генерации уже довольно сложно отличить от настоящих фотографий. Ошибки все еще проскакивают, но в них нужно всматриваться. И так получается потому, что детализация приходится только на лицо, а одежду, туловище, руки, ноги и фон прорисовывать не надо.
Но что, если попробовать фотографии в полный рост и с фоном? Нейросети будто перестает хватать на такое количество разных объектов, поэтому качество проработки резко падает.
Внимательно изучайте детали одежды и объекты вокруг — артефакты может быть сложно заметить, но они есть.
Что в итоге
Итак, чтобы отличить сгенерированные фото от настоящих:
- Посмотрите на формат кадра. Лучше всего нейросети справляются с близкими портретными кадрами, на которых видно преимущественно лицо. Основные зоны ошибок на таких фото — глаза, зубы, мочки ушей, волосы.
- Обратите внимание на пальцы — их может быть больше пяти и/или они могут быть неестественно загнуты.
- Присмотритесь к деталям, особенно если на фото есть полноценный фон. Чаще всего нейросети рисуют технику несуществующих брендов, неразборчивые надписи, ошибаются в одежде и аксессуарах.
- Доверяйте инстинктам. Когда мы видим что-то, что очень похоже на настоящего человека, но им не является, испытываем эффект «зловещей долины». Иногда вы просто подсознательно понимаете, что на фото не человек и это работа нейросети.