Способ детектирования и локализации фальсифицированной области в JPEG-изображениях
METHOD FOR DETECTING AND LOCALIZING A FALSIFIED AREA IN JPEG IMAGES

Заявленное техническое решение относится к области проверки подлинности изображений документов различных видов.
Из уровня техники известны различные способы детектирования и локализации фальсифицированной области в JPEG-изображениях (см. например, 1. S. Ye, Q. Sun and Е. Chang, "Detecting Digital Image Forgeries by Measuring Inconsistencies of Blocking Artifact, "2007 IEEE International Conference on Multimedia and Expo, 2007, pp. 12-15, doi: 10.1109/ICME.2007.4284574 [1], T. Bianchi, A. De Rosa and A. Piva, "Improved DCT coefficient analysis for forgery localization in JPEG images, "2011 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2011, pp.2444-2447, doi: 10.1109/ICASSP.2011.5946978 [2], Weihai Li, Yuan Yuan, Nenghai Yu, Passive detection of doctored JPEG image via block artifact grid extraction, Signal Processing, Volume 89, Issue 9, 2009, Pages 1821-1829, ISSN 0165-1684, https://doi.org/10.1016/j.sigpro.2009.03.025 [3]).
Однако, в работе [1] по изображению вычисляется мера blocking artifact measure (ВАМ). В данной работе для каждого блока 8 на 8 вычисляется доля несогласованных частот. Такой подход позволяет регистрировать несогласованные блоки даже при высоком качестве JPEG-сжатия истинного изображения. Кроме того, в работе [1] использовался другой метод оценивания матрицы квантования, метод, предложенный в настоящей заявке дает возможность надежно оценивать матрицу квантования не опасаясь влияния фальсифицированных областей.
В работе [2] предполагается, что исходные области будут подвергаться двойному сжатию, в то время как поддельные будут иметь только одно сжатие. Для поиска поддельных областей строиться статистическая модель, позволяющая оценивать вероятность, что область подвергалась двойному сжатию. В настоящей заявке предполагается, что фальсифицированное изображение сохранялось в формате без потерь, но также метод работает в случае сохранения фальсифицированного изображения в формате JPEG с высоким качеством. В отличие от работы [2], в заявленном способе каждый блок 8 на 8 определяется поддельным независимо, что позволяет выявлять даже небольшие области фальсификаций, на что, обычно, не способны статистические методы.
В работе [3] исследуются артефакты блоков JPEG-сжатия. Так как дискретное косинусное преобразование проходит отдельно в каждом блоке 8 на 8, границы между такими блоками заметны. Вставленная область будет иметь по предположению несогласованную сетку. Предлагаемый в настоящей заявке способ использует математическую модель DCT-коэффициентов, что позволяет с высокой вероятностью определять фальсифицированные участи не зависимо от того, что на них изображено и применим при высоком качестве сжатия истинного изображения, когда артефакты блоков слабо заметны.
Задачей заявленного изобретения является устранение недостатков известного уровня техники. Технический результат заключается в обеспечении способа детектирования и локализации фальсифицированной области в JPEG-изображениях, который позволяет выявлять с высокой вероятностью, точностью и надежностью даже небольшие области фальсификаций, независимо от того, что на них изображено и применим при высоком качестве сжатия истинного изображения, когда артефакты блоков слабо заметны, а также обеспечивает возможность надежно оценивать матрицу квантования, не опасаясь влияния фальсифицированных областей,
Поставленная задача решается, а заявленный технический результат достигается посредством заявленного способа детектирования и локализации фальсифицированной области в JPEG-изображениях.
Заявленный способ применим в том случае, когда дано изображение и необходимо определить, производились ли манипуляции меняющие содержимое (контент) изображения (операции копирования-вставки или сращивания) и локализировать фальсифицированные области. Например, обнаружить фальсификации на изображении документа и, тем самым, опровергнуть подлинность данных документа.
Заявленный способ детектирования и локализации фальсифицированной области в JPEG-изображениях заключается в следующем:
Рассматривается изображение в цветовом пространстве RGB. Предполагается, что истинное изображение было подвержено JPEG-сжатию, после чего, при помощи программного обеспечения, были выполнены фальсификации и измененное изображение было сохранено в формате без потерь.
Обнаружение фальсифицированной области основано на поиске несоответствий в структуре DCT-коэффициентов JPEG-изображения. Если изображение подвергалось JPEG-сжатию, то его DCT-коэффициенты при фиксированной частоте (вычисленные при том же положении сетки 8 на 8 пикселей, при котором производилось JPEG-сжатие) будут распределены возле значений кратных шагу квантования q, (числу стоящему в соответствующей частоте матрицы квантования при которой производилось JPEG-сжатие).
d∈[kq-1, kq+1], k∈Z
С большой вероятностью DCT-коэффициенты в фальсифицированной области не будут удовлетворять этому свойству. Так, например, при копировании-вставке при несовпадении внутренней сетки JPEG-сжатия вставленной области с внешней сеткой, DCT-коэффициенты вставленной области не будут иметь нетривиальных периодов, несмотря на то, что эта область сжималась с тем же качеством, что и истинное изображение. Вероятность несовпадения внешней сетки и внутренней 63/64. Иллюстрация истинного изображения подвергавшегося JPEG-сжатию с показателем качества 90 представлена на фиг. 1, на фиг. 2 - иллюстрация этого изображения с фальсификацией копирования-вставки, которая выполнена в программе paint.net с последующим сохранением в формате PNG (без потерь).
Вычисление DCT-коэффициентов изображения
Для последующих шагов алгоритма необходимо вычислить DCT-коэффициенты изображения с сохранением информации о положении соответствующих коэффициентам блоков 8 на 8 пикселей. Это достигается следующими действиями.
1. Дополнение сторон изображения до кратности 8 черными пикселями.
2. Трансформация цветового пространства из RGB в YCbCr.
3. Разбиение канала яркости в цветовом пространстве YCbCr (Y) на блоки 8 на 8 пикселей.
4. Применение дискретного косинусного преобразования для каждого блока 8 на 8 пикселей.
5. Отбрасывание из рассмотрения блоков, в которых присутствуют пиксели с насыщенными значениями (0 или 255) в любом канале RGB и блоков, в которых яркость (Y) в YCbCr в момент перехода из RBG в YCbCr выходила за границы диапазона [0, 1]. Такие пиксели назовем насыщенными.
Пункт 5 необходим, так как DCT-коэффициенты в таких блоках могут вести себя непредсказуемым образом и не принадлежать диапазону [kq-1, kq+1], где k ∈ Z, q - шаг квантования.
Оценка матрицы квантования
По вычисленным DCT-коэффициентам оценивается матрица квантования. Чтобы избежать влияния фальсифицированной области на оценку матрицы, изображение разбивается на несколько блоков. Далее для каждой из 64 частот в каждом блоке оценивается шаг квантования. Он состоит в следующих действиях.
1. Вычисление факторной гистограммы h. h(x) - количество DCT - коэффициентов, которые делятся на х без остатка.
2. Нормализация h на общее количество DCT-коэффициентов.
1
3. Оценка шага квантования, как , для некоторого порога Т.
Если  конец оценивания.
2
2
4. В случае  нахождение у=max{x | h(x)≥Т] (для некоторого Т). Если у<4 конец оценивания.
5. Построение модифицированной факторной гистограммы  -количество DCT-коэффициентов, которые делятся на х без остатка и не принадлежат множеству М={ky±1, k∈Z}.
6. Нормализация  на общее количество DCT-коэффициентов не принадлежащих множеству М.
3
7. Вычисление  для некоторого порога Т. Если  шаг квантования оценивается как  иначе как . В пунктах 4-7 производится попытка устранить излишний шум в гистограмме DCT-коэффициентов и произвести оценку заново. Если получается найти достаточно большой период (>3) он принимается как истинный.
Для каждой частоты берется мода шага квантования по всем блокам, где оценка шага не равна 1.
Где  - оценка шага квантования по всему изображению для i-ой частоты,
0
- оценка шага квантования для -ой частоты -го блока не равная 1, М - оператор взятия моды.
Если , то шаг квантования для i-ой частоты полагается равным 1 и не участвует при поиске несоответствий в пункте 2.4, так как множество диапазонов  в этом случае заполняет почти всю числовую ось. В случае, когда истинный шаг квантования равен 1, несмотря на то, что мода берется по неединичным значениям, полученная оценка будет меньше пяти в силу фундаментального распределения DCT-коэффициентов и не будет участвовать в дальнейшем.
Это позволяет оценивать матрицу квантования устойчиво к фальсифицированным областям, даже если они занимают больше половины изображения.
Поиск положения сетки JPEG-сжатия
В случае, если оцененная матрица квантования состоит из большого количества единиц (малое количество частот с найденными нетривиальными периодами в гистограмме DCT-коэффициентов), можно предположить, что либо истинное изображение было сжато с высоким показателем качества, либо, что разбиение изображения на блоки 8 на 8 пикселей (сетка сжатия), которое мы выбрали, не совпадает с разбиением, которое применялось при JPEG-сжатии.
Чтобы исключить второй вариант, применяется алгоритм поиска положения сетки JPEG-сжатия. Берется область некоторого размера на изображении. Она выбирается так, чтобы гистограммы DCT-коэффициентов из этой области были достаточно содержательны. Для этого исключаются слабо текстурированные области и области в которых много насыщенных пикселей. Для положения сетки JPEG-сжатия существует 64 варианта. Для каждого из возможных положений делается оценка матрицы квантования, как описано ранее, но только для взятой области, а не всего изображения. Принимается первое положение, в оцененной матрице которого достаточное количество нетривиальных значений.
Стоит отметить, что искать положение сетки JPEG-сжатия таким алгоритмом изначально (до выполнения вышеуказанных пунктов) не резонно с точки зрения вычислительных затрат. С большой вероятностью положение сетки совпадает с наивным разбиением указанном ранее.
Поиск несоответствий DCT-коэффициентов матрице квантования
1
2
1
2
1
2
1
Строиться два вспомогательных изображения I и I из значений следующим образом. Каждому блоку 8 на 8 из разбиения при выбранном положении сетки JPEG-сжатия сопоставляется пиксель с теми же координатами в изображении I и пиксель в изображении I. Размеры I и I будут совпадать. В каждый пиксель I записывается количество частот, при которых соответствующий этому пикселю-блоку DCT-коэффициент не принадлежит ни одному диапазону из множества  - шаг квантования из оцененной матрицы квантования, соответствующий частоте.
2
2
1
2
2
3
1
2
Вводится множество М таких частот, что хотя бы один блок при этой частоте имел DCT-коэффициент не принадлежит ни одному диапазону из множества  - шаг квантования из оцененной матрицы квантования, соответствующий частоте. Другими словами каждая частота из М дала вклад хотя бы в один пиксель I. В каждый пиксель I записывается количество частот из множества М, при которых соответствующий этому пикселю-блоку DCT-коэффициент имеет абсолютное значение больше единицы. Формируется вспомогательное изображение значений I с теми же размерами, что у I и I, по следующей формуле:
где t подбирается экспериментально.
Таким образом получается изображение из значений в диапазоне [0, 1]. Значение в каждом пикселе можно интерпретировать как долю частот, при которых соответствующий блок является несогласованным, в смысле DCT-коэффициентов, среди тех частот при которых есть несогласованные, (множество М2).
1
2
3
Контрастированные изображения I, I, I представлены на фиг. 3, фиг. 4, фиг. 5 соответственно.
Локализация фальсифицированных областей
3
4
4
4
5
5
4
По изображению I формируется вспомогательное изображение I, на котором дополнительно применяются морфологическое открытие и размытие для устранения паразитных элементов, возникающих вследствие случайных отклонений DCT-коэффициентов. По изображению I вычисляется максимум - оценка вероятности наличия манипуляций. По изображению I строится изображение I с размерами исходного изображения. Значение пикселей внутри каждого блока 8 на 8 изображения I равно значению пикселя изображения I соответствующего этому блоку.
5
4
5
Оценка вероятности наличия манипуляций и изображение I - результат работы алгоритма. Для данного примера (фиг. 2) оценка вероятности наличия манипуляций равна 0.68302. Контрастированные изображения I, I представлены на фиг. 6 и фиг. 7 соответственно.
Таким образом, вышеизложенный метод детектирования и локализации фальсифицированной области в JPEG-изображениях позволяет выявлять некоторые случаи фальсификации данных на изображении без привязки к его содержимому и обладает потенциальной возможностью применения для проверки подлинности изображений документов различных видов.