摘要
本文分析了四种能以亚精确度重新排列图像的算法,分别是相关插值(correlation interpolation)、强度插值(intensity interpolation)、微分方法(differential method)和相位相关(phase correlation)。详细介绍了亚像素配准问题。影响配准的主要因素是插值函数,采样频率,每个像素的位数,图像的灰度范围(?)(frequency content)。还介绍了强度插值的迭代版本,比直接强度插值快一万倍以上。使用双线性插值,实现0.01到0.05像素的配准精度。
一、引言
许多图像处理的应用需要配准,许多配准的误差已经可能到达了±1个像素值,但是在遥感领域的一些应用中,一个像素值的误差在真实的物理世界中可能误差会达到40m,这很大程度上影响了这些应用的准确性。如果精确度能到亚像素级,准确率就能大大提升。本文主要介绍提出的一种有效的强度插值的迭代算法。
第 2 节回顾了亚像素配准的四种算法。
第 3 节包含对于强度插值的重采样的数学分析。结果表明,这种重采样可以通过将给定的离散参考图像与以更高频率采样的插值函数进行卷积来执行; 然后可以通过将采样插值函数的频率响应与理想低通滤波器的频率响应进行比较来评估产生的误差。
第 4 节描述迭代强度插值算法, 该算法将直接强度插值法加速了一万多次。
第 5 节分析影响强度插值算法精度的三个主要因素:采样频率、每个像素的位数和插值函数。 然后,比较了所有亚像素配准算法。 最后,给出了计算机模拟和实验结果。
二、亚像素配准
2.1 信号配准
信号配准是一维的,但可以很容易扩展到二维。这里以一维信号配准为例说明问题。
在配准过程中,通常使用gm(n)而不是整个信号g(n),因为真实信号中经常存在强度失真和几何失真。使用g(n)的片段可以减少这些失真的影响,同时减少计算量。
像素级配准的过程如下:
2.2 相关插值
原理:计算两幅图像之间的离散相关函数,在该函数的样本上拟合一个差值曲面,然后精确搜索该曲面的最大值。当图片样本有较高的频率,则相关离散函数就足够平滑,可以用一个二次插值函数精确表示。二次评估量可以表示为:
2.3 强度插值
原理:使用插值为参考图像创建更密集的网格。如给定 M × M M×M M×M的目标图像和 N × N N×N N×N的参考图像,如果需要0.1像素的配准精度,则对应创建 ( 10 × N ) × ( 10 × N ) (10×N)×(10×N) (10×N)×(10×N)的尺寸,那么一次搜索会覆盖所有 ( 10 N − M + 1 ) 2 (10N-M+1)^2 (10N−M+1)2
2.4 微分法
原理:将连续两幅图图像之间的差异与第一幅图像的空间强度梯度向关联。假定两个图像
f
1
(
x
,
y
)
f_1(x,y)
f1(x,y)、
f
2
(
x
,
y
)
f_2(x,y)
f2(x,y),两个方向上的平移量为
D
x
D_x
Dx和
D
y
D_y
Dy,则有:
两幅图像之间的差异表示为:
转化为矩阵的形式:
其中 [I] 为帧差列矩阵,[G]为梯度矩阵,[D]为平移列向量。 因为[G]一般不是方的,所以使用伪逆技术来求解这个方程。 假设 [G] [D] 是非奇异的,则平移向量 [D] 为:
结论:微分方法已被用于估计运动,进而用于运动补偿时间滤波以恢复和增强图像序列。该算法比插值算法更快,并且可以在图像包含多个 物体以不同的方向和速度运动,适用条件是当物体的位移相对于它们的尺寸较小。
2.5 相位相关
条件:对场景内容、光照差异和窄带噪声相对不敏感的情况。
原理:基于一个理论——两幅图像之间相对位移大部分包含在他们的交叉功率谱的相位中。假定
F
1
F_1
F1和
F
2
F_2
F2分别是图像
f
1
f_1
f1和
f
2
f_2
f2的二维离散傅里叶变换,则
f
1
f_1
f1和
f
2
f_2
f2的相关性可以表示为:
F
1
F
2
∗
F_1F_2^*
F1F2∗ 被规范化以移除对图像内容的依赖,同时保留对图像移位的依赖。 相位矩阵
Θ
\Theta
Θ和相位相关矩阵
D
D
D分别为:
为了以最少的计算次数找到
D
D
D ,首先在低分辨率下计算傅里叶逆变换。在找到
D
D
D的低分辨率版本的峰值后,以峰值为中心的
D
D
D的
9
×
9
9×9
9×9点段在全分辨率下使用逆傅里叶变换。 找到该段的峰值,并使用该点与其周围四个点的二次插值来获得具有亚像素精度的最终峰值位置。 该算法提供的结果精度为 0.08 像素 [7]。 该方法的优点是可以在图像严重失真时使用。
三、插值和重采样
强度插值算法需要计算更密集的参考网络,这个过程成为重采样,涉及到两个过程:从给定离散图像恢复原始连续图像、用以前更高的速率重新采样连续图像。
数学推导过程略
证明了重采样可以根据给定的离散参考图像与更高频率采样的函数进行卷积来执行。
图2展示了三个插值函数中,cubic B-spline具有最好的通带相应,最邻近差值导致了最大0.5像素误差效果最差,这对于亚像素精度来说是不可接受的。实验表明,线性插值可提供0.005像素的精度。但是使用双线性插值(bilinear interpolation)对图像的实验中,系统噪声会使精度降低到0.05像素,且计算时间长。结论:简单的插值算法计算量小,精度不够;复杂的插值算法则相反。
四、迭代强度插值
更密集的参考图像是通过重采样过程创建的,使得搜索过程非常耗时。如实现512×512图像的0.05像素精度,需要搜索1024×1024,于是可以通过迭代的方式减少搜索。思路: 每次迭代过程,只有一小部分参考图像以高分辨率创建,然后搜索该分辨率级别最佳匹配位置;下一次迭代,位于最佳匹配位置周围的较小部分以更高分辨率再次搜索最佳匹配,直到达到指定精度。
详细过程及数学推导过程略
五、精确度分析及对比
实验结论:理论上,如果采样频率足够高,使用sinc插值函数来恢复信号,用足够多的bit表示信号,则强度插值算法将产生完美配准结果。
误差来源:实践上会因为违背这三个假设对精度产生影响。低于奈奎斯特频率(Nyquist frequency)的采样频率会导致混叠误差,采样信号的预平滑有助于提高精度;像素的有限位增加了配准误差,如果要实现优于0.01像素的配准误差,需要超过8位来表示样本;该文章实验所用设备的影响。
实验对比:该算法计算成本最低,但仅限于小位移情况。一般来说,其精度低于强度插值,但高于相关插值。
六、结论
- 配准精度从高到低依次为:强度插值、微分法、相关插值、相位相关法。但是强度插值是最耗时的。
- 所提出的迭代强度插值算法能够减少计算时间,且能够有效找到最佳配准位置。
- 重采样过程可以通过将原始离散参考图像与以更高频率采样的插值函数进行卷积来执行。 最好的插值函数应可能接近理想低通滤波器的频率响应。
- 参考图像像素由8位表示,强度插值算法可以达到0.01到0.05像素的精度。 误差主要是由系统噪声引起的。 通过降低成像系统中的噪声、增加每个像素的位数或预平滑图像以去除一些高频细节,可以进一步提高配准精度。