曹雁军,李 伟,谷宏志,刘晓丽
(1.中国电子科技集团公司第五十四研究所,河北石家庄050081;2.空军驻石家庄地区军代室,河北石家庄050002)
数字图像取证技术可以分为主动取证和盲取证两大类。数字水印技术[1-3]是主动取证中的主要标志性技术,但这是一种主动取证方法,需要对图像进行预先处理,大大限制了其应用范围。数字图像盲取证技术[4,5]因为其更广泛的应用范围而受到越来越多的重视,盲取证技术不需要预先向图像中加入标识版权的先验信息,而是直接对取自各种来源的数码图像进行真实性和原始性的鉴别。
细缝裁剪(Seam-carving)方法[6]是由 Avidan,Shai提出的一种基于内容的图像缩放技术。这种技术通过计算各个像素的能量值来有目的的选择“细缝”(Seam),通过复制或移除细缝来达到放大或缩小图像的目的。细缝的选择标准决定了复制或移除细缝对图像重要细节的影响最小,从而达到视觉上的失真最小。细缝裁剪技术因其独有的优势而迅速被承认并且大面积使用,比如,该项技术已经加入到Adobe Photoshop CS4中使得一般操作者也能更容易的使用。细缝裁剪技术还可以通过删除经过指定区域的细缝来实现对图像中某个物体的移除而达到篡改的效果。但是迄今为止针对采用细缝裁剪技术进行图像篡改的相应的检测技术还没有被更多的重视和开发。在仅有的文献中,Min Wu提出了一种基于哈希的预测判别方法[7],这是一种主动取证方法,应用受到一定限制;Fillion C提出了一种融合特征后用于 SVM(Support Vector Machine)训练的方法[8],但是识别的准确率和成功率不高。
本文采用提取正常图像和经过细缝裁剪篡改后的图像的马尔科夫特征,并用SVM进行训练,来达到区分正常图像和细缝裁剪篡改图像的目的,实验结果表明本文所提方法取得了良好的的检测效果。
细缝裁剪就是通过复制或者移除“细缝”来实现图像缩放的目的,所谓“细缝”是根据能量值来选定的一条竖直方向或水平方向的一条线,以垂直细缝为例,这条线是从上至下的一条曲线,该曲线在图像每一行都有且仅有一个像素,曲线上相邻2个像素之间是八连通的,这保证了是一条连续的曲线。关于细缝需要说明以下两点:①细缝的选择是基于像素能量的大小来选取,这里选用式(1)计算所得出的能量值来进行比较选取;②之所以要细缝上相邻像素八连通从而实现整条细缝是一条连续的曲线,而不是直接选取每一行(以垂直细缝为例)的能量值最低的像素直接复制(放大时)或者删除掉(缩小时),是因为每列能量值最小的像素一般分散分布,直接复制或删除这些像素将会产生比较严重的不连续视觉效果,造成很明显的人为失真痕迹。
对于大小为N1×N2大小的图像,用式(2)定义一条垂直细缝:
式中,某条竖直细缝包含的像素集由s表示。该竖直细缝含有N1个像素表示N1个像素的坐标集((a,b)代表图像中第a行第b列)。
细缝的查找过程采用动态编程技术实现,从第2行开始对每个像素(i,j)计算其M(i,j)的值:
通过式(4)可以看出,首先逐一检查上一行与当前像素八连通的3个相邻像素的能量值,找到值最小的像素,将当前元素能量值与该像素能量值相加作为当前像素的最终能量值,依次按照以上策略进行计算并记录路径,这样当计算到最后一行的时候,该行每个像素的能量值就是某条细缝的能量累加值,通过对最后一行像素的能量值的遍历可以找到总能量值最低的细缝在最后一行像素的位置,通过此像素进行回溯,就可以找到整条细缝,这种能量值最低的细缝将在图像缩放过程中发挥最大的作用。
当图像需要放大时,通过复制最优细缝来实现。如果细缝中的某个像素是a2,它的复制决定于它附近的2个像素,比如{a1,a2,a3},复制细缝后为{a1b1,b2,a3},b1、b2通过式(5)求得:
如果a2恰好处在图像的边缘,比如{a1,a2},则复制细缝后为{a1,b,a2},b 的值由式(6)求得:
图像通过插值和细缝剪缩放后的效果对比如图1所示。
图1 图像通过插值和细缝裁剪缩放后的效果对比
通过图1可以看出细缝裁剪技术在图像缩放方面体现出的优越性。用插值方法得到的缩放图像对使得图像的细节发生了变形和失真,而使用细缝裁剪方法得到的缩放效果在最大程度上保证了图像细节不发生变化,因此视觉效果最好。
一般来讲,通过数码设备获取的数字图像,相邻像素之间存在一定的关联关系。细缝裁剪通过细缝的插入和删除来实现图像的缩放,这个过程必然会明显的影响插入或删除细缝相应区域的相邻像素的相关性。
马尔科夫过程可以很好的描述像素间的相关性以及空间上的连续性变化。通过计算图像频域(比如DCT域)的马尔科夫转移概率矩阵,提取相应特征,加以训练,使其能够用以区分正常图像和经过细缝裁剪篡改后图像,具体步骤如下:
①对源图像进行8×8块离散余弦变换从而得到DCT系数矩阵。
②DCT系数矩阵取整,然后取绝对值(得到矩阵F)。
③计算F的差矩阵(水平、竖直、对角线、反对角线4个方向):
④ 设置阈值 T(正整数),对Fh、Fv、Fd、Fm中的所有元素值验证,>T或者<-T,则改为T或者-T。
⑤ 对Fh、Fv、Fd、Fm分别求各自对应方向的转移概率矩阵:
⑥将式(8)所求得的转移概率矩阵的所有元素作为特征。维数为(2T+1)×(2T+1)×4=324(T=4)。
由于支持向量机(SVM)[9]在小样本高维数据的分类表现出很好的性能。本文采用使用RBF核的LIBSVM[10,11]。分类过程将所有未经篡改的正常图像标为“-1”,所有经过细缝裁剪篡改的图像标为“1”,从而将问题转化为一个二值分类问题。使用LIBSVM首先对混合图像集进行训练,该训练集包含原始图像和篡改图像。将训练的结果用于含正常图像和按各种比例缩放的篡改图像的测试集进行分类测试。
实验对灰度图像和彩色图像两大类进行分别测试。针对灰度图像的实验采用在数字图像取证领域最广泛使用的哥伦比亚大学图像库,该图像库由933张正常图片和912张拼接图片组成。由于图像库涵盖了11大类各种纹理情况的图像,因而在此图像库上的实验结果具有很好的可信性。11类图像的具体纹理特征如表1所示。
表1 11类图像说明
实验采用11大类共933张正常图片作为正常图像库并针对每一类正常图像使用细缝裁剪技术产生篡改图像库。其中,分别对正常图像进行0.5、0.8比例的缩小和1.2、1.5比例的放大。共得到包含4×933=3 732张篡改图像的篡改图像集。包含933张的正常图像集和3 732张的篡改图像集将为SVM的训练和分类测试提供所有需要的图像。图片实例如图2所示。
图2 哥伦比亚图像库实例图片
彩色图像采用CASIA 2.0,该库包含7 491张正常图像和5 123张篡改图像。图像大小从240×160到900×600不等,并且包含未压缩图像和不同压缩比例因子的JPEG压缩图像。7 491张正常图像都是自然图像,包含场景、动物和建筑等9大类。图片实例如图3所示。
图3 CASIA 2.0图像库实例图片
软件平台采用Matlab R2009a,硬件平台采用Intel E7500 2.93 GHz,2 G 内存的台式机。大量实验表明,差矩阵和转移概率矩阵求取时取T=4可以达到最好的效果。
针对灰度图像库,对含有正常图像和篡改图像各300幅(随机挑选)的训练集进行训练,然后对11大类图像逐一选取正常和篡改后各100幅图像(随机挑选)分别检测正确率,结果如表2所示。
表211 类图像的检测结果(%)
TPR(True Positive Rate)代表在所有待检测篡改图像中正确检出的比率;TNR(True Negative Rate)代表在所有待检测正常图像中正确检出的比率。Accuracy代表所有待检测正常和篡改图像总的正确检出比率。Total代表所有11×100×2=2 200幅测试图像总的检测正确率。
针对彩色图像库,在9大类共7 491张正常图片中,每类随机选取200张图片,共200×9=1 800张;每类中随机选取50张并用细缝裁剪进行比例为50%、80%、120%和150%的缩放,共得到50×9×4=1 800张缩放篡改图片;每类随机选取50张并使用细缝裁剪移除部分图片细节,得到50×9=450张篡改图片:训练集即由1 800张正常图片和1 800+450=2 250张篡改图片组成。测试集由所有7 491张正常图片和2部分篡改图片组成:一部分是每类中随机选取200张并按50%、80%、120%和150%比例缩放后的200×9×4=7 200张;一部分是每类中随机选取50张并用细缝裁剪方法去除部分图像细节的共50×9=450张。测试结果如表3所示。
表3 CASIA图像库图像的检测结果(%)
从表2和表3可以看出,基于马尔科夫特征的检测方法检测经过细缝裁剪篡改过的图像具有很高的准确率。从表2可以看出,算法针对纹理较强的图像表现出更高的识别准确率,针对平滑图像表现略差,原因是纹理丰富的图像像素间的变化更显著,体现在相关性上就更强,在转移概率矩阵中也就具有更明显的特征。考虑到篡改图像基本都是纹理较为复杂的图像,所以本算法在实际应用中应该具有很强的分辨识别能力。从表3可以看出,算法在彩色图像库的检测结果比灰度图像库略差,这应该归因于彩色图像库的图像大小变化和不同压缩比例的JPEG图像的影响。
ROC(Receiver Operating Characteristic Curve)曲线能够直观地反映出算法分类的效果,采用TPR作为纵轴,FPR(被错认为篡改图像正常图像的数目占测试集中所有正常图像的比例)作为横轴。曲线的AUC(Area Under the Curve)值越高表明分类的效果越好,分类测试所得ROC曲线如图4所示。通过图4可以看出,基于马尔科夫特征的算法ROC曲线有很好的AUC值,在实际分类中会取得很好的效果。
图4 分类测试所得ROC曲线
细缝裁剪技术是近几年开始流行的一种内容感知的图像缩放技术,因其对图像主要内容最大程度的保护不失真而得到广泛的承认和使用,也被用来进行诸如物体移除等图像篡改操作。基于马尔科夫特征实现了对采用细缝裁剪技术进行图像篡改的检测,准确率达到令人满意的效果,能够在实际应用中发挥作用。
[1]周清雷,李 斌.基于防篡改的双重软件水印方案[J].计算机工程,2013(7):1 -3.
[2]韦瑞瑞,彭静玉.彩色数字水印技术的研究[J].计算机应用与软件,2013,30(7):136 -138.
[3]叶天语.基于子块区域分割和自嵌入技术的全盲多功能图像水印算法[J].通信学报,2013,34(3):148 -156.
[4]AMERINI I,BALLAN,LAMBERTO,et al.A SIFT-based Forensic Method for Copy-move Attack Detection and Transformation Recovery[J].Information Forensics and Security,2011,6(3):1 099 -1 110.
[5]PAN Xun-yu,LU Si-wei.Region Duplication Detection using Image Feature Matching[J].Information Forensics and Security,2010,5(4):857 -867.
[6]AVIDAN S,SHAMIR A.Seam Carving for Content-aware Image Resizing[J].ACM Transactions on Graphics(TOG),2007,26(3):10.
[7]LU W,WU M.Seam Carving Estimation using Forensic Hash[C]∥Proceedings of the Thirteenth ACM Multimedia Workshop on Multimedia and Security,USA:New York,2011:9 -14.
[8]FILLION C,SHARMA G.Detecting Content Adaptive Scaling of Images for Forensic Applications[J].Media Forensics and Security II,2010,7541(1):175 - 178.
[9]CORTES C,VAPNIK V.Support-Vector Networks[J].Machine Learning,1995,20(3):273 -297.
[10]CHANG C C,LIN C J.LIBSVM:A Library for Support Vector Machines[J].ACM Transactions on Intelligent Systems and Technology,2011,2(3):1 -27.
[11]史黎黎.基于支持向量机的步态识别算法研究[J].无线电工程,2013,43(6):50-53.