
2. 西北工业大学 计算机学院,陕西 西安 710072
2. Colleges of Computer, Northwestern Polytechnical University, Xi'an Shaanxi 710072, China
随着计算机技术的不断发展,人们已可快速便捷地对数字图像内容进行修改[1]。这种修改数字图像的方式,在一定程度上给人们的工作带来了便利,但也埋下了隐患。当修改后的数字图像使用不当时,会使得获取到的图像信息为虚假信息,进而影响到人们的生活。因此,数字图像的伪造检测应运而生[2-3]。
目前数字图像的伪造检测方法大致可分为添加水印法以及盲检测方法。如Hu等[4]设计了一种基于图像水印和阿尔法蒙版的篡改前景或背景图像的有效伪造检测方法,其采用光谱消光法,获取阿尔法消光图,并通过阿尔法消光图提取前景和背景图像,在前景图像和背景图像中分别添加不同的水印信息,利用添加的水印信息检测前景或背景图像的篡改。这种方法添加的水印信息没有经过加密处理,水印信息容易受到攻击,易导致检测失效。李淑芝等[5]设计了一种图像块分类的伪造检测方法,其利用图像块的边缘特征,对图像块进行分类,对不同类型的图像块生成不同的水印信息,进而抵御图像的篡改。这种方法的自适应性较强,能够较好地抵御图像的篡改,但给图像添加水印信息会对图像造成一定程度的破坏。相对于添加水印的方法,盲检测方法不会对图像造成破坏。LYU等[6]在尺度不变特征变换(Scale Invariant Feature Transform,SIFT)的基础上,设计了一种SIFT的复制-粘贴篡改检测算法,通过构建最大角度标记图,在离散极坐标下筛选图像的特征点,利用特征点间的欧氏距离,与设定阈值相比较实现特征点的匹配,进而实现伪造内容的检测。由于最大角度标记图不能较好地估计平滑区的图像内容,筛选出的特征点不完整,且设定阈值的方法难以较好地确定准确的阈值,易导致匹配错误,使检测结果出现错误检测和漏检测。Xiao等[7]通过Zernike矩设计了一种图像篡改检测方法,通过非采样小波变换获取图像的近似系数以及细节系数,利用引入Zernike矩构造图像的距离矩阵,利用距离矩阵与设定阈值的比较结果完成篡改检测。由于小波变换缺乏多方向特征,分解图像时易造成图像内容丢失,而且利用距离矩阵与设定阈值比较确定篡改内容时,难以得到合理的阈值,导致检测结果正确度降低。
为改善伪造内容的检测准确度,本文通过互相关函数建立最优相关法则,对图像特征进行匹配,避免匹配过程对阈值的依赖性;采用FAST算子对图像特征进行准确的提取;通过圆域分割后求取梯度信息,获取特征向量;通过最优相关法则,选出相关程度最高的特征点对作为匹配点,实现图像特征的匹配。将特征向量代入欧氏度量模型,求取特征点的欧氏距离,以欧氏距离值为依据,完成特征点的集群,对篡改内容进行定位,进而实现伪造检测。最后,对所提算法的检测性能进行了测试。
1 复制-粘贴篡改检测算法 1.1 提取图像特征点FAST算子是由Edward Rosten和Tom Drummond提出的一种提取准确度较高且较为简单的特征点提取方法,通过度量像素点及其与邻域点的灰度差值来提取图像特征点[8]。本文采用FAST算子提取图像特征点。
FAST算子提取特征点时,首先需要以任意像素点e为中心,构建一个如图 1所示的Bresenham圆[9]。然后利用像素点e位于圆上的邻点i(1≤i≤16)的灰度值H(i),以及像素点e的灰度值H(e)进行灰度差值计算。
$C = \sum\limits_{i \in circle(e)} {\left| {H\left( i \right) - H\left( e \right)} \right|} $ | (1) |
![]() |
Fig.1 A schematic diagram of the Bresenham circle 图 1 Bresenham圆的示意图 |
若所有邻点中具有m个邻点与像素点e的灰度差值大于Y,则将像素点e视为特征点。一般取m=12,Y的值可利用图像中较大的灰度值与较小的灰度值确定。
首先,将图像中所有像素点的灰度值进行降序排列,选取出前n个灰度值
$Y = \frac{\lambda }{n}\left( {\sum\limits_{i = 1}^n {H{{\left( i \right)}_{\max }}} - \sum\limits_{i = 1}^n {H{{\left( i \right)}_{\min }}} } \right)$ | (2) |
式中:λ为调节系数;n为灰度值的数量。
图 2为通过FAST算子提取图像特征点的示意图。从图 2(c)可知,利用FAST算子能够较为准确地对图 2(b)中的特征点进行提取。
![]() |
Fig.2 Image feature points extracted by FAST operator 图 2 通过FAST算子所提取的图像特征点 |
生成特征点对应的特征向量,可用以对特征点进行描述,进而完成特征点的聚类。本文通过计算特征点的主方向,在主方向上构建特征点的邻域圆,并对该圆域进行分割,求取分割区域的梯度特征,生成特征向量。
以坐标为(x, y)的特征点为中心,建立其对应的8×8邻域,计算该邻域中像素点对应的梯度模值F(x, y)以及方向θ(x, y)[10]:
$F(x, y) = \sqrt {\left[ {{{\left( {L(x + 1, y) - L(x - 1, y)} \right)}^2} + {{\left( {L(x, y + 1) - L(x, y - 1)} \right)}^2}} \right]} $ | (3) |
$\theta (x, y) = arc\tan \left( {\frac{{L(x, y + 1) - L(x, y - 1)}}{{L(x + 1, y) - L(x - 1, y)}}} \right)$ | (4) |
式中L(x, y)为(x, y)像素点的梯度值。
求取邻域中每个像素点的F(x, y)值和θ(x, y)后,再通过直方图统计梯度方向。将直方图的峰值方向视为主方向β[11]。获取主方向后,在其基础上构建特征点的邻域圆,求取特征向量。
以主方向为起点,9像素点为半径,建立特征点的邻域圆。并将该圆域按照图 3所示方法进行分割,形成8个均等扇区。在每个扇区内以主方向为起点,以45°为间隔,形成八方向指针。对每个扇区内指针所指方向的所有梯度值进行求和计算,每个扇区得到一个具有8个元素的向量。由此,通过特征点圆域分割得到的8个扇形区域将生成一个包含8×8个元素的向量R:
$\mathit{\boldsymbol{R}} = \left[ {{r_1}, {r_2}, {r_3}, \cdots , {r_{64}}} \right]$ | (5) |
![]() |
Fig.3 Circular domain segmentation 图 3 圆域分割 |
式中
$\mathit{\boldsymbol{\bar R}} = \frac{{{r_i}}}{{\sum\limits_{j = 1}^{64} {r_j^{}} }} = \left[ {{{r'}_1}, {{r'}_2}, {{r'}_3}, \cdots , {{r'}_{64}}} \right]$ | (6) |
式中
图像特征的匹配是对篡改内容检测的关键步骤,为克服匹配过程对阈值的依赖性,增强算法的自适应性以及检测准确性,本文采用互相关函数对特征点间的相关程度进行度量,进而建立最优相关法则,完成图像特征匹配。
以不同特征点A和B为中心,构成尺寸为M×N的邻域W和E,其构成的互相关函数CCF(W, E)为[12]:
$CCF(W, E) = \frac{{\sum\limits_{i = 1}^M {\sum\limits_{j = 1}^N {\left( {{W_{ij}} - \bar W} \right)\left( {{E_{ij}} - \bar E} \right)} } }}{{\sqrt {\sum\limits_{i = 1}^M {\sum\limits_{j = 1}^N {{{\left( {{W_{ij}} - \bar W} \right)}^2}\sum\limits_{i = 1}^M {\sum\limits_{j = 1}^N {{{\left( {{E_{ij}} - \bar E} \right)}^2}} } } } } }}$ | (7) |
式中:Wij与Eij分别为W和E中坐标为(i, j)像素点的像素值;
利用式(7)求取不同特征点间的相关程度值CCF(W, E),在此基础上建立最优相关法则,完成特征匹配。最优相关法则具体实现过程如下:
1) 选取任一特征点p,通过式(7)计算其与其他特征点之间的相关程度值,并将所获得相关程度值进行比较,选出与特征点p构成最大相关程度值对应的特征点q,作为特征点p的候选匹配点。
2) 再通过式(7)计算特征点q与其他特征点之间的相关程度值,并对所获得相关程度值进行比较,选出与特征点q构成最大相关程度值对应的特征点v,作为特征点q的候选匹配点。
3) 若特征点v与特征点p为同一特征点,则认为特征点p与特征点q为一对匹配特征点。
由最优相关法则的实现过程可见,该过程完全通过互相关函数对特征点间的相关程度进行度量,完成特征匹配,无须设置任何阈值,有助于提高算法的鲁棒性及检测准确性。将提取特征点后形成的图 2(b)经最优相关法则进行特征匹配,可得到如图 4所示的特征匹配结果。从该结果可知,利用最优相关法则可实现特征点的准确匹配。
![]() |
Fig.4 Feature matching results 图 4 特征匹配结果 |
对匹配后的特征点进行集群,可对篡改内容进行锁定,实现图像的伪造检测。本文利用特征点的特征向量,通过度量特征点间欧氏距离,对特征点进行集群。
设特征点A与B对应的特征向量分别为
$EC(A, B) = \sqrt {\sum\limits_{i = 1}^{64} {({\mathit{\boldsymbol{\bar R}}_{Ai}} - {\mathit{\boldsymbol{\bar R}}_{Bi}})^2}} $ | (8) |
将匹配后所得的特征点分别视为一个独立的群体,利用式(8)对每个群体的欧式距离进行度量。将欧氏距离最小的2个群体进行集群,合并为一个群体。然后,更新合并后群体的中心向量Z:
$\mathit{\boldsymbol{Z}} = \frac{1}{M}\sum\limits_{i = 1}^M {\sum\limits_{k = 0}^8 {{r_i}({a_k})} } $ | (9) |
将Z视为合并后群体的特征向量,再次参与到群体的欧氏距离度量过程中,进而完成不同群体的合并,实现特征点的集群。
图 4所示特征匹配的结果,经过基于欧氏距离度量的集群后,所得的篡改内容检测结果如图 5所示。从该结果发现,本文所用的基于欧氏距离度量的集群方法,能达到准确锁定篡改内容的效果。
![]() |
Fig.5 Final test results 图 5 最终检测结果 |
实验借助Intel I5双核CPU, 500 GB硬盘的计算机作为硬件平台,采用Matlab 2014a作为平台进行测试。本文算法中灰度值个数n=12,调节系数λ=0.2。实验中将文献[14-15]方法作为对照组,以更为直观地突出本文算法的优势。
利用本文算法及对照组算法对复制-粘贴篡改图像进行检测,检测结果如图 6所示。观察不同算法的检测结果发现,虽然不同算法都能够实现对复制-粘贴篡改内容的检测,但文献[14]算法的检测结果中不仅含有较多的错误检测内容,且还具有一定的漏检测内容;文献[15]算法的检测结果中,也存在错误检测内容和漏检测内容;本文算法的检测结果中,不存在错误检测内容,仅存在些许漏检测内容。
![]() |
Fig.6 Detection results of duplicate-paste tampered images by different algorithms 图 6 不同算法对复制-粘贴篡改图像的检测结果 |
为验证本文算法的鲁棒性,利用本文算法、文献[14-15]算法对经过缩放、旋转、噪声干扰以及多次复制粘贴处理后的篡改图像进行检测。图 7为不同算法对经过缩放后处理的复制-粘贴篡改图像的检测结果。从图 7可见,文献[14]算法的检测结果比文献[15]算法的检测结果存在更多的错误检测内容以及漏检测内容;文献[15]算法的检测结果比本文算法的检测结果存在更多的错误检测内容以及漏检测内容。图 8为不同算法对经过旋转后处理的复制-粘贴篡改图像的检测结果。对比不同算法的检测结果发现,本文算法的检测结果具有最高的检测完整度以及正确度,不存在错误检测内容,漏检测内容也最少;文献[14]也具有较好的检测结果,存在少量的漏检和误检现象,对旋转篡改表现出较高的稳健性;而文献[15]则对旋转变换的鲁棒性较弱,误检和漏检信息都较多。图 9为不同算法对增加噪声时的复制-粘贴篡改图像的检测结果。对比不同算法的检测结果可以发现,本文算法的检测结果较文献[14]和文献[15]算法的检测结果最为完整。不同算法对多次复制-粘贴篡改图像的检测结果如图 10所示。从图 10可见,图 10(e)所示检测结果比图 11(c)和图 11(d)所示检测结果,存在更少的错误检测和漏检测。说明本文算法不仅能够有效地对直接复制-粘贴篡改的图像进行检测,而且对于经过了仿射后处理的复制粘贴篡改图像检测正确度也较高,体现了本文算法较为准确的检测性能以及较强的鲁棒性。因为本文算法采用了特征点提取准确性较高的FAST算子来获取图像的特征点,而且在特征点的主方向上,利用圆域分割的方法,得到鲁棒性较强的特征向量,从而使得算法的检测准确性以及鲁棒性得以提升。
![]() |
Fig.7 Results of copy and paste tampering image detected by different algorithms after scaling 图 7 不同算法对缩放后处理的复制-粘贴篡改图像检测结果 |
![]() |
Fig.8 Results of copy and paste tampering image detected by different algorithms after rotation 图 8 不同算法对旋转后处理的复制-粘贴篡改图像检测结果 |
![]() |
Fig.9 Results of copy and paste tampering image detected by different algorithms after adding noise 图 9 不同算法对增加噪声时复制-粘贴篡改图像检测结果 |
![]() |
Fig.10 Detection results of multiple copy-paste tampered images by different algorithms 图 10 不同算法对多次复制-粘贴篡改图像检测结果 |
![]() |
Fig.11 Test image source 图 11 测试图像源 |
为了进一步对本文算法的检测性能进行验证,本文将图 11中的伪造内容经过不同程度旋转,使之形成12幅具有不同旋转角度的篡改图像。接着利用不同算法对12幅篡改图像进行检测,通过分析不同算法检测结果的准确性以及平均耗时来衡量其检测性能。
不同算法对12幅篡改图像的检测准确性统计结果如图 12所示。从图 12可知,对具有不同旋转角度的篡改图像检测时,本文算法的准确性始终最高。对旋转角度为100°的篡改图像检测时,本文算法的检测准确性为90.29%,文献[14]和文献[15]算法的检测准确性分别为84.71%, 79.85%。表 1为3种方法检测12幅图像的平均耗时,可以发现,本文算法平均耗时最少,仅为3.58 s。由此可见,本文算法的检测准确性以及检测效率较高,能够较好地适应旋转后处理。因为本文算法采用了互相关函数对特征点的相关程度进行了度量,并且在此基础上建立了最优相关法则完成特征匹配,克服了特征匹配过程对阈值的依赖性,提高了匹配结果的准确性。另外本文算法还利用圆域分割的方法,通过图像的梯度信息获取了仅含64元素的特征向量,通过对特征点间进行欧氏距离度量的方法,对匹配特征点进行了集群,从而准确地对篡改内容进行了定位,使算法的检测准确性及鲁棒性、检测效率得以提升。文献[14]算法中将图像的颜色信息与局部二值模式(Local Binary Patterns,LBP)纹理相结合,并在此基础上计算图像的灰度共生矩阵,采用基于K维树(K-Dimensional,KD)的图像块匹配方法及形态学操作获取检测结果。LBP纹理对旋转操作具有较好的稳健性,但基于KD树的图像块匹配方法需要依靠设定阈值来完成,易出现错误匹配,且计算图像的灰度共生矩阵较为复杂,从而限制了检测准确性,增加了算法的检测耗时。文献[15]算法中利用小波变换获取图像的分解系数,通过参数微调法选取阈值,并在确定阈值的基础上采用误差水平分析法进一步完成图像检测。由于小波变换的多方向缺失性,其分解所得系数易丢失数据,且该方法中阈值的确定需要对参数进行多次微调,不仅难以确定出最佳的阈值,且耗时较多,使文献[15]算法检测准确性与效率不佳。
![]() |
Fig.12 Accuracy results of different algorithms 图 12 不同算法检测准确性结果 |
表 1 各算法的检测平均耗时测试结果 Table 1 Average time-consuming test results of each algorithm |
![]() |
为克服图像特征匹配过程中对阈值的依赖性,本文设计了一种圆域分割耦合最优相关法则的图像复制-粘贴篡改检测算法。通过
[1] |
JUNG Kihyun. Block-based authentication scheme for forgery attacks on digital images[J]. Advanced Science Letters, 2016, 22(9): 2583-2587. |
[2] |
王春华, 韩栋. 基于区域直方图和特征相关匹配规则的图像复制-粘贴篡改检测算法[J]. 电子测量与仪器学报, 2018, 32(4): 103-109. (WANG Chunhua, HAN Dong. Image copy-paste tampering detection algorithm based on region histogram and feature correlation matching rule[J]. Journal of Electronic Measurement and Instrument, 2018, 32(4): 103-109.) |
[3] |
TARUN K, GOURAV K. Towards recent developments in the field of digital image forgery detection[J]. International Journal of Computer Applications in Technology, 2018, 58(1): 1-16. |
[4] |
HU Wuchi, CHEN Weihao, HUANG Dengyuan. Effective image forgery detection of tampered foreground or background image based on image watermarking and alpha mattes[J]. Multimedia Tools and Applications, 2016, 75(6): 3495-3516. |
[5] |
李淑芝, 李躲, 邓小鸿. 基于图像块分类的篡改定位和恢复水印算法[J]. 光电子·激光, 2018, 29(2): 197-204. (LI Shuzhi, LI Duo, DENG Xiaohong. Image blocks classification watermarking method for tamper detection and recovery[J]. Journal of Optoelectronics·Laser, 2018, 29(2): 197-204. DOI:10.16136/j.joel.2018.02.0060) |
[6] |
LYU Yingda, SHEN Xuanjing, CHEN Haipeng. Copy-paste detection based on an SIFT marked graph feature vector[J]. Chinese Journal of Electronics, 2017, 26(2): 345-350. DOI:10.1049/cje.2017.01.028 |
[7] |
XIAO Jinke. Image forgery detection algorithm based on non-sampling wavelet transform and Zernike moments[J]. International Security Journals and Their Applications, 2016, 10(2): 27-38. DOI:10.14257/ijsia.2016.10.2.03 |
[8] |
ROSTEN E, DRUMOND T. Machine learning for high-speed corner detection[C]// European Conference on Computer Vision. Graz, Austria: [s.n.], 2006: 430-443.
|
[9] |
严良平, 童静, 王凯. 基于FAST特征的智能安全帽静态报警方法的研究[J]. 电力信息与通信技术, 2019, 17(4): 67-71. (YAN Liangping, TONG Jing, WANG Kai. Study of static alarm method of smart helmet using FAST feature[J]. Electric Power Information and Communication Technology, 2019, 17(4): 67-71. DOI:10.16543/j.2095641x.electric.power.ict.2019.04.011) |
[10] |
孙雪强, 黄旻, 张桂峰. 基于改进SIFT的多光谱图像匹配算法[J]. 计算机科学, 2019, 46(4): 280-284. (SUN Xueqiang, HUANG Min, ZHANG Guifeng. Multispectral image matching algorithm based on improved SIFT[J]. Computer Science, 2019, 46(4): 280-284. DOI:10.11896/j.issn.1002-137X.2019.04.044) |
[11] |
CLEMENCE D, ANDREA N, ANTJE T. SAR-SIFT for matching multiple SAR images and radargrammetry[J]. Pfg-Journal of Photogrammetry Remote Sensing and Geoinformation Science, 2017, 85(3): 149-158. DOI:10.1007/s41064-017-0019-y |
[12] |
ZHOU Changjiang, XI Chaoqiang, PANG Jingyin. Ambient noise data selection based on the asymmetry of cross-correlation functions for near surface applications[J]. Journal of Applied Geophysics, 2018, 159(1): 803-813. |
[13] |
吕清秀, 李弼程, 高毫林. 基于距离度量学习的DCT域JPEG图像检索[J]. 太赫兹科学与电子信息学报, 2014, 12(1): 112-118. (LYU Qingxiu, LI Bicheng, GAO Haolin. JPEG image retrieval in DCT domain based on distance metric learning[J]. Journal of Terahertz Science and Electronic Information Technology, 2014, 12(1): 112-118. DOI:10.1007/s11042-017-4449-8) |
[14] |
ZHU Ye, SHEN Xuanjing, CHEN Haipeng. Covert copy-move forgery detection based on color LBP[J]. Acta Automatica Sinica, 2017, 43(3): 390-397. DOI:10.16383/j.aas.2017.c160068 |
[15] |
COELHO L, BORGES Y, JERONYMO D. Image forgery detection by semi-automatic wavelet soft-thresholding with error level analysis[J]. Expert Systems with Applications, 2017, 85(1): 348-356. DOI:10.1016/j.eswa.2017.05.044 |