-
数字图像取证分为主动取证和被动取证两类。主动取证需要事先利用数字图像中的冗余特征将所需信息嵌入其中,而后鉴定人员通过提取这些信息进行版权认证或者判断图像是否经过篡改。被动取证的研究主要集中于数字图像来源鉴定和伪造检测两方面,其并不需要事先将先验信息嵌入图像,对于给定的数字图像,利用数字信息处理技术对图像的来源或真实性进行判别。本文则是利用被动取证方法对图像的真实性进行判别。
近年来各种移动设备快速发展,同一幅图像可能会在不同的设备上进行显示,为了适应移动设备大小的多样化,基于内容感知的图像缩放技术随之兴起,如文献[1]的细缝裁剪(seam carving)算法,该算法基于图像内容进行重定向而尽量避免图像细节的扭曲变形,但也可被用于图像的恶意篡改,例如移除图像中的某个目标,篡改原图像的语义内容,因此有必要对此类篡改进行检测。
细缝裁剪只发生在图像的局部区域,图像缩小后只去除了原图像中被选定最优细缝中的像素,图像中其他像素值并未发生改变,且早期检测复制粘贴篡改、重采样等数字图像取证算法[1, 3-7]已不再适用于检测细缝裁剪[8],因此需要寻求其他方法来检测此类篡改。文献[8]认为细缝裁剪操作改变了图像的内容和维度,最早将该操作定义为篡改并在量化DCT域内提取一阶马尔科夫特征进行检测,但检测准确率不高;文献[9]采用哈希预测进行检测,因其是一种主动取证的方法,应用受到局限;文献[10]提出了一种多种特征融合的方法来探测细缝裁剪,但是该算法只对缩放比例较大的细缝裁剪图像有良好的识别效果;文献[11]将图像分为2×2小块,通过在各个小块内回溯细缝裁剪的过程提取特征,但操作较为繁琐;随后文献[12]利用细缝裁剪篡改过程前后图像的能量偏移提取三组特征进行检测,取得了良好的实验效果;文献[13]对文献[12]进行改进,在LBP域提取特征,并加入半缝特征,检测率明显提升;文献[14]基于自然图像量化DCT系数符合本福特法则提取特征进行检测,但是当图像纹理趋于平滑时检测效果略差。
考虑到细缝裁剪篡改前后图像相邻像素间相关性及局部纹理的变化,本文提出了基于局部二值模式(LBP)和马尔科夫特征的被动取证方法,该方法克服了文献[8]中使用传统马尔特夫特征在检测细缝裁剪缩小比例较小时不敏感的情况,从而在整体上提升了检测率。算法采用UCID[15]数据库,将该数据库中不同类型的图像转换到LBP域后进行JPEG压缩,对其二维JPEG矩阵[16]计算在水平、垂直、主对角线、次对角线4个方向上的差分矩阵,提取324维马尔科夫特征,通过支持向量机(SVM)进行分类训练,从而达到检测篡改图像的目的,实验结果表明本文算法性能优越,特别是针对小比例细缝裁剪篡改的检测率明显提升。
-
细缝裁剪[1]以细缝(seam)的形式通过删除图像中“不重要”的像素实现重定向而保留了图像中重要内容良好的视觉效果。图像中像素的重要性由式(1)的能量函数定义:
$${e_1}(I) = \left| {\frac{\partial }{{\partial x}}I} \right| + \left| {\frac{\partial }{{\partial y}}I} \right|$$ (1) 细缝是一条从上到下(或从左到右)贯穿整幅图像的8连通路径,细缝裁剪以删除细缝的方式进行篡改,以垂直细缝为例,对于一幅$n \times m$大小的图像,垂直细缝定义为:
$$\begin{array}{l} {S^x} = \{ s_i^x\} _{i = 1}^n = \{ i,x(i)\} _{i = 1}^n\\ {\rm{s}}.{\rm{t}}.\;\;\;\forall i,\left| {x(i) - x(i - 1)} \right| \le 1 \end{array}$$ (2) 式中,$S$代表一条细缝所包含的像素集合;$x$代表从[1, 2, …, n]到[1, 2, …, m]的映射。该公式表示垂直细缝是从上到下贯穿整幅图像的8连通路径,并且细缝中每行有且只有一个像素。按照式(1),细缝$I$所包含的像素集合可表示为:
$${I_s} = \{ I({s_i})\} _{i = 1}^n = \{ I(i,x(i))\} _{i = 1}^n$$ (3) 为了达到视觉满意的缩放效果,细缝所包含的像素集能量应尽可能低,因此定义最优细缝为:
$${s^*} = \mathop {\min }\limits_s E(s) = \mathop {\min }\limits_s \sum\limits_{i = 1}^n {e(I({s_i}} ))$$ (4) 最优细缝的查找由动态程序实现,以垂直细缝为例,从图像第二行到最后一行遍历图像,对其中的每个像素点($i$, $j$)计算矩阵M(i, j):
$$\begin{array}{c} \mathit{\boldsymbol{M}}(i,j) = e(i,j) + \\ \min (\mathit{\boldsymbol{M}}(i - 1,j - 1),\mathit{\boldsymbol{M}}(i - 1,j),\mathit{\boldsymbol{M}}({\kern 1pt} {\kern 1pt} {\kern 1pt} i - 1,j + 1)) \end{array}$$ (5) 矩阵M(i, j)的最后一行即为各种垂直细缝包含的能量值,锁定其中最小值的元素,从该元素出发从下往上回溯这条细缝其他元素的位置,即可得到最优细缝。
-
LBP是文献[17]提出的用于提取图像纹理特征的算子,它描述的是图像的局部纹理,因其操作简单、识别度高而被广泛使用。细缝裁剪操作中当一条垂直细缝被删除,剩余图像中在这条细缝右侧的所有像素向左平移来填补空缺,对于与这条垂直细缝相邻的这些像素来说,篡改后与其相邻的像素点将发生改变,即图像的局部纹理发生改变,而LBP域比空域对图像局部纹理的变化更为敏感[13],即使删除一条细缝,篡改前后与这条细缝相邻元素的LBP值将发生显著改变,因此本文选择在LBP域提取特征。
细缝裁剪没有引入新的像素值,只是以“细缝”的形式删除图像中不重要的像素,但仍会引起相邻像素间相关性发生变化,这种变化可体现在空域和频域(量化的DCT域)内,文献[8]通过实验表明频域比空域更适用于细缝裁剪的分类。即使细缝裁剪删除的是垂直细缝,图像在水平方向、垂直方向、主对角线方向、次对角线方向上像素间相关性都会发生变化,当细缝裁剪缩小的比例足够大时相关性的变化将更加明显。由于文献[16]定义了二维JPEG矩阵,即经过了DCT变换和量化但没有进行之字形扫描和熵编码的矩阵,文献[8]在二维JPEG矩阵的差分矩阵中提取马尔科夫特征,但当缩小比例较小时,因其像素间相关性变化不明显使得检测率偏低。
本文提出了一种基于LBP和马尔科夫特征的方法,通过计算在LBP域中4个方向上差分二维JPEG矩阵的马尔科夫转移概率矩阵,提取324维特征,用SVM加以训练,以此来检测图像是否经过细缝裁剪篡改。算法整体框架如图 1所示。
1) 将图像从空域变换到LBP域:对源图像的每个像素进行LBP运算,LBP算子在3×3的窗口中进行,二值化及编码操作后将会得到中心像素的LBP值,对图像的每个像素进行上述操作,得到每个像素的LBP值,这样图像将从空域转换到LBP域;
2) 计算JPEG压缩后的二维JPEG矩阵:因本文算法特征是在量化DCT域内提取的,而所用UCID数据库是未经压缩的TIFF图像,所以对此LBP矩阵以质量因子QF为100进行JPEG压缩,得到二维JPEG矩阵F(u, v)(以8×8分块的量化DCT矩阵);
3) 计算一阶差分矩阵:对矩阵F(u, v)取绝对值后计算在水平、垂直、主对角线、次对角线共4个方向上的一阶差分矩阵:
$$\begin{array}{l} {\mathit{\boldsymbol{F}}_h}(u,v) = \mathit{\boldsymbol{F}}(u,v) - \mathit{\boldsymbol{F}}(u + 1,v)\\ {\mathit{\boldsymbol{F}}_v}(u,v) = \mathit{\boldsymbol{F}}(u,v) - \mathit{\boldsymbol{F}}(u,v + 1)\\ {\mathit{\boldsymbol{F}}_d}(u,v) = \mathit{\boldsymbol{F}}(u,v) - \mathit{\boldsymbol{F}}(u + 1,v + 1)\\ {\mathit{\boldsymbol{F}}_m}(u,v) = \mathit{\boldsymbol{F}}(u + 1,v) - \mathit{\boldsymbol{F}}(u,v + 1) \end{array} $$ (6) 式中,u∈[0, Su1];v∈[0, Sv1],Su,Sv为矩阵F(u, v的行数和列数。
因为经过一次压缩的JPEG图像量化DCT系数符合拉普拉斯分布或柯西分布,上述4个差分矩阵的值因都在“0”值左右,本文设定一个阈值T,差分矩阵元素值都在[-T, T]这个范围内,差分矩阵元素大于T的置为T,小于-T的置为-T。
4) 计算转移概率矩阵:分别计算上述4个方向上的马尔科夫转移概率矩阵,以此来表征马尔科夫过程,如:
$${p_h}(m,n) = \frac{{\sum\limits_{u,v} {\delta ({\mathit{\boldsymbol{F}}_h}(u,v)} = m,{\mathit{\boldsymbol{F}}_h}(u + 1,v) = n)}}{{\sum\limits_{u,v} {\delta ({\mathit{\boldsymbol{F}}_h}(u,v) = m)} }}\\ {p_v}(m,n) = \frac{{\sum\limits_{u,v} {\delta ({\mathit{\boldsymbol{F}}_v}(u,v) = } m,{\mathit{\boldsymbol{F}}_v}(u,v + 1) = n)}}{{\sum\limits_{u,v} {\delta ({\mathit{\boldsymbol{F}}_v}(u,v) = m)} }}\\ {p_d}(m,n) = \frac{{\sum\limits_{u,v} {\delta ({\mathit{\boldsymbol{F}}_d}(u,v) = m,{\mathit{\boldsymbol{F}}_d}(u + 1,v + 1) = n)} }}{{\sum\limits_{u,v} {\delta ({\mathit{\boldsymbol{F}}_d}(u,v) = m)} }}\\ {p_m}(m,n) = \frac{{\sum\limits_{u,v} {\delta ({\mathit{\boldsymbol{F}}_m}(u + 1,v) = m,{\mathit{\boldsymbol{F}}_m}(u,v + 1) = n)} }}{{\sum\limits_{u,v} {\delta ({\mathit{\boldsymbol{F}}_m}(u + 1,v) = m)} }}$$ (7) 式中$m,n$∈{-T, …, 0, …, T};$u$∈[0, Su-2];$v$∈[0, Sv-2];$\delta $函数定义为:
$$ \delta (X = m,Y = n) = \left\{ {\begin{array}{*{20}{c}} 1&{X = m{\rm{且}}Y = n}\\ 0&{{\rm{其他}}} \end{array}} \right. $$ (8) 5) 提取特征:将阈值T设定为4效果最佳[8],因此上述4个方向上的转移概率矩阵都有(2T+1)× (2T+1)=9×9=81个转移概率值,将所有转移概率矩阵的值作为特征送入SVM进行细缝裁剪篡改检测,其特征维数为:81×4=324维。
-
实验使用该检测领域广泛使用的UCID (uncompressed color image database)数据库[18],该图像集内容丰富,包括人物、风景、建筑、动物等,总共1 338张未经压缩的自然彩色图像,大小为512×384,这些图像作为原始图像集。要验证本文算法的有效性,还需要篡改图像集,本文对UCID中1 338张原始图像分别使用文献[1]中细缝裁剪算法缩小3%、5%、10%、20%、30%,得到相应篡改图像集。这样,篡改图像集总共有1 338×5=6 690幅图像,加上原始的1 338张图像,实验总共8 028幅图像。图 2是几个篡改图像示例。
实验在处理器为Inter(R) 2.50 GHz的个人电脑上进行,软件平台为matlab2015a,并采用支持向量机(SVM)进行分类训练,测试具体使用的是台湾大学林智仁等人开发的LIBSVM[18],核函数使用径向基函数(RBF),最优参数c和g的选取由网格搜索和3倍交叉验证的方法得到,分类时采用2值分类,标记正常图像为“1”,篡改图像为“-1”。分类所用特征向量即为第3小节所述的324维特征。
实验从原始图像集中随机抽取1 000幅图像作为正常图像的训练集,再从细缝裁剪缩小3%、5%、10%、20、30%的5大类图像集中分别随机抽取200幅图像(总共200×5=1 000幅图像)作为篡改图像的训练集,然后对含有正常图像和篡改图像各1 000幅图像的训练集进行训练。测试阶段实验先逐一对5大类篡改图像进行检测,再对5大类篡改图像的混合进行检测,根据文献[13],训练集与测试集的比例为3:1时检测效果最佳,因此每次检测实验逐一在原始图像集和篡改图像集内随随机抽取335幅图像分别进行测试。测试结果如表 1所示。
表 1 本文算法对细缝裁剪篡改的检测结果
图像类 真阳性率/% 真阴性率/% 准确率/% 3% 62.00 65.18 63.59 5% 71.38 66.24 68.81 10% 78.31 80.41 79.36 20% 90.33 83.09 86.71 30% 94.23 90.57 92.40 Mix 84.91 81.55 83.23 表中真阳性率(true positive rate,TPR)表示成功检测出的正常样本占整个待检测正常样本的比例;真阴性率(true negative rate,TNR)表示成功检出的篡改样本占整个待检测篡改样本的比例;准确率表示成功检出的样本占整个待检测样本的比例;Mix表示测试集为335幅正常图像和分别在细缝裁剪3%、5%、10%、20%、30%中随机抽取的67幅篡改图像的组合。
为了验证本文算法的有效性,将本文算法与文献[8]、文献[10]和文献[13]的算法进行比较,为了便于分析,对比实验的环境与设置和上述实验一致,测试结果的比较如表 2所示。实验结果的ROC (receiver operating characteristic curve)曲线如图 3所示。
表 2 本文算法与现有算法的比较结果/(准确率)
上述实验结果均是针对原始细缝裁剪算法[1]进行检测,为了体现本文算法的普适性,下述实验将针对文献[19](文献[1]的改进算法)中细缝裁剪算法进行检测,其他实验环境与设置与上述一致,检测结果如表 3所示。
表 3 本文算法与现有算法的比较结果/(准确率)
通过表 2和表 3可以看出本文算法在整体检测细缝裁剪篡改上的优越性,虽然因提取特征专注于8×8块块内元素相关性,导致表 2中检测篡改幅度较大的30%细缝裁剪操作的检测率略低于文献[13],但能看出本文算法具有普适性且整体上还是优于现有算法,特别是针对小比例篡改的检测效果较其他算法有明显提高,这是因为文献[10]中提出的特征融合的方法对细缝裁剪篡改的本质考虑不足,因此检测率较低;文献[8]中基于马尔科夫特征的方法虽然考虑到了细缝篡改前后相邻元素间相关性的变化,但是当篡改比例较小时相关性的变化并不明显,检测效果随之降低;文献[13]考虑了篡改前后局部纹理的变化,但针对小比例篡改的检测率有待提高;本文算法在文献[8]的基础上加入LBP算子,在没有增加特征维数的前提下(总共324维特征),考虑了细缝裁剪前后局部纹理的变化,因为LBP放大了局部纹理的变化,因此即使在篡改比例较小时也能得到很好的检测效果。
A Method of Seam Carving Forensics Based on LBP and Markov Features
-
摘要: 针对细缝裁剪图像篡改操作,提出了一种基于局部二值模式(Local Binary Pattern,LBP)和马尔科夫特征的数字图像篡改取证方法。首先利用LBP算子将图像从空域转换到LBP域,对其进行JPEG压缩后提取二维JPEG矩阵,计算该矩阵在水平、垂直、主对角线、次对角线方向上的一阶差分矩阵,最后对各个方向上差分矩阵分别提取马尔科夫特征,通过支持向量机进行分类训练,从而对细缝裁剪篡改进行检测。实验结果表明,该算法优于传统马尔科夫特征算法以及其他细缝裁剪检测算法,特别是在细缝裁剪比例较小时的检测率较已有算法有明显提升。Abstract: To deal with image tampering operation using seam carving, a forensic method based on LBP and Markov features is proposed. Firstly, the LBP operator is exploited to convert the image from pixel domain to LBP domain. After that, the 2D JPEG matrix is extracted by JPEG compression. Then its first-order difference matrices are calculated in the horizontal, vertical, diagonal and minor diagonal directions respectively. Finally, the Markov features are gained from the difference matrices in each direction and sent to the SVM to identify whether an image is original or suffered from seam carving. The experiment result shows that the proposed algorithm is superior to the traditional Markov feature algorithm and other existing seam carving detection algorithms. Especially when tampering is small scaling seam carving, the detection efficient will obviously improved.
-
Key words:
- digital image forensics /
- image resizing /
- LBP /
- Markov features /
- seam carving
-
表 1 本文算法对细缝裁剪篡改的检测结果
图像类 真阳性率/% 真阴性率/% 准确率/% 3% 62.00 65.18 63.59 5% 71.38 66.24 68.81 10% 78.31 80.41 79.36 20% 90.33 83.09 86.71 30% 94.23 90.57 92.40 Mix 84.91 81.55 83.23 表 2 本文算法与现有算法的比较结果/(准确率)
-
[1] POPESCU A C, FARID H. Exposing digital forgeries by detecting traces of resampling[J]. IEEE Transactions on Signal Processing, 2005, 53(2):758-767. doi: 10.1109/TSP.2004.839932 [2] AVIDAN S, SHAMIR A. Seam carving for content-aware image resizing[J]. Acm Transactions on Graphics, 2007, 26(3):10. doi: 10.1145/1276377 [3] Al-QERSHI O M, KHOO B E. Passive detection of copy-move forgery in digital images:state-of-the-art[J]. Forensic Science International, 2013, 231(1-3):284. doi: 10.1016/j.forsciint.2013.05.027 [4] BINSON V A, THOMAS N M, THOAMS S, et al. An advance to cloning detection in digital forensic investigations[C]//Emerging Technological Trends (ICETT) International Conference. [S. l. ]: [s. n. ], 2016. [5] LI J, LI X, YANG B, et al. Segmentation-based image copy-move forgery detection scheme[J]. IEEE Transactions on Information Forensics & Security, 2015, 10(3):507-518. [6] GALLAGHER A C. Detection of linear and cubic interpolation in JPEG compressed images[C]//Conference on Computer and Robot Vision. [S. l. ]: ACM, 2005: 65-72. [7] MAHDIAN B, SAIC S. Blind authentication using periodic properties of interpolation[J]. IEEE Transactions on Information Forensics & Security, 2008, 3(3):529-538. [8] SARKAR A, NATARAJ L, MANJUNATH B S. Detection of seam carving and localization of seam insertions in digital images[C]//Proceedings of the 11th ACM Workshop on Multimedia and Security. [S. l. ]: ACM, 2009: 107-116. [9] LU W, WU M. Seam carving estimation using forensic hash[C]//Proceedings of the Thirteenth ACM Multimedia Workshop on Multimedia and Security. [S. l. ]: ACM, 2011. [10] SHARMA G. Detecting content adaptive scaling of images for forensic applications[C]//Media Forensics and Security Ⅱ. [S. l. ]: DBLP, 2010: 75410. [11] WEI J D, LIN Y J, WU Y J. A patch analysis method to detect seam carved images[J]. Pattern Recognition Letters, 2014, 36(1):100-106. http://cn.bing.com/academic/profile?id=6388615986e9a8139890d9a06ff170d0&encoded=0&v=paper_preview&mkt=zh-cn [12] RYU S J, LEE H Y, LEE H K. Detecting trace of seam carving for forensic analysis[J]. Ieice Transactions on Information & Systems, 2014, E97. D(5):1304-1311. http://cn.bing.com/academic/profile?id=b1e1ec2b6807c2d18ec6dfa86dd3ed5f&encoded=0&v=paper_preview&mkt=zh-cn [13] YIN T, YANG G, LI L, et al. Detecting seam carving based image resizing using local binary patterns[J]. Computers & Security, 2015, 55(C):130-141. http://cn.bing.com/academic/profile?id=4694cfa649cdd1eed9be037d9c559a36&encoded=0&v=paper_preview&mkt=zh-cn [14] SHENG G, GAO T. Detection of seam-carving image based on benford's law for forensic applications[J]. International Journal of Digital Crime & Forensics, 2016, 8(1):51-61. [15] SCHAEFER G, STICH M. UCID-an uncompressed colour image database[J]. Storage & Retrieval Methods & Applications for Multimedia, 2004, 5307:472-480. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.101.8709 [16] SHI Y Q, CHEN C, CHEN W. A Markov process based approach to effective attacking JPEG steganography[C]//International Workshop on Information Hiding. Alexandria, Va, USA: DBLP, 2006: 249-264. [17] OJALA T, HARWOOD I. A comparative study of texture measures with classification based on feature distributions[J]. Pattern Recognition, 1996, 29(1):51-59. doi: 10.1016/0031-3203(95)00067-4 [18] CHANG C C, LIN C J. LIBSVM:A library for support vector machines[J]. Acm Transactions on Intelligent Systems & Technology, 2007, 2(3):27. [19] RUBINSTEIN M, SHAMIR A, and AVIDAN S. Improved seam carving for video retargeting[J]. Acm Transactions on Graphics, 2008, 27(3):1-9.