3,583 papers
arXiv:2610.21760 71 15 окт. 2026 г. FREE

Парное сравнение A/B: проверка фото лиц на ИИ-генерацию через мультимодальную LLM

КЛЮЧЕВАЯ СУТЬ
Парадокс: у картинок с невидимой меткой Google SynthID модель находила подделку хуже, а не лучше. Метод парного сравнения позволяет проверить, не нарисовала ли нейросеть лицо на фото, и метки для этого не нужны. Кладёшь рядом два снимка: заведомо настоящий и подозрительный, и просишь выбрать фейк. Это парное сравнение: у модели есть эталон реальности, а не одна картинка «в вакууме». Лучшие модели почти не ошибаются против отдельных генераторов, а слабые отвечают как подброшенная монетка.
Адаптировать под запрос
⚡

TL;DR

Мультимодальная LLM (понимает и текст, и картинки) может проверять, не сгенерировано ли лицо на фото. Нужно загрузить два изображения: заведомо настоящее и подозрительное. Модель сравнивает их и говорит, какое из двух сгенерировано. Это парное сравнение: у модели есть эталон реальности, а не одна картинка «в вакууме».

Главная находка: модели распознают подделки по структурным странностям: свет, геометрия фона, анатомия. Невидимые метки вроде Google SynthID им для этого не нужны. Но качество сильно скачет между поколениями моделей. Лучшие дают почти безошибочный результат против отдельных генераторов, у остальных ответ ближе к подбрасыванию монетки. Есть и ловушка: у картинок с невидимой меткой SynthID точность определения упала (примерно на десятую долю), возможно, потому что метка сглаживает видимые артефакты. Кроме того, объяснения модели («вижу кривые тени у уха») могут быть выдуманы: вердикт верный, а обоснование нет.

Суть метода: одно обращение. Вы даёте два изображения, говорите модели, что одно из них настоящее, а другое сгенерировано, и просите выбрать подделку с обоснованием. Позиции A и B нужно менять местами и повторять запуск.

🔬

Схема метода

ШАГ 1: Подготовить пару → настоящее фото-эталон + подозрительное (позицию A/B выбрать случайно)
ШАГ 2: Один промпт → «одно реальное, другое сгенерировано, какое фейк?» + ответ в JSON (вердикт + обоснование)
ШАГ 3: Повторить 3–5 раз, меняя местами A и B → смотреть, стабилен ли вердикт
ШАГ 4: Проверить обоснования глазами → не доверять, пока не увидите названный артефакт сами

Шаги 2–3 выполняются в одном чате, каждый запуск в новом диалоге.

🚀

Пример применения

Задача: PR-менеджер конференции по маркетплейсам собирает афишу. Новый «спикер из Новосибирска» прислал портрет, и он подозрительно гладкий. Настоящий портрет другого спикера, которого вы снимали лично, есть в архиве. Нужно понять, не нарисовала ли нейросеть лицо.

Промпт:

Тебе даны два изображения: IMAGE A и IMAGE B.
Одно из них — РЕАЛЬНАЯ фотография, другое — СГЕНЕРИРОВАНО ИИ.
Твоя задача — определить, какое изображение сгенерировано (фейк).

Сравни изображения по свету, теням, геометрии фона, коже, волосам, ушам,
украшениям, краям объектов. Для вердикта называй только то, что
реально видно на картинке; если уверенности нет — так и скажи.

Ответ строго в JSON:
{
  "fake": "A" или "B",
  "confidence": число 0–100,
  "evidence": ["конкретный признак 1 и где он на изображении", "признак 2"],
  "uncertain": "что в картинке не позволяет быть уверенным"
}

(A — архивный портрет, B — присланный. Второй запуск: поменять местами.)

Результат: модель вернёт JSON с вердиктом, оценкой уверенности и списком признаков с привязкой к местам на фото. Если вердикт совпал в нескольких запусках с разной расстановкой A/B, это сильный сигнал. Если вердикт «перепрыгивает» за позицией или признаки каждый раз новые, ответу верить нельзя. Названные модельные «улики» проверьте глазами, увеличив фото.

🧠

Почему это работает

Слабость. Одиночная картинка не даёт модели точки отсчёта. Современные генераторы убрали грубые пиксельные огрехи, и «просто выглядит ли это настоящим» превращается в субъективное впечатление. К тому же модели склонны придумывать убедительные обоснования для любого вердикта.

Сильная сторона. Мультимодальные модели хорошо замечают смысловые нестыковки: свет падает с двух сторон, фон «не складывается», руки и уши выглядят странно. Сравнение двух картинок помогает: реальное фото задаёт норму текстуры, шума и освещения, и отклонение видно ярче.

Как метод использует это. Формат «одно реальное, другое фейк» превращает открытую задачу в выбор из двух: проще, и случайное угадывание даёт 50%. Перестановка A и B убирает позиционную предвзятость. Повторные запуски показывают, держится ли вердикт.

Рычаги управления: - Эталон → берите фото в схожем формате (портрет, свет, разрешение). Чем похожее условия, тем меньше ложных срабатываний. - Число прогонов → 3–5 для важного решения, 1–2 для беглой проверки. - Поле uncertain → убери, если хочешь только вердикт. Оставь, чтобы видеть слабые места. - Список признаков в промпте → расширь под свой случай (текст на одежде, украшения, зубы). - Выбор модели → новая версия топовой модели заметно лучше старой.

📋

Шаблон промпта

Оригинальная формулировка авторов (парный режим):

You are presented with two images, labelled IMAGE A and IMAGE B. One is a REAL photograph, and the other is AI-GENERATED. Your task is to identify which image is the AI-generated fake.

Авторы просили бинарный ответ и обоснование. Рабочая версия на русском:

Тебе даны два изображения: IMAGE A и IMAGE B.
Одно из них — РЕАЛЬНАЯ фотография, другое — СГЕНЕРИРОВАНО ИИ.
Твоя задача — определить, какое изображение сгенерировано.

Ответ строго в JSON:
{
  "fake": "A" или "B",
  "confidence": число 0–100,
  "evidence": ["{признак}: {где на изображении}"],
  "uncertain": "{что мешает быть уверенным}"
}

Что подставлять: - IMAGE A / IMAGE B — в одну позицию кладёте эталон, в другую проверяемое. На следующем запуске меняете местами. - Эталон — фото, в реальности которого вы уверены, желательно в том же жанре (портрет к портрету). - Поля evidence и uncertain можно убрать, если нужен только вердикт, но тогда вы теряете возможность проверить логику.

⚠️

Ограничения

⚠️ Нужен надёжный эталон: метод построен на условии «одно реальное, другое фейк». Если оба снимка сгенерированы или оба настоящие, модель всё равно выберет одного «виновного».

⚠️ Обоснования могут быть выдуманными: авторы отдельно проверяли, называет ли модель реально существующие артефакты или «галлюцинирует». Предыдущие работы показывали, что модели уверенно описывают несуществующие искажения. Не принимайте объяснение на веру.

⚠️ Точность зависит от модели: старые и слабые версии заметно хуже новых. Между генераторами тоже есть разброс: одни подделки ловятся почти всегда, другие сложнее.

⚠️ Только полностью синтетические лица: подмена лица в видео (face-swap) и правка настоящих фото в исследование не входили.

⚠️ Не доказательство: это быстрый фильтр, а не судебная экспертиза. Для решений с последствиями (увольнение, отказ, обвинение) нужна независимая проверка.

⚠️ Опора на метки ненадёжна: при проверке картинок Gemini с меткой SynthID точность определения падала. Не рассчитывайте, что «метка поможет модели».

⚠️ Доступный фрагмент статьи обрезан: результаты сравнения одиночного и парного режимов и итоги аудита обоснований в нём не показаны. Выводы здесь опираются на аннотацию и описание методики.

🔍

Как исследовали

Исследователи собрали набор из 400 лиц: 50 настоящих портретов из датасета FFHQ и 350 сгенерированных семью топовыми генераторами, по 50 каждым. Промпты для генерации составили по матрице (возраст, пол, этничность, профессия, свет), чтобы модели не цеплялись за демографические стереотипы. Картинки брали через API, чтобы не было логотипов и сжатия интерфейса.

Шесть мультимодальных моделей проверяли в трёх экспериментах. В первом им показывали одну картинку. Во втором — пару (настоящее и фейк, позиции случайны). В третьем — Gemini проверяли на собственных картинках в пяти вариантах: чистая контрольная, с видимым логотипом-«искрой», с невидимой SynthID и их комбинации. Метку обрезали или пересэмплировали, чтобы понять, на что реально смотрит модель.

Результат: лучшая модель доходила до 97,9% в парном режиме против отдельных генераторов, среднее по парам составило 82,5%. Точность сильно различалась между поколениями моделей. Неожиданность: картинки с SynthID определялись примерно на 10% хуже, чем контрольные. Авторы предполагают, что встраивание метки подавляет часть видимых артефактов. Вывод для практики: модели в основном опираются на структурные странности, а не на цифровые метки.

Для проверки честности обоснований авторы взяли 10 картинок и прогнали каждую по 5 раз через каждую модель. Затем вручную сверили названные артефакты с реальными: «подтверждённый признак» или «галлюцинация».

💡

Адаптации и экстраполяции

🔧 Техника: добавить перестановку и голосование → устойчивый вердикт

Авторы рандомизировали позиции A и B. В работе это можно превратить в рутину: запустить 4 раза (2 раза в одном порядке, 2 в обратном) и принимать только вердикт, который выпал во всех запусках.

Мини-протокол:
Запуск 1: A=эталон, B=проверяемое
Запуск 2: A=проверяемое, B=эталон
Запуск 3–4: повторить в новых диалогах
Вывод: «подозрительно», если проверяемое названо фейком в ≥3 из 4

🔧 Техника: потребовать «привязку к месту» → проще отсеять выдумки

Вместо "evidence": ["..."] просите: «для каждого признака укажи область: левое ухо, воротник, фон справа». Проверяя названные области, вы быстро увидите, где модель придумывает.

Экстраполяция (гипотеза, в статье не проверялась): тот же принцип «эталон + кандидат вместо одиночного объекта» можно попробовать для текстов: показать модели образец вашего живого стиля и подозрительный текст. Эффект здесь не измерялся, считайте это идеей для самостоятельной проверки.

🔗

Ресурсы

  • Работа: Beyond Generation: Using Multimodal LLMs as Detectors of LLM-Generated Deepfake Facial Images
  • Авторы: Olivia Salamon, Virginia N. L. Franqueira, Shujun Li
  • Университет: Institute of Cyber Security for Society (iCSS), School of Computing, University of Kent, Великобритания
  • Данные и скрипты: репозиторий OliviaSalamon/dissertation-corpus на GitHub
  • Упомянутое: SynthID (Google DeepMind), датасет FFHQ, протокол Two-Alternative Forced Choice (выбор из двух)

📋 Дайджест исследования

Ключевая суть

Парадокс: у картинок с невидимой меткой Google SynthID модель находила подделку хуже, а не лучше. Метод парного сравнения позволяет проверить, не нарисовала ли нейросеть лицо на фото, и метки для этого не нужны. Кладёшь рядом два снимка: заведомо настоящий и подозрительный, и просишь выбрать фейк. Это парное сравнение: у модели есть эталон реальности, а не одна картинка «в вакууме». Лучшие модели почти не ошибаются против отдельных генераторов, а слабые отвечают как подброшенная монетка.

Принцип работы

Процесс из трёх ходов: эталон и подозрительное фото, выбор из двух, перестановка и повтор. Не спрашивай «это настоящее лицо?». Скажи, что одно из двух точно фейк, и попроси найти его. Модель получает эталон реальности. Это как сомелье, которому дали бутылку с настоящим вином. Подделку рядом с ней найти проще, чем гадать по одному глотку. Позиции A и B меняй местами. Иначе модель может просто любить букву «B». Повтори запуск 3-5 раз. Если вердикт держится при любой расстановке, это сильный сигнал. Если он прыгает за позицией, верить нельзя.

Почему работает

У одиночной картинки нет точки отсчёта. Современные генераторы убрали грубые пиксельные огрехи, и вопрос «похоже на настоящее?» превращается в гадание. Зато модели хорошо видят смысловые нестыковки. Свет падает с двух сторон. Фон «не складывается». Уши и руки выглядят странно. Рядом с настоящим снимком отклонения в свете, шуме и текстуре видны ярче, а открытая задача сжимается до выбора из двух, где угадывание даёт ровно 50%. Жесть в другом: вердикт может быть верным, а объяснение выдуманным. Модель уверенно говорит про «кривые тени у уха», а теней там нет. С SynthID то же странное дело. Точность на таких картинках упала примерно на десятую долю. Возможно, метка сглаживает видимые артефакты. Это гипотеза, а не доказанный факт.

Когда применять

Проверка лиц на фото → портреты спикеров, аватары, фото в анкетах и профилях, особенно когда у вас есть надёжный настоящий снимок в том же жанре (портрет к портрету, похожий свет и разрешение). НЕ подходит, если оба снимка сгенерированы или оба настоящие: модель всё равно назовёт одного «виновного». Не работает для подмены лица в видео и для правок настоящих фото. Для решений с последствиями (увольнение, отказ, обвинение) нужна независимая проверка. Это быстрый фильтр, а не экспертиза.

Мини-рецепт

1. Найди эталон: фото, в реальности которого уверен на 100%. Лучше в том же жанре и с похожим светом.
2. Разложи пару: в одну позицию эталон, в другую подозрительное. Позицию выбери случайно.
3. Скажи прямо: одно настоящее, другое сгенерировано. Попроси выбрать фейк и ответить в JSON: вердикт, уверенность, признаки.
4. Разреши сомневаться: добавь поле «что мешает быть уверенным». Без него модель будет изображать железную уверенность.
5. Поменяй местами A и B: запусти заново, каждый раз в новом диалоге. Для важного решения 3-5 раз, для беглой проверки 1-2.
6. Сверь вердикты: совпали при разной расстановке, значит сигнал сильный. Прыгают, значит ответу не верь.
7. Проверь улики глазами: увеличь фото и найди названный артефакт сам. Не нашёл, значит обоснование выдумано.
8. Подбери модель: новая версия топовой модели заметно лучше старой. На слабой модели получишь монетку.

Примеры

[ПЛОХО] : Это фото человека настоящее или сгенерировано нейросетью?
[ХОРОШО] : Тебе даны два изображения: IMAGE A и IMAGE B. Одно из них — РЕАЛЬНАЯ фотография, другое — СГЕНЕРИРОВАНО ИИ. Определи, какое изображение сгенерировано. Сравни свет, тени, геометрию фона, кожу, волосы, уши, украшения, края объектов. Называй только то, что реально видно на картинке. Если уверенности нет, так и скажи. Ответ строго в JSON: {"fake": "A" или "B", "confidence": число 0-100, "evidence": ["признак и где он на изображении"], "uncertain": "что мешает быть уверенным"} В позицию A кладёшь архивный портрет, который снимал лично. В позицию B кладёшь присланное фото «спикера из Новосибирска». Во втором запуске меняешь их местами. Оба раза модель указала на присланное фото и назвала признак, который ты нашёл при увеличении? Это серьёзный повод запросить исходник. Назвала разное? Не доверяй.
Источник: Beyond Generation: Using Multimodal LLMs as Detectors of LLM-Generated Deepfake Facial Images
ArXiv ID: 2610.21760 | Сгенерировано: 2026-10-16 08:20

Концепты не выделены.

📖 Простыми словами

Beyond Generation:UsingMultimodalLLMsas Detectors ofLLM-Generated Deepfake Facial Images

arXiv: 2610.21760

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

Это как пытаться распознать фальшивую купюру на ощупь в темноте: смотришь на один билет и думаешь, что вроде всё сходится. Но положи рядом настоящую сотку, и обман вскроется за секунду: сразу видно, где бумага дешевая, а где краска плывет.

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

Тестировали механику на лицах липовых спикеров для афиш, но паттерн универсален. Схема идеально ложится на отлов нарисованных отзывов на маркетплейсах, проверку документов в KYC-верификации и чистку фейковых аватарок на дейтингах. Главное правило: не заставляй AI быть экстрасенсом, а всегда подсовывай ему контрольный образец из базы.

Короче: анализировать подозрительный контент в вакууме — гарантированный слив, модель просто навешает тебе лапши на уши. Запомни простое правило: нет эталона — нет детекции. Сравнивай подозрительное с реальным лоб в лоб, иначе будешь вечно гадать, почему боты развели твою систему безопасности.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с