不同的代价函数
我们现在来介绍为确定HHH的超定解而需最小化的若干代价函数。
1.代数距离
DLT 算法最小化范数∥Ah∥\left \| A\mathbf{h}\right \|∥Ah∥。矢量ε=Ah\varepsilon =A\mathbf{h}ε=Ah称为残差矢量,并且要最小化的正是该误差矢量的范数。矢量εiε_iεi 被称为关联于点对应xi↔xi′x_i\leftrightarrow x'_ixi↔xi′和单应HHH的代数误差矢量。该矢量的范数是一个标量,称为代数距离:
dalg(xi′,Hxi)2=∥εi∥=∥[0T−wi′xTyi′xTwi′xT0T−xi′xT]h∥2d_{alg}(x'_i,Hx_i)^2=\left \| \varepsilon _i \right \|=\left \| \begin{bmatrix}
\mathbf{0^T} &-w'_i\mathbf{x^T} &y'_i\mathbf{x^T} \\
w'_i\mathbf{x^T}&\mathbf{0^T} &- x'_i\mathbf{x^T}
\end{bmatrix}\mathbf{h} \right \|^2dalg(xi′,Hxi)2=∥εi∥=∥∥∥∥[0Twi′xT−wi′xT0Tyi′xT−xi′xT]h∥∥∥∥2
对于任何两个矢量x1x_1x1和 x2x_2x2:
dalg(x1,x2)2=a12+a22其中a=(a1,a2,a3)T=x1×x2d_{alg}(x_1,x_2)^2=a_{1}^{2}+a_{2}^{2} 其中\mathbf{a}=(a_1,a_2,a_3)^T=x_1\times x_2dalg(x1,x2)2=a12+a22其中a=(a1,a2,a3)T=x1×x2
给定对应的集合,最ε=Ahε = Ahε=Ah是整个集合的代数误差矢量:
∑idalg(xi′,Hxi)2=∑i∥εi∥2=∥Ah∥=∥ε∥2\sum_{i}d_{alg}(x'_i,Hx_i)^2=\sum_{i}\left \| \varepsilon _i \right \|^2=\left \| A\mathbf{h} \right \|=\left \| \varepsilon \right \|^2i∑dalg(xi′,Hxi)2=i∑∥εi∥2=∥Ah∥=∥ε∥2
其缺点是被最小化的量没有几何或统计上的意义。
2.几何距离
记号 矢量xxx表示测量的图像坐标;x^\hat{x}x^表示该点的估计值而xˉ\bar{x}xˉ表示该点的真值。
单图像误差 我们首先考虑第一幅图像的测量非常精确而误差仅出现在第二幅图像的情行。适宜最小化的量是转移误差。它是第二幅图像上测量点x′x'x′与点HxˉH\bar{x}Hxˉ用之间的欧氏距离。用标记d(x,y)d( x , y)d(x,y)表示非齐次点xxx和yyy之间的欧氏距离。那么对应集合的转移误差是:
∑id(xi′,Hxiˉ)2\sum_{i}d(x'_i,H\bar{x_i})^2i∑d(xi′,Hxiˉ)2
对称转移误差 更切合实际的情形是图像测量误差在两幅图像中都发生,从而应该最小化两幅而不仅是一幅图像的误差:
∑id(xi,H−1xi′)2+d(xi′,Hxi)2\sum_{i}d(x_i,H^{-1}x'_i)^2+d(x'_i,Hx_i)^2i∑d(xi,H−1xi′)2+d(xi′,Hxi)2
3.重投影误差一一两幅图像
对每幅图像误差作量化的另一种方法是估计每组对应的"校正值"。为了得到完全的匹配点集有必要在一幅图像(第二幅图像)上对测量进行校正。
单应H^\hat{H}H^和完全匹配的点对xi^\hat{x_i}xi^和xi′^\hat{x'_i}xi′^以最小化总的误差函数。
∑id(xi,xi^)2+d(xi′,xi′^)2\sum _id(x_i,\hat{x_i})^2+d(x'_i,\hat{x'_i})^2∑id(xi,xi^)2+d(xi′,xi′^)2 s.ts.ts.t xi′^=H^xi^\hat{x'_i}=\hat{H}\hat{x_i}xi′^=H^xi^ ∀i\forall i∀i
先由xi↔xi′x_i\leftrightarrow x'_ixi↔xi′估计世界平面的点Xi^\hat{X_i}Xi^,然后把它重投影到估计上认为是完全匹配的对应xi^↔xi′^\hat{x_i}\leftrightarrow \hat{x'_i}xi^↔xi′^。
4.几何和代数距离的比较
令xi′=(xi′,yi′,wi′)T\mathbf{x'_i}=(x'_i,y'_i,w'_i)^Txi′=(xi′,yi′,wi′)T并定义矢量(x^i′,y^i′,w^i′)T=x^i′=Hxˉ(\hat{x}'_i,\hat{y}'_i,\hat{w}'_i)^T=\mathbf{\hat{x}'_i}=H\mathbf{\bar{x}}(x^i′,y^i′,w^i′)T=x^i′=Hxˉ。则:
d(xi′,x^i′)=dalg(xi′,x^i′)/w^i′wi′d(\mathbf{x'_i,\hat{x}'_i})=d_{alg}(\mathbf{x'_i,\hat{x}'_i})/\hat{w}'_iw'_id(xi′,x^i′)=dalg(xi′,x^i′)/w^i′wi′
几何距离与代数距离相关, 但不相等。只有当w^i′=wi′=1\hat{w}'_i=w'_i=1w^i′=wi′=1两个距离相等。因此在仿射变换下,几何距离和代数距离相等。对于仿射变换,最小化几何距离可以用基于代数距离的线性DLT 算法。
5.重投影误差的几何解释
两平面之间的单应估计可以视为用4D4D4D空间IR4IR^4IR4中的"曲面"来拟合点。每对图像点x、x′x、x'x、x′定义测量空间IR4IR^4IR4的一个点,记作X\mathbf{X}X。对一个给定的单应HHH,满足x′×Hx=0x'\times Hx=0x′×Hx=0的图像对应 x↔x′x\leftrightarrow x'x↔x′定义了IR4IR^4IR4中的一个代数簇υH\upsilon_HυH,它是两个超二次曲面的交集。
d(xi,xi^)2+d(xi′,xi′^)2=d⊥(Xi,υH)2d(x_i,\hat{x_i})^2+d(x'_i,\hat{x'_i})^2 =d_{\perp }(\mathbf{X_i},\upsilon _H)^2d(xi,xi^)2+d(xi′,xi′^)2=d⊥(Xi,υH)2
其中d⊥(Xi,υH)2d_{\perp }(\mathbf{X_i},\upsilon _H)^2d⊥(Xi,υH)2是点 XXX到簇υH\upsilon _HυH的垂直距离。
6.Sampson 误差
Sampson 误差其复杂性介于代数和几何代价函数之间,但非常近似于几何误差。对给定的单应HHH,在υH\upsilon _HυH上的任何点X=(x,y,x′,y′)T\mathbf{X}=(x,y,x',y')^TX=(x,y,x′,y′)T,代价函数用CH(X)=0C_H(X)=0CH(X)=0表示。用下列 Taylor 展开式来一阶逼近:
CH(X+δx)=CH(X)+∂CH∂XδxC_H(X+\delta _x)=C_H(X)+\frac{\partial C_H}{\partial X}\delta _xCH(X+δx)=CH(X)+∂X∂CHδx
记δx=X^−X\delta _x=\hat{X}-Xδx=X^−X希望X^\hat{X}X^在υH\upsilon _HυH上,即CH(X^)=0C_H(\hat{X})=0CH(X^)=0,因此CH(X)+∂CH∂Xδx=0C_H(X)+\frac{\partial C_H}{\partial X}\delta _x=0CH(X)+∂X∂CHδx=0。记成Jδx=−εJ\delta _x=-\varepsilonJδx=−ε,其中JJJ是偏导数矩阵.,ε\varepsilonε与XXX相关的代价函数CH(X)C_H(X)CH(X),最小化问题是求满足此方程的最小δx\delta _xδx。即:
求在满足Jδx=−εJ\delta _x=-\varepsilonJδx=−ε条件下使∥δx∥\left \| \delta _x \right \|∥δx∥取最小值的矢量δx\delta _xδx。
使用 Lagrange 乘子方法,求得范数∥δx∥2\left \| \delta _x \right \|^2∥δx∥2是Sampson 误差 :
∥δx∥2=δxTδx=εT(JJT)−1ε\left \| \delta _x \right \|^2=\delta _x ^T\delta _x =\varepsilon ^T(JJ^T)^{-1}\varepsilon∥δx∥2=δxTδx=εT(JJT)−1ε

本文探讨了单应估计中的不同代价函数,包括代数距离、几何距离、重投影误差及Sampson误差等,详细解析了它们的概念、计算方式及其几何意义。
1940

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



