数字图像取证 - 基于像素的取证 1
Posted on Tue 03 November 2020 in Digital Image Forensics • 1 min read
重采样
多数的图像篡改都需要如下步骤:裁剪缩放, 旋转以及拉伸. 上述的操作都需要对图像重采样才可以. 经过这种重采样是基本不可见的,但是这里介绍一种特殊的相关性计算算法. 假设具有\(m\)个采样点的1-D离散采样信号\(f(x, y)\), 如图(a). 对其进行重采样时, 无论基于系数\(\frac{p}{q}\)将其重采样至n个样本时都需要经过以下三个步骤:
- 上采样: 新建一个有\(pm\)个采样的信号\(f_u(x)\), 其中\(f_u(px) = f(x), x = 1, 2, ..., m, 反之 $f_u(x) = 0\). 如图(b)
- 插值: 一个低通过滤卷积信号\(f_i(x) = f_i(x) = f_u(x) * h(x)\). 如图(c)
- 下采样: 新建一个有\(n\)个采样的信号\(f_d(x)\), 其中\(f_d(x) = f_i(qx), t = 1, 2, ..., n\). 为后续书写简单, 令\(g(x)\equiv f_d(x)\)
插值矩阵
如果在第二步中(插值算法)使用的是线性的插值算法,那么重采样过程可以被抽象为\(g = A_{{p}/{q}}f\),其中\(A\)就是插值矩阵,如果使用4/3的权重进行上采样插值那么A就表示为
同理对于权重为2的上采样插值算法, 其矩阵组成形式如下
对于重采样后的信号其值是相邻点的平均值\(g_{2i} = 0.5f_i + 0.5f_{i+1}\), 其中 \(i = 1, ..., m-1\), \(f\)是原始信号, \(g\)是重采样信号. 因为\(f_i = g_{2i - 1}, f_{i + 1} = g_{2i +1}\), 故\(g_{2i} = 0.5g_{2i - 1} + 0.5g_{2i + 1}\).
求解插值矩阵
假设其权重为\(p/q\), 插值算法则定义为
其中\(\alpha_k\)为标量权重(\(\alpha_0 = 0\)). 上式又等价于
其中\(a_i\)是重采样矩阵\(A_{p/q}\)的第\(i^{th}\)行, \(f\)是原始信号 因为重采样信号的第\(i\)个样本与其邻域线性相关. 那么CFA校验类似, 同样的可以使用EM算法对插值矩阵进行预测性. 在E-step 利用
求解似然函数
在M-step最小化
最后令梯度为0, 得到
如果 \(N = 2, g = (g_3, g_4, g_5, ...)^T\), \(W\)为权重矩阵的对角矩阵, 矩阵G为