Я не эксперт в этом, но насколько мне известно, алгоритмы структурного управления изображениями, такие как заполнение с учетом содержимого в Photoshop (основанное на алгоритме PatchMatch ), делят изображение на так называемые патчи определяется общей статистикой интенсивности. Затем выполняется манипуляция путем замены целевого патча исходным патчем со статистикой, которая максимально соответствует соседним патчам (минимизируя некоторую метрику расстояния).
Следовательно, на поддельном изображении вы найдете клонированные области, например, патчи с одинаковым или почти одинаковым распределением интенсивности. Чтобы обнаружить это, мой наивный подход состоял бы в том, чтобы разделить изображение на множество маленьких подизображений и использовать каждое из них в качестве маски фильтра, чтобы оно было взаимно коррелированным с полным изображением. Я ожидаю, что подлинные изображения показывают только один более или менее четкий глобальный максимум. Подделанное изображение потенциально может создать два или более «глобальных» максимума, имеющих одинаковую высоту.
Но, похоже, целая группа людей выпустила некоторый открытый исходный код для обнаружения подделок, скорее всего, с использованием более разумных подходов, чем мой -> Тема Github: Обнаружение фальшивки .