考虑图像A、图像B,两者包含了某个同样的物体M,只是存在着一定的旋转、伸缩甚至非线性的等扭曲差异。现在已有M分别在A中的特征点集合D,在B中的特征点集合S,S与D中的特征点是一一对应的,那么,如何根据D和S中对应点的位置关系,来将M从B配准到A上,使来自A和来自B的M彼此基本吻合呢?
多项式函数
一个最直观的解决方案是,我们先给定一个多项式函数的框架,来从M在B上的坐标得到其在A上的坐标,如下面的一次多项式:
上面的一次多项式配准一共有6个未知参数,我们通过特征点集合D和S中的对应关系来优化这6个参数,使得集合中预测和结果差异,也就是最小,那么就得到了一个多项式的配准函数。由于和是关于的线性函数,因此可以通过线性最小二乘优化来完成,例如QR分解法。一次多项式可以拟合任意的线性变换;但是注意,由于只存在6个未知参数,当特征点集合大于3(对应6个线性方程)而变换本身又非线性时,优化上述问题就变成了求解一个超定线性方程组,使得匹配的准确度在训练集上就已经难以保证。
为了解决这个问题,我们也可以使用更高次的多项式来实现更复杂的配准,如下面的二次多项式:
上面的二次多项式配准一共有12个未知参数,形式上相当于一次多项式的超集,因此拟合能力更强。由于和是未知参数的线性函数,因此依然可以通过线性最小二乘法求解。
在更丧病的情况下,我们还可引入三次多项式、四次多项式等等。但是,一昧地增加多项式次数也是不可取的,因为很容易产生过拟合的问题。
径向基函数(RBF)
使用径向基函数进行图像配准,相当于在使用多项式函数配准的基础上,又额外增加了一组径向基的约束。所谓的径向基,简单来说就是点到各个特征点的的距离信息。径向基函数的学习过程相当于求解下面的线性方程组中的:
其中:
- 表示B中的特征点集合S里,第和第个特征点的欧式距离;
- 和分别表示B中的特征点集合S里,第个特征点的坐标;
- 和表示A中的特征点集合D里,第个特征点的坐标。
在求解出F后,对于B中任意一点,以及B中所有特征点,我们可以构造下面的向量:
然后计算来得到其配准后在A中的坐标。
可以发现,与多项式函数不同的是,径向基函数不论特征点集合里有多少约束,都能对应一个满秩的线性方程组,既非不定,也非超定。因此,它至少能保证在训练集上能够非常完美地拟合(实践表明其在训练集以外地配准上表现也非常优秀)。
细节调整
前面提到的径向基函数已经基本能用于实际使用,但要使其表现得得更加鲁棒还需要一些细节调整。
譬如,我们可以将线性方程组的右部的和,全部减去A中特征点的重心点;对应地,使用(替代原来的)来计算配准点坐标。等等。