数字图像取证 - 基于像素的取证 2

Posted on Thu 04 February 2021 in Digital Image Forensics • 1 min read

前面介绍的均为一些跨图像的修改, 通过由于不同图像的不同的属性我们将图像修改/取证. 那么对于同一图像内的直接复制策略如何进行检测. 这里介绍基于SIFT特征与Ransac算法检测图像内复制粘贴. (这里有一个猜想, 一般图像复制粘贴的同时会对图像进行缩放裁剪, 结合上一节中重采样检测也许会有较好的效果提升)

SIFT特征

检测的关键就是使用SIFT特征, 首先简单的介绍什么是SIFT特征: SIFT( Distinctive Image Features from Scale-Invariant Keypoints)是一种检测局部特征算法, 该算法通过求一幅图中的特征点(interest points, or corner points)及其有关scale 和 orientation 的描述子得到特征并进行图像特征点匹配, 获得了良好效果, SIFT特征不只具有尺度不变性, 即使改变旋转角度, 图像亮度或拍摄视角, 仍然能够得到好的检测效果. 整个算法分为以下几个部分

  1. 尺度空间极值检测
  2. 关键点位置及尺度确定
  3. 关键点方向确定
  4. 特征向量生成

那么在利用SIFT提取出局部特征之后, 便可以利用一些算法来做特征点的匹配, 也就是说复制出的图像会有相同的特征点. 这里采用随机抽样一致算法(RANSAC)

Ransac算法检测图像复制

RANSAC算法(Random Sample Consensus: A Paradigm for Model Fitting with Apphcatlons to Image Analysis and Automated Cartography)的基本假设是样本中包含正确数据(inliers, 可以被模型描述的数据), 也包含异常数据(outliers, 偏离正常范围很远、无法适应数学模型的数据), 即数据集中含有噪声. 这些异常数据可能是由于错误的测量、错误的假设、错误的计算等产生的. 同时RANSAC也假设, 给定一组正确的数据, 存在可以计算出符合这些数据的模型参数的方法. 下面简述如何利用RANSAC算法检测直接复制图像类型的篡改. RANSAC是由3步组成: 1, 选择随即选3组以上的匹配的关键点, \(p_i,\enspace q_i,\enspace i \ge 3\) 2, 优化\(||p_i - (q_i + t)||^2\), 其中\(t\)是变换矩阵. 3, 所有剩余的关键点被分类为内点, 既根据\(||p_i - (q_i + t)||^2\)是否小于设定阈值. 这样RANSAC算法就能就能将一系列内点归为一类 如果图像被其他修改过, 那么就可以简单的拓展一下便可以再次利用, 也就是修改loss为\(||p_i - M(q_i + t)||^2\), 其中\(M\)是一个2*2的变换矩阵.

最终结果如下copy_result