1)相对于sparse-field
方法来说,dense-field
的准确率好多了。
2)之前的dense-field
方法虽然比sparse-field
的方法性能好,但是它在特征匹配阶段的处理时间太高,所以作者在特征匹配阶段以PatchMatch
方法代替,大大加快了处理速度,还可以保持一定的平移、旋转、尺度不变性。总之,与同类dense-field
算法相比,它准确率不差、更鲁棒、更快。
注:sparse-field
只有稀疏的关键像素点,而dense-field
对所有像素点都经历上面三个阶段。所以为加快匹配速度,提取的特征应该尽可能短。
1)RGB值。特征向量长,且受JPEG压缩、噪声、常见形变的影响。
2)DCT, Wavelet, PCA, SVD。虽然特征向量不长,但不具有尺度和旋转不变性。
3)圆谐变换:Zernick Moments(ZM), Polar Cosine Transforms(PCT),具有旋转不变性。 Fourier-Mellin Transform(FMT)的变体,具有尺度不变性。注:本文采用!
1)详尽搜索最近邻(exhaustive search for nearest neighbor),计算量太大,不可行。
2)搜索近似最近邻(approximate nearest neighbor ):
I={ I(s)∈RK,s∈Ω} (1)
I 是图像,定义在矩形网格 Ω 上。 s 是二维向量,表示像素点所在的下标; K 指的是图像的通道数(如灰度图 K=1 ), f(s) 是定义在中心为 s 的 P 像素矩形邻域的特征向量(如把块中 P 个像素组成一个特征向量),不过通常 f(s) 精简多了。
定义 D(f(s1),f(s2)) 为合适的特征间的距离度量。
定义偏移域 { δ(s),s∈Ω} ,且满足
δ(s)=argminϕ:s+ϕ∈Ω,ϕ≠0D(f(s),f(s+ϕ)) (2)
当然最近邻 s′=s+δ(s) 。
这个式子的含义是,找到一个偏移量 ϕ 使 s 和 s+ϕ 像素(本点像素除外)的特征间的距离度量最小,这个偏移量 ϕ 便是 s 像素的偏移。对每个像素点进行此运算。
初始化偏移域:
δ(s)=U(s)−s (3)
其中, U(s) 是二维随机变量,从图像均匀采样得到。当 ||δ(s)||∞<TD1 时,exclude
这些偏移量(exclude指的是重新采样,还是把 δ(s) 设为一个常数如零?)。
这个式子的含义是,生成一个偏移量图(偏移量是2维的,怎么用图表示?)。
随机的初始化的原理是,虽然一个像素点产生好偏移量的可能性很小,但整张图像的所有像素点都产生不好偏移量的可能也很小,所以总会有少量偏移量好的像素点,而这正是我们需要的。
传播:先从上至下、从左至右扫描每个像素点 s ,当前像素点 s 的偏移量更新为:
δ(s)=argminϕ∈ΔP(s)D(f(s),f(s+ϕ)) (4)
其中, ΔP(s)={ δ(s),δ(sr),δ(sc)} , sr 和 sc 分别是像素点 s 左边和上边的像素点; 当反向扫描时,也要反过来。
这个式子的含义是,找到一个偏移量 ϕ 使 s 和 s+ϕ 像素的特征间的距离度量最小(偏移量 ϕ 被限制在本身像素点的偏移量、上方和左边像素的偏移量); 其作用是若一个像素点的偏移量好( D(f(s),f(s+ϕ)) 较小),其相邻像素点偏移量应该跟它接近,这就实现了好偏移量的传播。
必要性:传播过程是贪婪,因此是次优的,取决于随机初始化的质量。
基于当前偏移域,每个像素点的候选偏移量为:
δi(s)=δ(s)+Ri,i=1,...,L (5)
其中, Ri 是二维随机变量,均匀采样于半径(radius没边长的意思啊…)为 2i−1 的正方形,不包括原点。
随机搜索的更新为:
δ(s)=argminϕ∈ΔR(s)D(f(s),f(s+ϕ)) (6)
其中, ΔR(s)={ δ(s),δ1(s),...,δL(s)} 。此式含义与(2)(4)式类似。
特征提取、偏移域初始化、随机搜索阶段没变,而只改进了传播阶段:
在改进之前,当前像素的偏移量 δ(s) 只与零阶的 δ(sc) 和 δ(sr) 比较,分别记为 δˆ0r(s) 和 δˆ0c(s) , 描述固定的偏移量,对应刚性平移。
改进之后,当前像素的偏移量 δ(s) 要考虑到上图各个位置的偏移量,描述不同的线性偏移域,对应旋转、尺度变化、旋转与尺度变化。记
δˆ0x(s)=δ(sx)
δˆ1x(x)=2δ(sx)−δ(sxx)
x∈{ r,d,c,a} (7)
扫描方式也从自上至少、自从至右,增加了自左上至右下、自右上至左下。
扩大的预测偏移域集为:
ΔP(s)={ δ(s),δˆ0r(s),δˆ0c(s),δˆ0d(s),δˆ0a(s),δˆ1r(s),δˆ1d(s),δˆ1c(s),δˆ1a(s)} (8)
这样修改之后,只要邻域像素有一个正确的偏移域,就会很快(只要2次迭代)传播到其它区域。注:两次迭代的大方向分别是从上至下、从下至上,每次迭代又有4个小方向 r,c,d,a 。
特征匹配阶段产生的偏移域还很混乱,因为噪声、压缩、几何形变、光照变化、相似区域等等。
1)调整偏移域,提高真“复制-移动”(copy-move)的检测率。
2)添加一些合适的约束,降低假“复制-移动”的检测率。
1)以半径为 ρM 的圆形窗口,进行中值滤波。第2步中要计算的最小均方误差对野点(outlier)很敏感,所以要先进行中值滤波,去除野点。
2)在半径为 ρN 的圆形邻域中,计算最小均方线性模型的拟合误差 ϵ2(s) 。
3)给 ϵ2(s) 设置阈值 T2ϵ 。用于分割图像以挑选出候选的“复制-移动”区域,阈值的设置可采用不同策略。
4)删除距离小于 TD2 个像素的区域对。因为相似的背景区域(非“复制-移动”区域)通常比较相互接近。
5)删除面积小于 TS 个像素的区域。因为相似的细节(非“复制-移动”区域)通常较小。
6)映射(mirroring)检测到的区域。当判断像素 s 是“复制-移动”区域时,我们也像素 s+δ(s) 标记为“复制-移动”区域,之所以这样做是因为图像描述同一物体的多个重复区域时,仍会导致出现虚警(false alarm),尤其是使用尺度和旋转不变性的特征时。
7)以半径为 ρD=ρM+ρN 的圆形结构,进行几何形态学的膨胀操作。中值滤波和模型拟合都会腐蚀”复制-移动“区域,所以要通过膨胀操作来还原。
略
两个要素:
作者的参数设置如下表所示:
下图分别为长形采样点、极坐标采样点、对数极坐标采样点。