Семейство первое: изображение было деградировано
Самая большая категория с большим отрывом. Сигнал, который считывает детектор, живет в мелкой текстуре, а эта текстура — первое, что отбрасывается при каждом сжатии, изменении размера и скриншоте.
- Повторные сохранения JPEG. Точность падает с 91.3 процента на чистых оригиналах до 84.6 процента при качестве 40 на опубликованном бенчмарке, и ещё ниже в «диких» условиях.
- Скриншоты. Повторный рендеринг в разрешении экрана с полной потерей исходного файла.
- Уменьшение размера. Меньше пикселей, меньше текстуры, а ниже примерно 576 пикселей по меньшей стороне — вообще никакой карты регионов.
- Перекодирование платформой. Каждая загрузка — это как минимум одно перекодирование, а большинство изображений прошли через несколько.
- Агрессивное кадрирование. Небольшой фрагмент большого изображения теряет контекст, на котором была откалибрована модель.
Деградация подталкивает оценки к середине в обоих направлениях: подлинные фотографии — вверх, сгенерированные изображения — вниз. Средний результат на явно пересылавшемся файле обычно означает проблему с файлом, а не с картинкой.
Семейство второе: генератор был неизвестен
Детектор распознает то, на чем он обучался. Модель, выпущенная после завершения обучения, — это незнакомая территория, и незнакомые данные имеют тенденцию получать низкие оценки, а не неопределенные.
- 1 Генератор выпущен Ничто не видело его результатов
- 2 Окно слепоты Новые результаты оцениваются как реальные
- 3 Образцы собраны Недели сбора и разметки
- 4 Детектор обновлен До следующего релиза
Это порождает уверенные ложноотрицательные результаты, которые являются самыми опасными. Инструмент не сигнализирует о неуверенности; он сообщает, что изображение выглядит хорошо, потому что оно не похоже ни на что, чему его учили помечать.
Семейство третье: контент напоминает синтетическую текстуру
Некоторые подлинные изображения просто сложны для анализа. Не потому, что было сделано что-то, чтобы обмануть, а потому, что содержащаяся в них текстура выглядит так же, как текстура, производимая генерацией.
- Ночной режим телефона и вычислительная фотография. Несколько кадров объединены и очищены от шума программным обеспечением, что переписывает мелкие детали по всему изображению.
- Сильная ретушь. Разглаживание кожи и частотное разложение перестраивают текстуру на лицах.
- Увеличенные изображения (апскейл). Увеличение придумывает пиксели, а придуманные пиксели — это сгенерированные пиксели.
- Иллюстрации, 3D-рендеры и CGI. Никогда не были сфотографированы, поэтому ничто в них не напоминает снимок камеры.
- Стоковая фотография с сильным шумоподавлением. Коммерчески обработана, чтобы выглядеть чистой, что считывается как синтетика.
- Очень плоские изображения. Пустые стены, чистое небо и простые фоны несут мало сигнала в любом направлении.
Сравните с сгенерированным кадром в девяностых и локальным редактированием с одним горячим тайлом. Этот паттерн не является ни тем, ни другим.
Группа 4: намеренное обхождение
Это самая малочисленная категория, вызывающая наибольшее беспокойство. Любой метод, перезаписывающий пиксельные взаимосвязи, снижает балл, причем большинство из них делают это, заметно повреждая изображение.
Исключение составляет компоновка. Сгенерированный объект, помещенный на настоящую фотографию, сохраняет реальную текстуру на большей части кадра. Именно поэтому существует карта областей и именно поэтому оценки по всему кадру недостаточно для борьбы с преднамеренными искажениями.
Как выглядит каждый сбой при обнаружении
| Что вы видите | Наиболее вероятная причина | Что делать |
|---|---|---|
| Настоящее фото: высокий балл, равномерно «теплая» карта | Обработка или сжатие | Проверьте исходный файл |
| Настоящее фото: высокий балл, один «горячий» фрагмент | Законное редактирование или плоская область | Посмотрите, что находится в этом фрагменте |
| Сгенерированное изображение: низкий балл, поврежденный файл | Сжатие или скриншот | Считайте это отсутствием ответа, а не чистым результатом |
| Сгенерированное изображение: низкий балл, чистый файл | Неизвестный генератор | Опирайтесь на данные о происхождении и источниках |
| Балл находится в среднем диапазоне | Недостаточно данных для однозначного вывода | Найдите более качественную копию |
| Карта областей не создана | Изображение слишком мало для разбивки на фрагменты | Найдите изображение большего размера |
Чем это не является
Важно отделить ограничения от того, что детектор никогда не пытался делать. Инструмент не ошибается, если не выполняет действия вне своей компетенции.
- Он не может сказать, кто создал изображение. Ничто в пикселях не связывает файл с конкретным человеком.
- Он не может сказать, является ли контент правдивым. Настоящая фотография может содержать ложную подпись, и это гораздо более распространенный вид обмана.
- Он не может назвать генератор. Это могут сделать только учетные данные или маркер в файле.
- Он не может выделить область редактирования. Карта областей показывает места концентрации сигнала, а не границы манипуляции.
Как выстроить процесс, допускающий такие погрешности
Описанные выше сбои являются постоянными особенностями, а не ошибками, ожидающими исправления. Поэтому полезный вопрос заключается не в том, как их избежать, а в том, как спроектировать процесс с их учетом.
Используйте более одного типа сигнала. Пиксели, происхождение и история публикации могут подводить в разных местах, и изображение, которое выглядит подозрительным для всех трех источников, — гораздо более весомый довод, чем подозрение только по одному из них.
Направляйте сигналы на проверку человеку, а не на автоматическое действие. Любой серьезный сбой, описанный выше, становится приемлемым, если следствием ошибки будет более тщательная проверка, и неприемлемым, если следствием является автоматический отказ.
Запрашивайте оригинал, прежде чем делать выводы. Значительная доля неверных результатов решается на этом этапе, поскольку файл, который вам предоставили, почти никогда не является лучшей существующей копией.