system: [SYSTEM]

user: 3. 基于频率的复制粘贴图像篡改检测方法 3.1. 基于DCT变换的方法 Fridrich、Soukal和Lucas提出了使用DCT变换(离散余弦变换)的方法进行图像篡改检测 [ 4 ] 。DCT变换的方法是将空间域转换为离散频域。首先对图像进行DCT变换，而后在给定的阈值下，对变换后的DCT系数进行系数对直方图化处理，并对直方图化后的值进行归一化，最后用主成分分析对上述数据进行降维处理取得系数对直方图的统计特征，同时将真实图像和篡改后的图像特征进行分类识别 [ 5 ] 。 3.1.1. 预处理 如果输入的是彩色图像，先应用公式(1)将其转换为灰度图像。 (1) 3.1.2. 特征提取 先确定一个尺寸大小为 的方形滑动窗，然后将此方形滑动窗从图像的左上角到右下角依次进行滑动，将图像划分成多个相互重叠或不重叠的方块。对应计算出每一个方块的DCT系数，即为特征向量。 3.1.3. 匹配 从方块中提取的特征向量被存储在一个矩阵中。如果输入图像的大小为 ，则矩阵将有 行和 列。所有的特征向量都是按照字典排序法进行排序的，经过逐一匹配，所有的匹配块对将被识别出来，但可能存在大量的错误匹配。为了避免这种情况，还需要计算出相似块的位移向量。将每个块的左上角的坐标定义为它的位置坐标，当得到一对相似的位移向量时，计数器T的值加一。这样，就可以得到两个相同的特征向量对应的块对。假设块对的位置坐标分别为 和 ，对应于相似块对的位移向量可以用式(2)进行计算。 (2) 由于位移向量 和 表示的是同一种位移，所以应该对位移向量做归一化处理。当 时，将位移向量乘以 ，使 。对于每一组具有相同的归一化位移向量的匹配块对，计数器T的值加一，如式(3)所示。 (3) 首先将计数器T的值初始化为零，计数器的值表示出现不同的位移向量的频率。对于所有的归一化的位移向量 ，只要其频率大于一个用户设定的阈值 ，即 ，就可以被检测出来。出现频率大于用户指定阈值的位移向量所对应的块对就被标记为复制粘贴篡改块。如果阈值设定得偏高，那么小尺寸匹配块对将很难被检测出来；而如果阈值设定得偏低，又会出现很多的错误匹配。用此算法能够检测的篡改块的最小尺寸由方块的大小和阈值 共同决定。 3.1.4. 算法缺陷 当原始图像中存在大纹理区域时，此方法无法准确区分出篡改区域和大纹理区域，误检率将会大大提高。 3.2. 基于DWT变换的方法 Zhang、Feng和Su提出了一种基于DWT变换(离散小波变换)的方法进行图像篡改检测 [ 6 ] 。由于小波变换具有多分辨率特性，故其被广泛应用于图像分解。DWT变换能够减小每一级图像分解的尺寸，如果一个矩形图像经过L级分解后的大小为 ，那么经过L+1级分解后图像大小则为 。在每个分解等级上，输入图像被分解成四个子带：LL、HL、LH和HH。其中，HL、LH和HH分别是图像的水平分量，垂直分量和对角线分量，LL则被称为近似分量或粗水平分量。每一级分解后，将得到的LL子带进一步划分为四个子图像。最后将这些子图像拼接起来，就能够恢复出原始图像。由于DWT变换具有迭代分解特性，如果进行L级分解，那么在LL子带执行的匹配则表示为 。每次迭代后，用于产生重叠块的子图像分别是 。其中， 是粗级图像。 3.2.1. 预处理 如果输入的是彩色图像，则利用公式(1)将其转换为灰度图像。 3.2.2. 特征提取 子带被分为多个大小为 重叠块。将对应于每个块的像素值提取出来并存储在一个行向量中。如果输入图像的大小为 ，那么存储每个图像块的特征向量的矩阵都含有 行和 列。如果进行j级分解，那么矩阵的行数将减少到 。 3.2.3. 匹配 应用字典排序法找出相似的特征向量。对于相邻的特征向量，计算出其位移向量，并给位移向量计数器设定一个阈值。对于位移向量计数器的值大于阈值的块对，用不同的颜色将其标记为复制粘贴篡改块。 3.2.4. 算法缺陷 此方法会受到图像中复制和粘贴区域位置的限制。当篡改的区域位于图像的中心部分时，此方法将无法使用。在这种情况下，需要将该算法迭代应用于各个子图像。 3.3. 基于DyWT变换的方法 Muhammad、Hussain 和 Bebis基于DyWT变换(二进小波变换)提出了一种复制粘贴图像篡改检测方法 [ 7 ] 。DWT变换出现后，基于这种算法又衍生出很多改进型的算法，DyWT变换就是其中的一种。当从一幅图像上复制出一片区域，然后粘贴在该图像的其他位置时，这两个相似的图像块就存在不同的图像特征，这样就要求小波描述符具有平移不变性。然而，由于DWT变换对图像进行下采样，故其不具有平移不变性。因此，DWT变换对诸如边缘检测、图像去噪和纹理分析等信号处理不能产生很好的效果。而DyWT变换具有平移不变性，故可以应用于上述操作。将输入图像I进行分解，Q[k]和R[k]分别是低通滤波器和高通通滤波器，输入图像I的DyWT变换可以用如下算法进行计算。 从w = 0开始，假定 ，在 的各级分解下，尺度系数和小波系数可以依式(4)和式(5)分别计算得到。 (4) (5) 和 是通过在Q[k]和R[k]之间添加 个零点所得到的滤波器。DyWT变换可以通过图2所示的滤波过程实现。假设从第0级分解开始计算，即 。 DyWT变换不涉及下采样，对二维信号而言，将图像分解后可得到LL、HL、LH和HH四个子带。当然，也可以对图像的行和列分别应用DyWT变换进行分解，如图3所示。 3.3.1. 预处理 这种方法可以直接应用于彩色图像，不需要将其转化为灰度图像。将输入图像分解为三个颜色通道红色(R)、绿色(G)和蓝色(B)，然后对这三个颜色通道分别执行类似的操作，通过比较列表进行匹配。 3.3.2. 特征提取 应用DyWT变换进行篡改图像检测的步骤如图4所示。图像经过分解后，可以得到四个子带，但只 有其中的两个子带LL 1 和HH 1 可以用于进一步操作，并最后检测出复制粘贴图像篡改。在水平方向和垂直方向同时应用低通滤波后得到LL 1 子带，因此其代表图像的低频分量。同样的，在水平方向和垂直方向同时应用高通滤波后得到HH 1 子带，其包含图像的高频分量信息，如噪声和锐利边缘等。假设篡改图像块的像素值不小于 ，将LL 1 和HH 1 子带划分为大小为 的重叠块，并且每个重叠块的行和列均含有8个重叠像素值。 3.3.3. 匹配 LL 1 子带包含图像复制区域和粘贴区域的相似成分。经过篡改，篡改区域的噪声模式变得失真。为了隐藏篡改的痕迹，需要对图像进行各种其他操作，如边缘平滑或在篡改区域加噪等。在HH 1 子带中，篡改块具有很大的不同，图像块之间的相似性可以通过欧氏距离计算得到，如式(6)所示。 图2. DyWT变换的一级分解 图3. 二维图像的一级DyWT分解 图4. 应用DyWT变换进行篡改图像检测的步骤 (6) 式中， 表示块u和块v之间的欧式距离和灰度值， 和 表示块u和块v的像素值，N则表示所有块的总像素值。计算出来的图像块之间的欧式距离需要进行归一化处理，使其介于0和1之间。将LL 1 子带的距离值存储在List1中，然后将List1按照升序进行排列。为了减少错误匹配的出现，我们将距离值(Th1) > 0.7的块对舍弃掉。同样的，将LL 2 子带的距离值存储在List2中，然后将List2按照降序进行排列。由于List2反映的是块对之间的差异性，故我们将距离值(Th2) < 0.3的块对舍弃掉。最后，在List1和List2中的相似位置找到的匹配块对就是复制粘贴篡改块。如果块对(u，v)在List1中的位置坐标为n，同时它在List2中的位置坐标位于 和 之间，那么这个块对就被标记为篡改块对。List2主要用于降低虚警概率。I的值可以在1到15之间变化，并且当I=7时可以得到最优结果。 3.3.4. 算法缺陷 子带的大小仍然和原始图像一样。 3.4. 基于QCD变换的方法 Ghorbani、Firouzmand和Faraahi在 [ 8 ] 中提出了一种新的复制粘贴篡改检测方法。在这种方法中，先应用DWT变换减小输入图像的尺寸，然后应用DCT-QCD变换减小特征向量的长度。其中，DWT变换的作用对象是大小为 的灰度图。将图像分解为LL、HL、LH和HH四个子带，近似子带(LL)用作进一步的处理。经过DWT变换后，作进一步处理的图像大小变为 。其中，j是分解等级。 3.4.1. 预处理 如果输入图像是彩色图像，那么需要对每个颜色通道单独进行处理。 3.4.2. 特征提取 设定一个 大小的方块，将这个方块从图像的左上角到右下角依次滑动，从而将图像划分成多个重叠块。我们将每个方块对应的行向量存储在一个矩阵中，然后应用DCT变换对每个方块进行提取特征，应用QCD变换减小每个特征向量的长度。由于每个方块包含的行的个数等于 ，那么特征向量的长度将会减小到 ，矩阵的大小将会变成 。 3.4.3. 匹配 先运用字典排序法将矩阵的行进行排序，以获得彼此相邻的相似的特征向量，然后计算出相似的特征向量所对应的块对的位移向量。那么，每当位移向量的计数器值大于阈值时，这组块对就被标记为复制粘贴篡改块。 3.4.4. 算法缺陷 如果复制的图像区域在粘贴之前经过旋转、重压缩和缩放操作，这个方法将无法检测出篡改区域。