Я решил немного углубиться в эту тему и разобраться, как работают детекторы ИИ-фото. Повторить гугловский детектор конечно не получится, но можно попытаться хотя бы чуть-чуть разобраться в теме. Для этого прогнал 12 публичных детекторов AI-картинок на 20К фото реальных людей и на нескольких генераторах лиц.
📝 Сжатие фото стирает следы
- Лучшая модель-детектор (haywoodsloan) на нетронутом оригинале находит 87% фейковых лиц
- Тот же файл, уменьшенный до 512 пикселей: находит уже 34% фейков
- Уменьшили до 256 - 11,4%. До 150 (размер аватарки) - 1,5%
На оригинале детектор уверен, что это ИИ-фото на 99,9%, после уменьшения до 400 пикселей - на 8,6%.
Почему так происходит? JPEG накладывает блочную сетку 8x8, ресайз меняет пиксельную раскладку, и поэтому теряется отпечаток генерации.
📝 А что с другими генераторами?
- Лица, нарисованные современными генераторами по тексту (Stable Diffusion, Midjourney, DALL-E) - ловятся на 85% даже сжатыми
- Лица с генераторов, незнакомых детектору, под сильным сжатием: 5-8% (StyleGAN-подобные генераторы вроде Generated Photos, DeepFaceLab, Roop). Но тот же StyleGAN2 на оригинальном разрешении ловился на 87%. Разрешение здесь решает больше, чем выбор генератора.
Если совместить две модели которые ошибаются по-разному, то детекция сжатых картинок увеличивается с 55% до 76% - есть потенциал определения ИИ даже после сжатия.
Подмена лица на реальной фотографии - ровно 0%. Детектор слеп полностью (Face2Face, FaceSwap и NeuralTextures из датасета FaceForensics++, плюс видео-дипфейки DFDC и Celeb-DF; тот же принцип у DeepFaceLab и Roop)
Метка SynthID переживает сжатие намного лучше пиксельных следов. Если лицо не встречается больше нигде в интернете - это также сильный сигнал.
