楚雪玲, 魏为民, 华秀茹, 李思纤, 栗风永
(上海电力学院 计算机科学与技术学院, 上海 200090)
随着图像处理技术的不断改进,篡改技术越来越高明,伪造的图像越来越难以被人眼察觉。如果在军事、政治方面或法庭等重要场合发生图像篡改,将不可避免地对国家的安全和稳定以及人民的生活产生不可估量的影响。
主动取证和被动取证技术是目前数字取证的两种主要技术。主动取证技术是指将脆弱的水印或者签名预先嵌入数字图像中,利用提取水印或签名的方法进行取证的技术;数字图像被动取证技术,即盲取证技术,是在没有预签名或者预嵌入信息提取的情况下,来验证图像的真实性和来源的一种技术[1]。相对主动取证来说,被动取证具有较高的应用和研究价值,但获取证据的难度较大。JPEG作为目前流行的图像格式之一,其优点是在压缩率较高的情况下仍能够获得较好的图像质量,并且速度处理相对较快。因此,对JPEG篡改图像进行的盲取证研究具有非常重要的意义和应用前景。
利用图像软件篡改图像时,JPEG图像在篡改完成后,可能会使用与原始图像压缩因子(QF1)不同的质量因子(QF2)再一次压缩存储,即JPEG图像是双重压缩,如图1所示。
图1 双JPEG压缩过程
针对双重JPEG篡改的图像已研究出很多盲取证的算法。文献[2-4]研究了通过估计图像第一次压缩量化表来定位篡改区域的方法;文献[5]使用不同的质量因子来重新压缩待检测的JPEG图像,当压缩因子等于篡改区域的压缩因子时,被篡改区域的统计特性失真程度没有很大变化,从而实现对篡改区域的检测。文献[6]首次实现了对JPEG图像篡改区域的自动检测和定位。该方法可以检测不同合成方法处理过的图像,不需要完全解压缩JPEG图像,且对JPEG图像具有更好的压缩效果,尤其是在压缩质量较高的情况下。但该方法不适用于异源复制—粘贴图像和经历了低质量因子的图像。文献[7]通过估计DCT系数和量化步长的兼容性,获得了估计的量化步长。该方法仅能够检测图像篡改后以BMP格式保存的图像,对JPEG双压缩格式无效。
针对上述检测算法的局限性,文献[8]提出了一种可以实现自动检测图像篡改区域的算法。首先,利用双压缩量化效应原理,计算DCT系数条件概率,用直方图周期的平均概率密度来近似篡改区域;然后,运用贝叶斯定理计算出图像块中某一类的后验概率,结合后验概率密度图来实现篡改区域的定位。文献[9]在文献[8]的基础上,利用粒子群算法设定自适应阈值优化后验概率密度图,然后对阈值进行分类判断,通过后验概率密度图实现篡改区域的检测和分离。实验证明,该方法可以自动快速准确地检测和提取篡改区域,而且当QF1大于QF2时,检测结果比其他算法有显著提高。 文献[10-11]遍历被检测图像的所有可能的质量因子,并试着进行了第三次压缩,然后对图像失真程度进行分析,能够检测出待检测图像的原始压缩因子的大小。
在成像设备市场,目前百万像素智能手机的普及率呈爆炸式增长,使用各种照片编辑工具也可以轻松地对图像进行操作。因此,智能手机图像的认证和捕获后操作的识别是数字取证的重要内容。为了提高对JPEG双压缩的检测,文献[12]移植了JPEG隐写分析中相邻边缘密度特征,并将该密度特征与DCT域边缘密度特征进行融合,作为学习分类器的检测器,并利用边缘密度和相邻关节密度特征,以实现智能手机源的识别和捕获后操作。
文献[13]提出了一种基于块内和块间相关性的移位双JPEG(SDJPEG)压缩篡改检测方法。该方法利用差分二维数组描述块内和块间相邻JPEG量化DCT系数之间的大小差异,使用阈值技术对差异的二维数组进行处理,结合共生矩阵对这些差分二维数组进行建模,最后应用支持向量机(Support Vector Machine,SVM)分类器对SDJPEG压缩图像进行分类,通过开发的特征集将SDJPEG压缩图像块与单个JPEG压缩图像块进行区分。
文献[14]提出了一种在JPEG压缩图像位图中利用网格定位对其异常进行图像伪造指标检测的新方法。该方法根据拟合函数对多个网格位置进行评估,并将贡献较小的区域标识为网格不连续区域和可能被篡改的区域。
JPEG双压缩图像检测可分为基于不同量化和相同量化矩阵的压缩检测[15]。具体算法的特征分类和检测效果如表1所示。
近年来,随着机器学习和深度学习的深入研究,深度学习的方法也应用在图像取证方面[27-31]。文献[32]基于双JPEG压缩,提出了一种卷积神经网络检测算法,文献[33-34]分别采用朴素贝叶斯分类器和SVM分类器对双JPEG压缩图像进行了检测取证。
表2和表3是文献[32-34]3种算法分别在小图数据集[35]和大图数据集[36]下的Area Under Curve(AUC)的值。
表1 JPEG双压缩图像具体的特征分类和检测效果
表2 小图数据集下文献[32-34]的AUC值
表3 大图数据集下文献[32-34]的AUC值
由表2和表3可知,两种数据集下文献[32]算法均优于文献[33-34]两种算法,尤其在QF2 JPEG编码时,采用分块后分别对每个子块执行二维DCT变换,这样DCT变换的运算量能明显减少,但也可能忽略原有子块间像素值的相关性。在下一个量化过程阶段,为了实现图像压缩,高频位置的量化步长在量化表中一般会较大,因此在量化之后,每个子块边缘处的大部分高频的分量将丢失,导致在解码图像中块的边界处会出现不连续的现象,从而形成块效应[37]。量化步骤将导致JPEG压缩期间丢失大量信息,所以在取整操作时要引入量化误差,记为e(u,v),则量化步骤可以表示为 u,v=0,1,2,…,7 (1) 在解码端进行反量化操作,可获得反量化后的DCT系数 (2) 然后进行DCT反变换以获得解码后的图像,从而可以在整个解码图像中得出解码量化误差e(u,v)×Q(u,v)的分布。在JPEG图像分块处理时,解码量化误差会被叠加,进而导致解码后破坏图像中每个子块间的相关性,由此在子块边界处形成块效应现象。一幅未被篡改的JPEG图像的块效应应该是相同的,但被篡改后图像的局部块效应会发生变化,因此可以通过检测块效应来确定图像是否已被篡改。 近年来,国内外研究人员提出了许多消除块效应的算法[38-43]。但这些算法会在块效应消除的同时也模糊图像被篡改的证据。因此,图像块效应消除的算法虽能提高压缩图像的质量,而对于JPEG篡改图像盲取证的苛刻条件,并没有得到提高。文献[44]首次提出了一种检测JPEG块效应的快速有效的方法,即在没有压缩的情况下,与块边界交叉的相邻像素之间的差异应该与块内部相邻像素之间的差异相似,但经过JPEG压缩后与块边界交叉的相邻像素之间的差异将不同,如图2所示。图2中,(x,y)表示每个块中的位置坐标;A~H表示块的位置。 图2 JPEG图像块效应差异实例 图2中,Lena图像中压缩质量因子为85的各个8×8块内与块边界交叉的像素之间是不同的,即 Z′(x,y)=|A+D-B-C| Z″(x,y)=|E+H-F-G| (3) 3个位置(4,4)、(2,4)、(3,3)的Z′(x,y)和Z″(x,y)的直方图H1和H2构造块效应的差异强度为 K(x,y)(n)=|H1(n)-H2(n)| n∈[0, 255×2] (4) 式中,H1(n)和H2(n)分别表示Z′和Z″直方图中的bin值为n的总数。 由此可看出JPEG图像块效应差异在块边界交叉处最大。 文献[23]选取图像的某一个区域,对此区域的DCT系数进行了傅里叶变换,根据频域特性估计出原始量化矩阵,当计算整个图的块效应时,通过利用该区域的量化矩阵,将具有差异较大的区域表示为篡改区域。但是此方法仅适用于压缩质量因子较大的图像。文献[45]提出了针对JPEG频谱的块效应测度的度量算法来鉴定图像的真伪性。该算法在频谱分析的基础上对图像进行二阶差分,并定义了图像块效应测量的新指标,用于篡改图像的盲取证。文献[46]提出了一种新的技术,即利用量化噪声模型来检测由双JPEG压缩引起的块效应,以及在空间和变换域上表示JPEG图像的周期特征。其使用的源图像都是JPEG格式。量化噪声模型为 Ax=c=c1+n1=c2+n2 (5) 式中:A——尺寸为64×64的DCT基础矩阵; x——8×8块的初始强度; c1,c2——初次和第二次压缩之后的量化DCT系数向量; n1,n2——相对应的量化噪声。 JPEG图像压缩次数越多,噪声量化直方图越接近高斯分布。该方法能根据块效应原理对图像进行解块,然后进行低频补偿,但仅补偿低频的15个DCT系数,最后修正量化噪声模型,以检测块对齐或不对齐的双压缩块效应。 很多学者对篡改区域的块效应网格与背景区域之间的网格不匹配现象进行了研究,根据块效应网格的提取来识别篡改区域。文献[47]提出根据图像块效应网格的错配来检测和定位JPEG伪造图像的篡改区域。该检测方法可以有效地处理通过平均邻近像素的值来平滑复制区域边界的图像,以实现对JPEG压缩过程中块处理引入的块效应网格的提取和分析,但图像进行多次压缩将会产生块效应网格偏移。文献[48]在重获取图像过程中引入与原始图像无关的背景信息,利用图像的平均信息损失量进行块效应网格的检测;与传统方法相比,该方法具有更高的精度和更短的平均检测时间。 原始JPEG图像的块效应网格与篡改区域的块效应网格一定会发生错配不一致的现象。基于该假设,盲取证在大多数情况下都是有效的,且如果粘贴的篡改区域与周围的原始图像块效应网格恰好重合对齐,则检测会失败,但这种情况发生的可能性仅仅为1/64,即1.56%。 图像处理技术的快速发展,使得图像篡改趋于常态化。JPEG图像篡改盲取证技术虽然取得了一定的效果,但近些年来突破不大,没有完善的体系结构,主要表现在以下几个方面。 (1) 方法针对性强。JPEG图像篡改的盲取证大多针对某一种特定的篡改方式进行取证,比如单次压缩、双重压缩、拼接、复制粘贴等。因为分析一幅图像时如果不具有任何先验的知识,待检测图像伪造的特征很难检测到,所以为了符合实际需求,需要研究出一种融合的算法,能够检测复杂的图像篡改。 (2) 基于JPEG图像统计特性的算法取证过于依赖分类器及训练样本的选取。多数取证算法需要依靠预先训练,对于常见的盲检测性能不佳,大多数取证的方法都没有一个统一的衡量标准。 (3) 缺少图像测试的公用数据库。现有的很多方法使用的都是自创的数据库或者某些开源数据库,这些图像可能来自于不同的电子数码设备。由于训练样本和测试样本不同,这些差异性的耦合度较低,将会导致同一算法在不同的图像数据库中产生不同的检测结果,因此无法有效比较各算法之间的优劣,对于实验结果的判断没有一个统一的标准模型。为了能够客观地分析和比较各种类型的篡改图像和检测技术,有必要建立一个公用的图像数据库以及统一的系统评估规范和方法。 JPEG图像篡改检测主要有双JPEG压缩检测和块效应不一致性检测,但目前的解决方法并未完全成熟,与实际应用还存在一定的差距。特别是大多数JPEG图像双重压缩的方法仅在QF2>QF1时才有效;当QF2≤QF1时,算法检测效果很差。在QF2较大的情况下,取证算法检测依然有效的方法是未来的研究重点。 此外,当用一个较低的压缩质量因子篡改图像时,被篡改区域原来的JPEG压缩痕迹会遭到破坏,篡改检测的难度将会增加。所以,当以比原始图像更低的质量因子再次压缩保存篡改图像时,基于块效应测度的JPEG篡改图像盲取证方法所检测的效果通常会较差,甚至无效。用小于原始图像的质量因子对此类图像再次压缩的JPEG伪造图像,可以尝试结合其他特性,比如与JPEG图像的双量化相结合等。 近年来,随着信息与计算机等领域的快速发展,一些与数字图像盲取证研究相关的领域也在不断创新和进步。当前迅速发展的统计机器学习、深度学习、大数据等都能够为JPEG图像篡改盲取证技术提供有价值的参考。2 JPEG块效应不一致性检测
2.1 JEPG图像块效应的产生
2.2 基于JEPG图像块效应的算法
3 存在问题
4 结 语