АЛГОРИТМ ОБНАРУЖЕНИЯ ИСКАЖЁННЫХ ДУБЛИКАТОВ НА ЦИФРОВЫХ ИЗОБРАЖЕНИЯХ С ИСПОЛЬЗОВАНИЕМ БИНАРНЫХ ГРАДИЕНТНЫХ КОНТУРОВ
А.В. Кузнецов12, В.В. Мясников1,2 1 Самарский государственный аэрокосмический университет имени академика С.П. Королёва (национальный исследовательский университет) (СГАУ), Самара, Россия, 2Институт систем обработки изображений РАН, Самара, Россия
Аннотация
Встраивание дубликатов является одним из самых очевидных способов намеренного искажения цифровых изображений с целью сокрытия содержащейся в последних информации. Процесс встраивания заключается в копировании фрагмента изображения из одной области в другую область того же изображения. При этом копируемый фрагмент может быть подвержен различным преобразованиям: контрастированию, добавлению шума, масштабированию, повороту, а также различным их комбинациям. Существующие подходы к поиску искажённых областей основаны на вычислении векторов признаков в процессе разбиения изображения на пересекающиеся блоки и использовании этих векторов для поиска близких в евклидовом пространстве областей. В данной работе мы предлагаем использовать бинарные градиентные контура, которые являются устойчивыми к локальному контрастированию, аддитивному шуму и компрессии. В работе также представлены аргументация выбора этого способа для поиска искажённых дубликатов, а также результаты экспериментальных исследований различных вариантов реализации локальных бинарных шаблонов.
Ключевые слова: обнаружение дубликатов, искажённый дубликат, локальный бинарный шаблон, бинарные градиентные контура, вектор-признаков, к-ё-дерево.
Цитирование: Кузнецов, А.В. Алгоритм обнаружения искажённых дубликатов на цифровых изображениях с использованием бинарных градиентных контуров / А.В. Кузнецов, В.В. Мясников // Компьютерная оптика. - 2016. - Т. 40, № 2. - С. 284-293. - Б01: 10.18287/2412-6179-2016-40-2-284-293.
Введение
В эпоху цифровых технологий невозможно представить себе более популярного средства представления и передачи информации, чем цифровые изображения и видео. Они используются во всех сферах жизнедеятельности и имеют приложение во многих отраслях науки и техники. Так, фотографии применяются повседневно в СМИ, социальных сетях, облачных сервисах хранения данных. Согласно статистике [1], в 2015 году в известной социальной сети Facebook ежедневно загружалось в среднем 300 миллионов цифровых изображений. Следует учесть, что в последние несколько лет появилось огромное количество веб-приложений (Instagram, Twitter, Flickr и т.д.), которые ежедневно осуществляют сопоставимый с Facebook трафик цифровых изображений. Такой колоссальный объём данных не может не интересовать злоумышленников, потому что человеку свойственно сначала воспринимать информацию как она есть, а затем уже подвергать её критике. В зависимости от содержащейся в цифровом изображении информации, она может быть использована в компрометирующей форме и привести к серьёзным политическим и экономическим последствиям, если контра-фактность данных не будет обнаружена. Именно поэтому в современном мире цифровые данные должны быть как можно лучше защищены от изменений злоумышленниками, чтобы не быть лёгким оружием в информационном противостоянии.
Одним из самых часто используемых способов подделывания изображения является копирование и вставка области этого же изображения. Такие атаки
называются дублированием фрагментов цифрового изображения, а копируемые области - дубликатами. Между копированием и вставкой к дубликату могут применяться различные преобразования: геометрические (масштаб, поворот), яркостные (контрастирование, добавление шума) и другие. Такие дубликаты будем называть искажёнными. В рамках данной работы под искажениями будем понимать изменения, возникающие в результате линейного контрастирования, внесения аддитивного шума, компрессии. Очевидно, что внесение изменений в копируемый фрагмент изображения приводит к усложнению обнаружения данного вида атаки.
В настоящее время существует большое количество работ, посвящённых разработке алгоритмов обнаружения искажённых и неискажённых дубликатов: общим в них является разработка некоторых признаков, инвариантных к вносимым в ходе преобразований искажениям, вычисляемых для положений скользящих окон с перекрытиями [2]. Ранее авторами работы были разработаны алгоритмы обнаружения неискажённых дубликатов, в основе которых лежали вычисление значений хэш-фукнций в скользящем окне и дальнейший поиск одинаковых значений при помощи хэш-таблицы [3-5]. Предложенные решения показали высокую эффективность при низкой вычислительной сложности.
Существующие алгоритмические решения по обнаружению искажённых дубликатов могут быть разбиты на пять основных групп [2]: 1) алгоритмы на основе вычисления моментных признаков (Blur [6], Zernike [7]);
2) алгоритмы на основе признаков снижения размерности (PCA [8], SVD [9]);
3) алгоритмы на основе анализа локальных яркост-ных характеристик (Luo [10], Bravo [11]);
4) алгоритмы на основе анализа частотных характеристик (DCT [12], FMT [13]);
5) алгоритмы, определяющие ключевые точки на изображении (SIFT [14], SURF [15]).
Предлагаемый в данной работе алгоритм относится к группе алгоритмов, использующих для поиска дубликатов признаки, вычисляемые на основе анализа локальных яркостных характеристик (группа 3). Одним из способов вычисления локальных яркостных характеристик является построение локальных бинарных шаблонов (ЛБШ, Local Binary Pattern). ЛБШ ранее уже использовались для обнаружения искажённых дубликатов [16-17]. Тем не менее в работе по классификации текстур [18] было отмечено, что ЛБШ являются неустойчивыми к шуму и необходимо использовать более устойчивые вариации локальных шаблонов для построения признаков, инвариантных к разного рода искажениям.
В данной работе мы предлагаем новый алгоритм обнаружения искажённых дубликатов на основе вычисления признаков с использованием бинарных градиентных контуров (БГК), предложенных в работе [19] A. Fernández и коллективом соавторов для решения задачи классификации текстур. БГК являются модификацией ЛБШ, и их использование позволяет с высокой точностью обнаруживать дубликаты с внесёнными искажениями, что подтверждается результатами экспериментальных исследований.
Работа построена следующим образом. В первом пункте дано описание ЛБШ и его распространённых форм, используемых для повышения устойчивости к искажениям: стандартный ЛБШ, устойчивый к повороту ЛБШ, полный ЛБШ и его модификация, устойчивый ЛБШ и локальный тернарный шаблон (ЛТШ). Второй пункт работы посвящён описанию трёх форм БГК, которые будут применяться в работе. Третий пункт посвящён описанию алгоритма обнаружения дубликатов, в рамках которого используются новые признаки на основе БГК. В четвёртом пункте приводятся результаты экспериментальных исследований разработанного алгоритма обнаружения искажённых дубликатов в зависимости от параметров вносимых искажений.
1. Локальный бинарный шаблон и его разновидности
Локальный бинарный шаблон
ЛБШ является достаточно известным и часто используемым в распознавании образов локальным признаком цифровых изображений. Этот вид локальных признаков привлекает внимание исследователей благодаря низкой вычислительной сложности, инвариантности к равномерному изменению яркости и способности описывать текстуры [20, 21]. На практике оператор ЛБШ совмещает свойства статистического и структурного текстурного анализа, позволяя строить дескрипторы цифровых изображений.
Идея ЛБШ принадлежит Wang [20], и была позднее развита Ojala и коллективом соавторов в работах [21, 22], где шаблон использовался в задачах классификации. Впоследствии ЛБШ получили широкое применение в обнаружении и распознавании лиц, в обнаружении движущихся объектов и в других областях анализа цифровых сигналов. Под ЛБШ понимают некоторое описание окрестности пикселя в бинарной форме. В базовой версии для построения ЛБШ использовалось окно 3*3 в окрестности центрального пикселя. 8 соседних значений сравнивались с центральным, и в зависимости от результата сравнения центральному пикселю ставилось в соответствие 8-битное число, которое называется кодом ЛБШ (рис. 1) (в данном случае значению "0" соответствует ситуация, когда центральное значение превосходит соседнее, "1" - наоборот).
255 217 130 1 1 0
38 159 235 w 0 1
160 220 90 1 1 0
1 2 4
128 8
64 32 16
Окрестность 3x3
Применение предиката
Весовые коэффициенты
Рис. 1. Базовая версия ЛБШ. Код ЛБШ -1+2+8+32+64=107
По аналогии с этим алгоритмом в дальнейшем стали использоваться более широкие окрестности центрального пикселя для построения кода (рис. 2).
Рис. 2. Центрально-симметричные окрестности пикселя для различных пар значений (Р, Я): а) (8, 1) и б) (16, 2)
Определим изображение как функцию яркости пикселя /(х,у). Пусть также определён бинарный вектор Ь длины Р:
Ь = {Ь0,...,Ьр_1),Ъг е В,В = {0,1}.
Определим далее для центрального пикселя /с =/хс,ус) Р равноудалённых соседей / =/(х, у), I = 0, Р -1, расположенных на окружности радиуса Я. Тогда код ЛБШ определяется следующим образом:
р-1 р-1
LBP,
P,R
X , Ус ) = X1 ( f' - fc )• 2 ° S
b ■ 2 '
(1)
i=0
i=0
где I - индикатор события, определяемый следующим образом:
/ ч fi, n = true,
I (n)= Г
[0, n = false.
В терминах, введённых в работе В.В. Мясникова [23], выражение (1) называется строгим кодовым преобразованием, так как приводит к взаимно-однозначному
переводу бинарной последовательности в целочисленное значение. Так, например, для 8-компонентного вектора b имеем 256 различных значений кодов ЛБШ. Как было описано в работе [18], такое преобразование является чувствительным к шумовым искажениям (квантование вследствие округления при контрастировании, добавление шума и др.), при этом границы чувствительности можно указать явно [23]. Ввиду проблемы чувствительности ЛБШ в прикладных задачах часто используются другие формы ЛБШ, которые будут описаны далее в этом разделе.
Стандартная форма шаблона
Одним из способов решения проблемы чувствительности ЛБШ к шумовым искажениям является использование стандартных ЛБШ (Uniform LBP) [24], отличающихся повышенной устойчивостью к указанным выше искажениям. Стандартные ЛБШ позволяют выявлять локальные примитивы, такие как: контура (edge), пятна (spot), углы (corner). Дадим определение кода стандартного ЛБШ. Для этого введём несколько понятий.
Определим функцию количества переходов для бинарного вектора b:
P-2
U (b) = X I (ьг Ф ьм).
(2)
г=0
Кодом стандартного ЛБШ будем называть код ЛБШ следующего вида:
LBPUR (хс, Jc ) =
XI (f > f )• 2г ,U (b )< 2,
г=0
P •(P —1) + 3, иначе.
(3)
Примерами стандартных ЛБШ с параметрами (Р, Я) = (8,1) являются битовые вектора 11000111, 11111000, 00000000. Исходя из определения, для Р-битного вектора Ь количество кодов стандартного ЛБШ ЬБРр!к составляет Р-(Р-1)+3. Достаточно очевидно, что стандартные ЛБШ не являются строгими кодовыми преобразованиями. В частности, если для ЛБШ с параметрами (Р, Я) = (8,1) имеем 256 различных кодов, для стандартного ЛБШ имеем только 59 кодов. Такое уменьшение числа кодов позволяет снизить количество ошибок, возникающих вследствие шумовых искажений, но при этом ведёт к росту числа коллизий (ложно обнаруженных дубликатов).
Форма стандартного шаблона, устойчивая к повороту В работе [22] приводится также устойчивая к повороту форма стандартного ЛБШ, в основе которой лежит выбор минимального значения кода стандартного ЛБШ среди всех его циклических сдвигов. Пусть для некоторого положения (хс, ус) получен код стандартного ЛБШ ЬБРр!к (хс, ус), тогда код устойчивого к повороту стандартного ЛБШ вычисляется следующим образом:
LBPR
) [min W(bBPpR,k)U(b) < 2 ppr (xc,Ус)= j k , (4)
[P +1, иначе
где W(bBPpR, k) - функция циклического сдвига кода стандартного ЛБШ на k бит влево. Преобразование (4) приводит к формированию только P+1 различных значений кодов.
Полная форма шаблона
Отличительной особенностью другой формы ЛБШ, называемой полной [25-26], является аккумулированное описание локальной структуры изображения с использованием трёх составляющих: знаковой, амплитудной и центральной. Эти компоненты могут быть использованы в любой комбинации для построения расширенного кода.
Знаковая составляющая CLBP_Sp,r представляет из себя код ЛБШ вида (1). Амплитудная составляющая представляет из себя ЛБШ, код которого вычисляется следующим образом:
p-i
CLBP _Mpr (xc,Ус) = XI(f - fc\ > EM )• 2г, (5) i=0
где Em - среднее значение амплитуд \f~fc\. Центральная составляющая позволяет учитывать значение центрального пикселя fc при построении кода, и её код, соответственно, выглядит следующим образом:
CLBP _ Cp,R (xc, Ус) = I (fc > Ef), (6)
где Ef - среднее значение изображения f.
Модификация полной формы шаблона
Другим подходом к построению кодов полного ЛБШ является использование вместо центрального значения fc различных преобразований [26]:
ALG( f ) =
i—1
X f + fc )
j=0
P +1
WLG( fc ) =
P—1
X(fjj +afc)
j=0
(7)
(8)
Р + а
где- равноудалённые соседние пиксели для пикселя /с, ае] Выражение (8) может быть, например, использовано при вычислении амплитудной составляющей СЬБР Мрд (5) путём замены \[~/с\ на следующее выражение:
шг = \WLGf)- ШЬО(/с ). (9)
Устойчивый локальный бинарный шаблон
Авторы работы [18] предлагают использовать УЛБШ для устранения в процессе формирования кодов шумов, возникающих при небольших отклонениях соседних пикселей от центрального. Для этого вводится некоторое пороговое значение, которое приводит к возникновению дополнительного неизвестного состояния бита кода, как показано далее.
Пусть задано некоторое пороговое значение tеZ, и величина А обозначает некоторое незаданное (неизвестное) значение из В. Для построения неполного кода ЛБШ введём следующую функцию П : Z®Bu{А}: 1, х >
n(x ) =
(10)
А, х <
0, х <-/.
В случае, если П(х)е {0,1}, то будем считать разницу между значениями пикселей значимой. В противном случае (П(х) = А) разница считается неизвестной (малая разница между значениями наиболее подвержена влиянию шума). В этом случае неоднозначный бинарный вектор будем обозначать следующим образом:
С(хс, Ус )=(Ъ0, Ъ ,..., Ър-1 ),Ъ = п(/ - /с). (11)
Следующим этапом процедуры построения УЛБШ является определение его бинарного вектора таким образом, чтобы шаблон принял стандартный вид. Эта задача решается путём последовательного перебора неизвестных значений в С(хс, ус). Следует учитывать то, что из одного неоднозначного бинарного вектора можно сформировать несколько ЛБШ стандартного вида (рис. 3). Например, на основе неоднозначного бинарного вектора вида 11у1уОуО могут быть получены следующие стандартные ЛБШ: 11110000 и 11111000.
78 54 99
30 54 54
54 12 53
Окрестность 3x3
ЛБШ: 11110010 ЛТШ: 10100000, 11111010
'.Неопределённый вектор:
lvlwOvO
УЛБШ:
11100000, 11110000, 11111000
Рис. 3. Формирование УЛБШ (1=2)
Ввиду того, что неопределённый вектор может порождать несколько стандартных ЛБШ, в [26] предлагается алгоритм построения признаков на основе вычисляемых кодов.
Пусть для изображения / определено скользящее окно обработки с размерами М*М2 ^у, ке[0, М-М1], 1е [0, Ж2-М2], где к, I - координаты верхнего левого пикселя окна, а N1ХЖ2 - размеры изображения. Пусть также задано множество всех стандартных ЛБШ БС, получаемых из неоднозначного бинарного вектора С. Тогда алгоритм построения вектора признаков для с использованием УЛБШ выглядит следующим образом: Шаг 0. Для всех скользящих окон обработки вычислить неоднозначный бинарный вектор С(хс, ус) (11). Шаг 1. Сформировать для каждого С(хс,ус) множество 8С(хс, ус).
Шаг 2. Добавить элементы /е8С(х ус) в гистограмму значений стандартных кодов (вектор признаков) Ьи'СОеК следующим образом:
hw (t ) =
hw (t)+1, S hw (t)+,
С (x, 1
, Ус
= 0
, иначе
S
С (xc , Ус )
Локальный тернарный шаблон ЛТШ является расширением ЛБШ и позволяет задавать три различных значения при построении кода, учитывая знак разницы соседних пикселей от центрального.
Пусть /е Z - некоторое пороговое значение, тогда код ЛТШ определяется следующим образом:
) V № - /с > /) 1 , ус )= 4 - I (/ - /с <-/)
LTPpr (x
•3i
(12)
ЛТШ также отличает повышенная устойчивость к искажениям в связи с учётом знака, что отсутствует в ЛБШ. При этом количество возможных кодов ЛТШ при строгом кодовом преобразовании составляет 38 = 6561 (при Р = 8, Я = 1). Для снижения количества кодов ЛТШ может быть представим в виде двух ЛБШ вида (1):
LBPp R (xc, Ус ) = 21 (fi - fc * t )• 2i,
i = 0 P-1
(13)
LBPIr (Xc, yc ) = 21 (fi - fc >-t )• 2i
В таком случае для анализируемого блока строится два кода ЛБШ, которые в дальнейшем используются одновременно в процессе обнаружения дубликатов.
Следует также отметить, что все описанные выше формы ЛБШ справедливы и для ЛТШ и вводятся аналогичным образом.
2. Бинарные градиентные контура
БГК (Binary Gradient Contours), предложенные Fernández, A. и коллективом соавторов в работе [19], относятся к классу дескрипторов, основанных на попарном сравнении значений пикселей, выбираемых из некоторой окрестности (далее будем использовать окрестность 3*3) по заранее определённому правилу или маршруту. Очевидно, что количество различных вариантов построения БГК определяется правилами обхода пикселей окрестности. В работе [19] предлагается 3 способа построения БГК.
Первые два способа используют один обход всей окрестности центрального пикселя для генерации кода (обход пикселей для всех способов ведётся по часовой стрелке). В качестве пути обхода пикселей для первого способа применяется последовательность вида {0, 1, 2, 3, 4, 5, 6, 7, 0}, где «0» соответствует индексу верхнего левого пикселя окрестности. Код БГК в этом случае вычисляется следующим образом: 7
BGC1 (xc,yc)= 21(fi -f(i+1)mod8 *0) • 2i. (14) i=0
Второй способ основан на обходе пикселей по маршруту вида {0, 3, 6, 1, 4, 7, 2, 5, 0}. Код БГК в этом случае выглядит следующим образом:
' f - ^ J 3i mod 8
_f3(i+1)mod8 * 0у
/
BGC2 (xc, yc ) = 21
i=0
■2г.
(15)
Оба способа генерируют 28-1 возможных вариантов кодов.
i = 0
Третий способ генерации кода БГК отличается от предыдущих использованием двух отдельных маршрутов: {1, 3, 7, 5, 1} и {0, 2, 4, 6, 0}. Каждый маршрут позволяет создать 24-1 различных кодов, а их совместное использование, очевидно, приводит к (24-1)2 различным кодам. Выражение для данного способа генерации кода БГК выглядит следующим образом:
БОС3 (хс, ус ) =
3
= (24 -1)' XI/ - /2МШО«18 ^ о) 2г + (16)
1=0
3
+ XI(/2'+1 - /(2;+з)то18 ^ о)' 2г - 24.
1=0
3. Алгоритм обнаружения дубликатов
В данном пункте будет представлено описание алгоритма обнаружения дубликатов с использованием признакового описания. В основе признакового описания лежит вычисление значений кодов шаблонов. Алгоритм состоит из следующих этапов:
1. Формирование векторов признаков.
2. Поиск близких векторов признаков.
3. Постобработка с целью снижения ошибок обнаружения.
Формирование векторов признаков
Пусть для изображения / определено окно обработки Wk,l с размерами М1хМ2, как в предыдущем разделе. Пусть также задано смещение окна яе N (для скользящего окна 5 = 1). Количество окон обработки изображения будет вычисляться следующим образом:
N1 - M1 +4i N 2 - M 2
s ) l s
+1
L =
Пусть далее для каждого /(хс,ус)е Жщ, Хсе[к+1, к+М1-1], усе[1+1, 1+М2-1] вычисляется код шаблона /(хс, ус)е№, № °№и{0} по одному из описанных ранее алгоритмов. При этом количество возможных кодов 0еN зависит от используемого шаблона. На основе значений /(хс, ус) для каждого окна обработки вычисляется 0-мерный вектор признаков Ие Я2 при помощи агрегирующего преобразования (например, гистограммы появления значений кодов для окна обработки). Вычисленные векторы признаков изображения помещаются затем в матрицу М^х2 = [Ио,..., Эта матрица будет использоваться на следующем этапе поиска близких векторов признаков.
Поиск близких векторов признаков
Очевидным способом поиска близких в смысле выбранной меры сравнения векторов признаков является попарное сравнение всех векторов, что является вычислительно неэффективным решением. В целях снижения вычислительной сложности для поиска близких векторов признаков будем использовать одну из разновидностей бинарного дерева поиска - к-ё-дерево [27].
Построение и применение дерева будет производиться на основе данных матрицы М^х2. В ходе про-
граммной реализации была выбрана функция createns среды разработки Matlab R2015b. Основными параметрами этой функции являются мера близости векторов признаков («Distance») и количество ближайших соседей, определяемых на этапе применения дерева («K»). В качестве метрики было выбрано евклидово расстояние («euclidean»), а число ближайших соседей K = 10. Результатом применения k-d-дерева является матрица индексов векторов признаков DLxK, элементы которой dj = arg(hdj), diJ e N^ / {i} соответствуют индексам векторов признаков, ближайших к вектору признаков h,.
Постобработка
На этапе постобработки будем производить фильтрацию результатов поиска ближайших векторов признаков, тем самым снизив количество ложно обнаруженных и пропущенных дубликатов. В рамках процедуры фильтрации DLxK будем оставлять только такие пары векторов признаков (hi, hJ), для которых выполняются следующие два условия:
1. Vie [0, L—1], Je [0,0-1], ||h,-hj|| < 0,1, где ||*|| - Евклидова норма;
2. Vie [0,L-1], Je [0, 0-1], d(hI-hdi,) > 10 где d(h„ J -расстояние между векторами признаков hi и hJ. Для каждой удовлетворяющей ограничениям пары
векторов признаков будем далее вычислять разницу между координатами положений соответствующих им окон обработки. К дубликатам будем относить такие области анализируемого изображения, которым соответствуют положения окна обработки, расстояния между которыми встречаются наиболее часто среди всех пар векторов признаков (hi, h/).
4. Экспериментальные исследования
Для проведения экспериментальных исследований авторами используется стандартный ПК (Intel Core i5-3470 3.2. ГГц, 8 Гб ОЗУ). В качестве объектов исследования были выбраны 10 полутоновых цифровых изображений с размерами 512*512. Авторами была разработана процедура автоматической генерации дубликатов на изображении с возможностью контроля их размеров, количества, а также алгоритма и степени вносимых искажений. Моделировались следующие искажения дубликатов:
1. Линейное контрастирование (мультипликативный коэффициент ae [0, 2, 0, 9], аддитивный be [5, 30]).
2. Нормальный (s< 0,01) и импульсный шум (вероятность возникновения шума - pe_5-10-2, 10-1_|).
3. Компрессия алгоритмом JPEG (коэффициент качества qe [50, 90]).
Для оценки качества разработанного алгоритма мы использовали три величины, связывающие количество верно обнаруженных дубликатов и значения ошибок первого и второго рода: Precision, Recall и Flscore. Пусть tp - количество верно обнаруженных дубликатов, fp - количество пропущенных дубликатов, а fn - количество ложно обнаруженных дубликатов. Тогда Precision (Pr), Recall (Rc) и Fl score (Fl) вычисляются следующим образом:
Pr =-
tp
Rc =
Fl =
tp + fP
tp
tp + fnb
2 • tp 2 • tp + fp + fn '
(17)
(18)
(19)
При помощи разработанной процедуры моделирования искажений для каждого из 10 изображений формировалось 120 фальсифицированных изображений (по 40 изображений на каждый вид искажений), которые в дальнейшем обрабатывались алгоритмом обнаружения с использованием всех описанных выше шаблонов. На рис. 4 показаны примеры изображений с различными видами искажений дубликатов.
В проводимых экспериментах будем использовать следующие обозначения типов шаблонов: ЛБШ - LBP, стандартный ЛБШ - ULBP, ЛТШ - LTP, стандартный ЛТШ - ULTP, полная форма ЛБШ с модификацией -Full LBP, устойчивый к повороту ЛБШ - RIU, УЛБШ -RLBP, БГК (первый способ) - BGC1, БГК (второй способ) - BGC2, БГК (третий способ) - BGC3. В ходе исследований было также получено, что алгоритмы LBP и LTP, а также ULBP и ULTP показали близкие результаты во всех экспериментах, поэтому на графиках будем отображать значения показателей качества только для LTP и ULTP. Параметры используемых шаблонов были фиксированы: P = 8, R = 1.
Рис. 4. Примеры генерируемых изображений, содержащих дубликаты, искажённые при помощи: а) линейного контрастирования, б) аддитивного импульсного шума, в) компрессии алгоритмом JPEG
Результаты анализа качества разработанного алгоритма в зависимости от параметров линейного контрастирования представлены в табл. 1 и на рис. 5. Видно, что алгоритм с использованием признаков на основе БГК позволяет обнаруживать больший диапазон параметров искажений при линейном контрасти-
ровании. Так, в табл. 1 выделены максимальные значения Pr и Rc для фиксированных диапазонов мультипликативного коэффициента a при линейном контрастировании (аддитивный коэффициент при этом менялся в диапазоне be [5, 30]).
Табл. 1. Значения Precision-Recall при варьировании параметров линейного контрастирования
0,2-0,3 0,3-0,4 0,4-0,5 0,5-0,7 0,7-0,9
LTP Pr 0,62 0,91 0,93 0,92 0,92
Rc 0,45 0,73 0,90 0,97 0,97
ULTP Pr 0,53 0,86 0,92 0,94 0,94
Rc 0,39 0,66 0,82 0,92 0,94
Full LBP Pr 0,63 0,87 0,89 0,91 0,94
Rc 0,46 0,75 0,79 0,84 0,93
RIU Pr 0,49 0,65 0,83 0,88 0,91
Rc 0,40 0,54 0,74 0,80 0,88
RLBP Pr 0,27 0,48 0,79 0,93 0,92
Rc 0,19 0,33 0,59 0,78 0,84
BGC_1 Pr 0,81 0,90 0,91 0,91 0,89
Rc 0,57 0,77 0,95 0,98 0,99
BGC_2 Pr 0,75 0,92 0,93 0,94 0,93
Rc 0,56 0,78 0,94 0,98 0,98
BGC_3 Pr 0,78 0,94 0,95 0,95 0,95
Rc 0,58 0,81 0,95 0,98 0,98
I LTP □ FulLLBP □ BGC_1 I ULTP □ RIU mBGC_2 □ BGC_3
0,7-0,9 0,5-0,6 0,4-0,5 0,3-0,4 0,2-0,3 Диапазон изменения коэффициента а
Рис. 5. Зависимость Пбсогс от параметров линейного контрастирования
При проведении исследований качества обнаружения дубликатов с добавлением шума (импульсного и нормального) было получено также, что использование признаков на основе БГК также позволяет выявлять дубликаты, подвергавшиеся более широкому диапазону их искажения (табл. 2, рис. 6).
В табл. 2 выделены максимальные значения Рг и Rc, соответствующие признакам на основе БГК, использование которых позволило с более высоким качеством обнаруживать дубликаты с аддитивным белым шумом при а 2е[10-4, 210-4! На рис. 6 показаны значения Р1_зеоге в зависимости от значения а2.
Следует отметить, что при варьировании параметров импульсного шума признаки на основе БГК также показали преимущество перед признаками на основе остальных шаблонов при увеличении вероятности р, где ре |_5* 102, 10-1_. В целях сокращения соответствующие таблица и рисунок не представлены.
Табл. 2. Значения Precision-Recall при варьировании S аддитивного белого шума
10-5 5*10-5 10-4 2*10-4
LTP Pr 0,94 0,95 0,94 0,74
Rc 0,98 0,89 0,76 0,50
ULTP Pr 0,95 0,89 0,75 0,33
Rc 0,96 0,79 0,58 0,26
Full LBP Pr 0,92 0,85 0,74 0,32
Rc 0,94 0,80 0,57 0,23
RIU Pr 0,92 0,83 0,70 0,28
Rc 0,91 0,77 0,52 0,21
RLBP Pr 0,95 0,91 0,73 0,33
Rc 0,97 0,76 0,53 0,24
BGC_1 Pr 0,91 0,94 0,95 0,83
Rc 0,99 0,89 0,76 0,53
BGC_2 Pr 0,94 0,95 0,96 0,88
Rc 0,98 0,91 0,81 0,59
BGC_3 Pr 0,95 0,96 0,96 0,78
Rc 0,98 0,91 0,79 0,53
ILTP □ FuILLBP □ BGC_1 IULTP □ RIU Ш BGC_2 \ □ RLBP □ BGC_3
F1 1,2
1,0 0,8 0,6 0,4 0,2 0
0,00001 0,00005 0,00010 0,00020 g2 Рис. 6. Зависимость Flscore от параметров аддитивного белого шума
Исследование зависимости качества обнаружения дубликатов, к которым применялась компрессия алгоритмом JPEG, показало, что признаки на основе БГК (второй и третий способы) позволяют обнаруживать дубликаты, сжатые с качеством qe [50, 90], тогда как использование остальных признаков возможно только при qe [80, 90] (табл. 3, рис. 7).
Табл. 3. Значения Precision-Recall при варьировании качества компрессии JPEG
50 60 70 80 90
LTP Pr 0,26 0,37 0,53 0,73 0,95
Rc 0,18 0,23 0,34 0,52 0,75
ULTP Pr 0,11 0,16 0,27 0,42 0,74
Rc 0,09 0,12 0,18 0,31 0,54
Full LBP Pr 0,29 0,39 0,56 0,76 0,95
Rc 0,20 0,24 0,37 0,54 0,77
RIU Pr 0,09 0,15 0,27 0,44 0,75
Rc 0,08 0,11 0,19 0,32 0,56
RLBP Pr 0,16 0,23 0,37 0,55 0,85
Rc 0,12 0,15 0,24 0,39 0,61
BGC_1 Pr 0,27 0,35 0,50 0,66 0,93
Rc 0,16 0,18 0,29 0,44 0,68
BGC_2 Pr 0,54 0,64 0,73 0,91 0,95
Rc 0,34 0,40 0,49 0,69 0,81
BGC_3 Pr 0,61 0,71 0,75 0,93 0,96
Rc 0,43 0,49 0,56 0,75 0,86
I LTP □ FuILLBP □ BGC_1 \ULTP □ RIU mBGC_2 □ BGC_3
Рис. 7. Зависимость Fl score от качества компрессии q алгоритмом JPEG
Примеры результатов обнаружения дубликатов на некоторых фальсифицированных изображениях представлены на рис. 8. Из рисунка также видно, что признаки на основе БГК позволяют с более высокой точностью выявлять искажённые дубликаты.
LBP
ULBP
RLBP BGC_1
б)
LBP
ULBP
RLBP BGC_1
Рис. 8. Фальсифицированное при помощи линейного контрастирования изображение Lena (а), фальсифицированное при помощи линейного контрастирования и JPEG компрессии изображение Lena (б), результат обнаружения дубликатов (в-г)
Выводы
В данной работе был предложен алгоритм обнаружения искажённых дубликатов на основе БГК. Проведённые исследования показали повышенную
устойчивость этого вида локальных шаблонов к различным видам искажений дубликатов по сравнению с рядом известных и широко используемых для решения данной задачи ЛБШ и ЛТШ. Признаки на основе БГК позволяют обнаруживать дубликаты на более широком диапазоне параметров вносимых искажений. В дальнейшем планируется повышать точность алгоритма за счёт дополнительных этапов постобработки (фильтрация ошибок обнаружения) и провести исследования алгоритма при использовании комбинированных признаков локальных шаблонов для повышения точности. Также планируется провести исследования геометрически искажённых дубликатов.
Благодарности
Работы по созданию алгоритма обнаружения дубликатов на основе бинарных градиентных контуров получены в рамках выполнения работ по гранту РНФ № 14-31-00014. Результаты экспериментальных исследований получены в рамках выполнения работ по гранту РФФИ № 16-37-00056-мол_а.
Литература
1. The Top 20 Valuable Facebook Statistics [Electronical Resource]. - URL: https://zephoria.com/top-15-valuable-facebook-statistics/ (Request Date 19.01.2015).
2. Christlein, V. An Evaluation of Popular Copy-Move Forgery Detection Approaches / V. Christlein, C. Riess, J. Jordan, E. Angelopoulou // IEEE Transactions on information forensics and security. - 2012. - Vol. 7(6). -P. 1841-1854.
3. Глумов, Н.И. Поиск дубликатов на цифровых изображениях / Н.И. Глумов, А.В. Кузнецов, В.В. Мясников // Компьютерная оптика. - 2013. - Т. 37, № 3. - С. 360-367.
4. Кузнецов, А.В. Алгоритм обнаружения дубликатов на цифровых изображениях с использованием эффективных линейных локальных признаков /
A.В. Кузнецов, В.В. Мясников // Компьютерная оптика. - 2013. - Т. 37, № 4. - С. 489-495.
5. Kuznetsov, A.V. A fast plain copy-move detection algorithm based on structural pattern and 2D Rabin-Karp rolling hash / A.V. Kuznetsov, V.V. Myasnikov // Lecture Notes in Computer Science. -2014. - Vol. 8814. -P. 461-468.
6. Mahdian, B. Detection of Copy-Move Forgery using a Method Based on Blur Moment Invariants /
B. Mahdian, S. Saic // Forensic Science International. -2007. - Vol. 171(2). - P. 180-189.
7. Ryu, S. Detection of Copy-Rotate-Move Forgery using Zernike Moments / S. Ryu, M. Lee, H. Lee // Information Hiding Con-ference. - 2010. - P. 51-65.
8. Popescu, A. Exposing digital forgeries by detecting duplicated image regions [Electronical Resource] / A. Popescu, H. Farid.
- 2004. - URL: http://www.ists.dartmouth.edu/library/102.pdf (Request Date 20.01.2015).
9. Kang, X. Identifying Tampered Regions Using Singular Value Decomposition in Digital Image Forensics / X. Kang, S. Wei // International Conference on Computer Science and Software Engineering. - 2008. - Vol. 3. -P. 926-930.
10. Luo, W. Robust Detection of Region-Duplication Forgery in Digital Images / W. Luo, J. Huang, G. Qiu // International Conference on Pattern Recognition. - 2006.
- Vol. 4. - P. 746-749.
11. Bravo-Solorio, S. Exposing Duplicated Regions Affected by Reflection, Rotation and Scaling / S. Bravo-Solorio, A.K. Nandi // International Conference on Acoustics, Speech and Signal Processing. - 2011. -P. 1880-1883.
12. Fridrich, J. Detection of copy-move forgery in digital images [Electronical Resource] / J. Fridrich, D. Soukal, J. Lukas. - 2003. - URL:
http://www.ws.binghamton.edu/fridrich/Research/copy move.pdf (Request Date 20.01.2015).
13. Bayram, S. An efficient and robust method for detecting copy-move forgery / S. Bayram, H. Sencar, N. Memon // IEEE International Conference on Acoustics, Speech, and Signal Processing. - 2009. - P. 1053-1056.
14. Huang, H. Detection of Copy-Move Forgery in Digital Images Using SIFT Algorithm / H. Huang, W. Guo, Y. Zhang // Pacific-Asia Workshop on Computational Intelligence and Industrial Application. - 2008. -Vol. 2. - P. 272-276.
15. Shivakumar, B.L. Detection of Region Duplication Forgery in Digital Images Using SURF /
B.L. Shivakumar, S. Baboo // International Journal of Computer Science Issues. - 2011. - Vol. 8(4). -P. 199-205.
16. Li, L. An Efficient Scheme for Detection Copy-move Forged Images by Local Binary Patterns / L. Li, S. Li, H. Zhu // Journal of Information Hiding and Multimedia Signal Processing. - 2013. - Vol. 4(1). - P. 46-56.
17. Davarzani, R. Copy-move forgery detection using multiresolution local binary patterns / R. Davarzani, K. Yaghmaie, S. Mozaffari, M. Tapak // Forensic Science International. - 2013. - Vol. 231(1-3). - P. 61-72.
18. Ren, J. Noise-Resistant Local Binary Pattern With an Embedded Error-Correction Mechanism / J. Ren, X. Jiang, J. Yuan // IEEE Transactions on Image Processing. - 2013. - Vol. 22(10). - P. 4049-4060.
19. Fernández, A. Image classification with binary gradient contours / A. Fernández, M.X. Alvarez, F. Bianconi // Optics and Lasers in Engineering. - 2011. - Vol. 49, Issue. 9-10. - P. 1177-1184.
20. Wang, L. Texture classification using texture spectrum / L. Wang, D.-C. He // Pattern Recognition. - 1990. -Vol. 23(8). - P. 905-910.
21. Ojala, T. A comparative study of texture measures with classification based on featured distribution / T. Ojala, M. Pietikinen, D. Harwood // Pattern Recognition. -1996. - Vol. 29(1). - P. 51-59.
22. Ojala, T. Multiresolution grayscale and rotation invariant texture classification with local binary patterns / T. Ojala, M. Pietikinen, T. Menp // IEEE Transactions on Pattern Analy-sis and Machine Intelligence. - 2002. - Vol. 24(7). - P. 971-987.
23. Мясников, В.В. Локальное порядковое преобразование цифровых изображений / В.В. Мясников // Компьютерная оптика. - 2015. - Т. 39, № 3. - С. 397-405.
24. Arasteh, S. Color and texture image segmentation using uniform local binary patterns / S. Arasteh, C.-
C. Hung // Machine Graphics and Vision. - 2006. -Vol. 15(3-4). - P. 265-274.
25. Guo, Z.H. A completed modeling of local binary pattern operator for texture classification / Z.H. Guo,
D. Zhang // IEEE Transactions on Image Processing. -2010. - Vol. 19(6). - P. 1657-1663.
26. Zhao, Y. Completed robust local binary pattern for texture classification / Y. Zhao, W. Jia, R.X. Hu, H. Min // Neurocomputing. - 2013. - Vol. 106. - P. 68-76.
27. Bentley, J.L. Multidimensional binary search trees used for associative searching / J.L. Bentley // Communications of the ACM. - 1975. - Vol. 18(9). - P. 509-517.
Сведения об авторах
Кузнецов Андрей Владимирович, родился в 1987 году. В 2010 году окончил Самарский государственный аэрокосмический университет (СГАУ) с отличием по специальности «Прикладная математика и информатика». В 2010 поступил в аспирантуру СГАУ, в 2013 г. защитил диссертацию на соискание степени кандидата технических наук. В настоящее время работает старшим научным сотрудником НИЛ-97 СГАУ и научным сотрудником в Институте систем обработки изображений РАН. Круг научных интересов включает обработку и анализ изображений, распознавание образов, обнаружение локальных изменений на изображениях, геоинформатику. Имеет 37 публикаций, в том числе 18 научных статей и 1 монографию (в соавторстве). Страница в интернете: http://nil97.ssau.ru/employee/detail.php?ID=35 . E-mail: kuznetsoff.andrey@,gmail.com .
Сведения об авторе Мясников Владислав Валерьевич см. стр. 281 этого номера.
Поступила в редакцию 19 февраля 2016 г. Окончательный вариант - 14 марта 2016 г.
A COPY-MOVE DETECTION ALGORITHM BASED ON BINARY GRADIENT CONTOURS
A. V. Kuznetsov1, V. V. Myasnikov 1,2 1 Samara State Aerospace University, Samara, Russia, 2 Image Processing Systems Institute, Russian Academy of Sciences, Samara, Russia
Abstract
Copy-move is one of the most obvious ways of deliberate distortion of digital images in order to conceal the information contained in them. The process of duplicate embedding consists in copying an image fragment and pasting it within the same image. Prior to pasting, the fragment can be distorted using transformations such as contrast enhancement, noise adding, scaling, rotation, and combinations thereof. Existing approaches to copy-move forgery detection are based on calculating feature vectors for overlapping blocks of an image and then using these vectors to find the closest regions in Euclidean space. In this paper, we propose features based on binary gradient contours, which are resistant to contrast enhancement, additive noise and JPEG compression. We also present results of conducted experiments for demonstrating the proposed algorithm effectiveness for a range of distortion parameters. The research also involves comparing features based on binary gradient contours with features based on various forms of local binary patterns.
Keywords: copy-move detection, distorted duplicate, local binary pattern, binary gradient contours, feature vector, k-d tree.
Citation: Kuznetsov AV, Myasnikov VV. A copy-move detection algorithm based on binary gradient contours. Computer Optics 2016; 40(2): 284-93. DOI: 10.18287/2412-6179-2016-40-2-284-293.
Acknowledgements: The work on development of the copy-move detection algorithm based on binary gradient contours was carried out while working on the RSF grant No. 14-31 -00014. Experimental results were obtained while working on the RFBR grant No. 16-37-00056-MO^_a.
References
[1] The Top 20 Valuable Facebook Statistics. Source: (https://zephoria.com/top-15-valuable-facebook-statistics).
[2] Christlein V, Riess C, Jordan J, Angelopoulou E. An Evaluation of Popular Copy-Move Forgery Detection Approaches. IEEE Transactions on information forensics and security 2012; 7(6): 1841-1854.
[3] Glumov NI, Kuznetsov AV, Myasnikov VV. The algorithm for copy-move detection on digital images. Computer Optics 2013; 37(3): 360-367.
[4] Kuznetsov AV, Myasnikov VV. Efficient linear local features based copy-move detection algorithm. Computer Optics 2013; 37(4): 489-495.
[5] Kuznetsov AV, Myasnikov VV. A fast plain copy-move detection algorithm based on structural pattern and 2D Rabin-Karp rolling hash. LNCS 2014; 8814: 461-468.
[6] Mahdian B, Saic S. Detection of Copy-Move Forgery using a Method Based on Blur Moment Invariants. Forensic Science International 2007; 171(2): 180-189.
[7] Ryu S, Lee M, Lee H. Detection of Copy-Rotate-Move Forgery using Zernike Moments. Information Hiding Conference 2010: 51-65.
[8] Popescu A, Farid H. Exposing digital forgeries by detecting duplicated image regions. Source: (http://www.ists.dartmouth.edu/library/102.pdf).
[9] Kang X, Wei S. Identifying Tampered Regions Using Singular Value Decomposition in Digital Image Forensics. International Conference on Computer Science and Software Engineering 2008; 3: 926-930.
[10] Luo W, Huang J, Qiu G. Robust Detection of Region-Duplication Forgery in Digital Images. International Conference on Pattern Recognition 2006; 4: 746-749.
[11] Bravo-Solorio S, Nandi AK. Exposing Duplicated Regions Affected by Reflection, Rotation and Scaling. International Conference on Acoustics, Speech and Signal Processing 2011: 1880-1883.
[12] Fridrich J, Soukal D, Lukas J. Detection of copy-move forgery in digital images. Source: (http://www.ws.binghamton.edu/fridrich/Research/copymove.pdf).
[13] Bayram S, Sencar H, Memon H. An efficient and robust method for detecting copy-move forgery. IEEE International Conference on Acoustics, Speech, and Signal Processing 2009: 1053-1056.
[14] Huang H, Guo W, Zhang Y. Detection of Copy-Move Forgery in Digital Images Using SIFT Algorithm. Pacific-Asia Workshop on Computational Intelligence and Industrial Application 2008; 2: 272-276.
[15] Shivakumar BL, Baboo S. Detection of Region Duplication Forgery in Digital Images Using SURF. International Journal of Computer Science 2011; 8(4): 199-205.
[16] Li L, Li S, Zhu H. An Efficient Scheme for Detection Copy-move Forged Images by Local Binary Patterns. Journal of Information Hiding and Multimedia Signal Processing 2013; 4(1): 46-56.
[17] Davarzani R, Yaghmaie K, Mozaffari S, Tapak M. Copy-move forgery detection using multi-resolution local binary patterns. Forensic Science International 2013; 231(1-3): 61-72.
[18] Ren J, Jiang X, Yuan J. Noise-Resistant Local Binary Pattern with an Embedded Error-Correction Mechanism. IEEE Transactions on Image Processing 2013; 22(10): 4049-4060.
[19] Fernández A, Alvarez MX, Bianconi F. Image classification with binary gradient contours. Opt Lasers Eng 2011; 49(9-10): 11771184.
[20] Wang L, He D-C. Texture classification using texture spectrum. Pattern Recognition 1990; 23(8): 905-910.
[21] Ojala T, Pietikinen M, Harwood D. A comparative study of texture measures with classification based on featured distribution. Pattern Recognition 1996; 29(1): 51-59.
[22] Ojala T, Pietikinen M, Menp T. Multiresolution grayscale and rotation invariant texture classification with local binary patterns. IEEE Transactions on Pattern Analysis and Machine Intelligence 2002; 24(7): 971-987.
[23] Myasnikov VV. A local order transform of digital images. Computer Optics 2015; 39(3): 397-405.
[24] Arasteh S, Hung C-C. Color and texture image segmentation using uniform local binary patterns. Machine Graphics and Vision 2006; 15(3-4): 265-274.
[25] Guo ZH, Zhang D. A completed modeling of local binary pattern operator for texture classification. IEEE Transactions on Image Processing 2010; 19(6): 1657-1663.
[26] Zhao Y, Jia W, Hu RX, Min H. Completed robust local binary pattern for texture classification. Neuro-computing 2013; 106: 68-76.
[27] Bentley JL. Multidimensional binary search trees used for associative searching. Communications of the ACM 1975; 18(9): 509-517.
Authors' information
Andrey Vladimirovich Kuznetsov (b. 1987) graduated with honours (2010) from Samara State Aerospace University (SSAU), majoring in Applied Mathematics and Informatics. He studied as a post-graduate student at SSAU from 2010 and received his PhD in Technical Sciences in 2013. Nowadays he is a senior researcher at the Remote Sensing Data Analysis laboratory at SSAU and a researcher at the Image Processing Systems Institute of the Russian Academy of Sciences (IPSI RAS). His research interests are currently focused on image processing and analysis, pattern recognition, digital image forgery detection, geoinformatics. He has 37 publications, including 18 scientific papers and 1 monograph (with coauthors). Web-page: http://nil97.ssau.ru/employee/detail.php?ID=35 . E-mail: [email protected] .
The information about author Vladislav Valerievich Myasnikov you can find on page 283 of this issue.
Received February 19, 2016. The final version - March 14, 2016.