还是以两幅图像进行单应矩阵求解为例,上面讲到使用DLT算法一对对应点之间可以构成一个方程组Ah=0,其中A为一个2×9的矩阵。由此只需要4个点就可以求解出H矩阵。但是在实际的应用中,还有一些问题需要解决。
超定方程
实际情况下,我们得到的两幅图像的对应点往往多于4个点,从而可以得到矩阵A2n×9,而由于噪声的存在,矩阵的行向量之间并不是线性相关的。也就是说没有一组解h满足方程组。此时把Ah=0称为超定方程。
在此情况下,我们无法得到一个精确的解,只能得到一个近似解。为使得这个近似解尽量准确,我们需要建立一个评判标准,称为损失函数l。通过最小化损失函数,我们就可以解出一个近似解。
代数误差
很自然的一个想法是去最小化
这个问题的求解可以通过求解ATA的最小特征值对应的特征向量得到,也可以通过进行SVD分解A=UΣVT找到最小奇异值对应的V中的奇异向量得到。具体证明在此不多说。
至此我们在有噪声情况下得到了多于4点匹配情况的解。使用这种损失函数称为代数距离。向量ϵ=Ah称为残差向量。
假设一对对应点xi,x′i,它们通过A贡献点残差向量为ϵi,称为代数误差向量。它的范数称为代数距离,即
更一般的,对任意两个向量x1,x2我们可以写作
dalg(x1,x2)2=a21+a22, 其中a=(a1,a2,a3)T=x1×x2
给定一系列的对应点,ϵ=Ah是代数误差向量,可以看到
代数距离的优点是形式简单,易于计算,可以看到最小化代数误差基本可以看成DLT算法的一个延伸。它的缺点是没有几何学和统计学的意义,某些情况下不能得到最好的效果。因此它可以用作初值求解。
几何误差
对图像中观测到的一点我们记为x,它的实际坐标我们记为x¯,通过各种方法估计到的该点的位置我们记为xˆ。
单幅图像中有噪声时的误差
假设原图像测量很精确,即x=x¯,则此时的几何误差就是转换后图像中的对应点x′的测量值与它的理论值Hx的欧氏距离。将两点x,y之间的欧氏距离记作d(x,y)。则所有匹配点对点误差为
对称转移误差
由于两幅图像中的测量点x,x′都有误差,假设变换为H,它的逆变换为H−1。则此时的几何误差就是
第一项为第一幅图中的转移误差,第二项为第二幅图中的转移误差。显然估计出的单应矩阵Hˆ为使得误差最小时H的值
重投影误差
上面可以看到,无论是将x投影到x’还是将x’投影回x得到的投影点均不与观测值重合。由此我们希望通过寻找一对点
为找到这几个量我们需要最小化的误差函数为
重投影误差的几何诠释
点对xi,x′的非齐次坐标可以构成IR4中的一点(xi,yi,x′i,y′i)。对一个给定的H,对应的两点满足x×(Hx′)=0,从而定义了一个IR4上的代数簇H。(代数簇就是若干多元多项式方程定义的公共零点集。)
H是两个二次超曲面的求交。(因为x′×(Hx)=0的每一行都是关于坐标x,x′,y,y′的二次多项式,H定义了多项式的系数,故每一行代表了一个二次超平面;又因为有一行可以被其他两行线性表出,故只有两个)。
给定一个IR4上的点Xi=(xi,yi,x′i,y′i)T。估计一个单应矩阵就是找到一个通过点的H。H与H对应。令Xˆi=(xˆi,yˆi,xˆ′i,yˆ′i)T为H上离Xi最近点一个点,有
这恰好就是重投影误差的公式。找到H和其上的Xˆi等价于找到估计的单应矩阵和估计的匹配点对。
进一步的,H上距离X最近点就是使得直线
总结一下,重投影误差即在IR4估计一个代数簇H使得它与所有的点的距离最小。
Sampson误差
接着上一节,投影误差虽然精确,但是很复杂。我们需要同时估计单应矩阵和对应点,换言之我们需要同时估计IR4上的H和Xi,由于前者的非线性,后者的计算估计往往需要需要通过迭代来进行估计,当测量点Xi很多时这项任务将变得很困难。因此我们想到假设损失函数在所估计的点附近是线性的,从而近似的估计Xi。近似后的误差称为Sampson误差。
H上的点满足Ah=0记H(X)=0。做泰勒展开有
假设δx=Xˆ−X,Xˆ在H上等价于H(X)+∂H∂Xδx=0。令ϵ=H(X)(这也是上一节对代数误差的定义)。有Jδx=−ϵ。J为H(X)的Jacobian矩阵。此时我们需要解决的问题就是找到满足该方程的最小的δx,用规范的语言表述如下
找到向量δx使得||δx||取最小值,其中Jδx=−ϵ
对该问题我们使用拉格朗日乘子法进行求解,需要找到δTxδx−2λ(Jδx+ϵ)的最小值。对δx,λ分别求偏导解出
此时我们已经消除了X̂ 的影响。重投影误差可以表示为:
不管是J还是ϵ都只与H中的元素相关,而与X̂ 无关,重投影误差的优化可以很容易的转化成一个只与H中元素有关的最小二乘问题。通过迭代进行优化。
极大似然估计
极大似然估计在只有一张图像有噪声时等价于转移误差,在两张图像都有噪声时等价于重投影误差。给出了以上两种误差的概率学的诠释。具体推导过程不多赘述。
本文详细探讨了在存在噪声的情况下,如何利用不同类型的误差来求解两幅图像间的单应矩阵,包括代数误差、几何误差、Sampson误差及重投影误差,并介绍了这些误差的数学表达及优化方法。
4098

被折叠的 条评论
为什么被折叠?



