分享

多视角几何3-2D射影变换估计-变换协方差/归一化

 SLAM之路 2022-04-24

本节开始讨论4.1中DLT算法的性质及性能,以及如何与最小化几何误差的算法比较。第一个话题是,算法对图像不同坐标系的不变性。显然,我们希望算法结果不依赖于坐标系的选择,如图像中坐标系的原点、尺度、方向等。

4.4.1 图像坐标变换的不变性

图像坐标原点有时在图像左上角,有时在图像中心。那么,坐标系原点的变换是否会对变换的计算产生影响。类似地,如果坐标的单位乘以某个系数,算法结果是否会变化?一般来说,用于最小化损失函数以估计单应的算法对图像坐标选择依赖有多大程度?假设算法运行前,图像坐标因相似变换、仿射变换或其他射影变换发生变化,这是否会改变算法结果。
更规范地说,假设一副图像的坐标x替换为=Tx,另一幅图像中坐标x'被替换为'=T'x',其中T和T'是3×3单应。代入方程x'=Hx,我们得到方程
'=T'HT-1,这种关系代表:=T'HT-1是对应点<->'的变换矩阵。因此,求xi映射到x'i的变换的另一种方法是,
i.根据变换i=Txi'i=T'x'i,变换图像坐标。
ii.根据对应关系i<->'i,寻找变换
iii.令H=T'-1HT。
根据此法求得变换矩阵H,可应用于未变换的原始对应点xi<->x'i。如何选择T和T'暂不做说明。目前问题是,这种算法结果是否与所用的变换T和T'无关。理想情况,至少T和T'是相似变换,因为图像中不同尺度、不同方向、原点的选择不应影响算法结果。
接下来的内容将证明:最小化几何误差的算法是相似变换的不变量。另一方面,对4.1-DLT算法,其结果关于相似变换不是不变量。解决方法是:在应用DLT算法前,对数据进行归一化变换。这种归一化变换将消除图像中任意选择坐标系原点和尺度的影响,这表明联合算法是图像相似变换的不变量。合理的归一化变换会在后文讨论。
4.4.2 DLT算法的非不变性

现有点集xi<->x'i,和以此点集通过DLT算法求得矩阵H,另有相关点集i<->'i,其中i=Txi'i=T'x'i=T'HT-1。根据4.4.1节,问题是,

  • 对点集i<->'i应用DLT算法能求得变换矩阵吗?

我们使用如下记法:矩阵Ai是根据对应点关系xi<->x'i得到的DLT方程矩阵,A是由Ai组成的2n×9矩阵。类似地,矩阵i是根据对应点关系i<->'i得到的DLT方程矩阵,射影变换T和T',i=Txi'i=T'x'i

结论4.3.令T'是具有尺度系数s的相似变换,令T是任意射影变换。假设H是任意2D单应并定义=T'HT-1。那么||||=s||Ah||,其中h和分别为H和的元素组成的向量。
证明.定义向量εi=x'i×Hxi。注:Aih是由εi前两项组成的向量。i根据类似定义,i='i×i。计算,

其中T'*代表矩阵T'的共轭矩阵。对于一般变换矩阵T,误差向量Aih和i(εii前两项)并非简单的关联。但当特殊情况T'是相似变换时,

R是旋转矩阵,t是平移向量,s是尺度系数。在这种情况下,我们可以证明,

εi的前两项应用T'*,我们可以得到

因为,旋转并不影响向量范数,即||||=s||Ah||。该结果可采用代数误差的形式表达,

因此,H和间存在一对一对应关系,排除常数缩放系数后产生相同的误差。所以从表面上看,最小化代数误差的矩阵H和通过公式=T'HT-1产生联系,我们可以根据T'-1T恢复H,但这样的结论是错误的。尽管H和产生相同的误差ε,对解决方案施加的约束条件||H||=1,并不等同于条件||||=1。具体说,||H||||||并非简单的关联。因此H和产生相同误差ε,并满足||H||=|||=1,这样的一一对应关系并不存在。具体说是,

因此,变换方法对求解变换阵产生不同结果。DLT算法这样的表现,结果随坐标变换或者坐标原点的变动而变化,并不是期望的特性。但是,如果使范数||Ah||最小化的约束在变换下不变,那么计算的矩阵H和可以以正确的方式关联。

4.4.3 几何误差不变性

现在证明:为得到H而最小化的几何误差关于相似变换是不变的。如前文,现有点集x<->x',和变换矩阵H。并定义相关点集<->',其中=Tx'=T'x'=T'HT-1。假设T和T'表示P²空间欧式变换,我们可以证明,

最后一个等式成立:是因为欧式距离在欧式变换下不会改变。这证明,如果H最小化对应关系集合的几何误差,那么最小化变换后对应关系集合的几何误差,所以最小化几何误差在欧式变换下不变。

对于相似变换,几何误差乘以变换的缩放因子,也就是说最小化变换的对应方式与欧式变换相同。所以最小化几何误差是相似变换的不变量.

4.4.4 归一化变换

如4.4.2中所述,计算2D单应的DLT算法结果依赖于坐标点所采用的的坐标系。事实上,结果关于图像的相似变换不是不变量。这产生一个问题,在计算2D单应时,某些坐标系是否比其他的更好,答案是肯定的。在这一部分,我们将介绍数据归一化的方法,它是由图像坐标的平移和缩放组成。运行DLT算法前,执行这种归一化方法。之后,对结果的合理校正就能得到关于原坐标系的H。

除了提升结果准确性,数据归一化也具有其他优势,包含初始数据归一化的算法关于任意缩放系数和坐标系是不变的。这是因为,通过选择测量数据的有效标准坐标系,归一化处理取消坐标变换的影响。因此,代数最小化在固定的标准坐标系进行,实际中DLT算法关于相似变换不变的。

各向同性缩放.首先归一化,平移每幅图像点集形心至坐标系原点。其次,对坐标系进行缩放使点x=(x,y,z)T,x、y、z总体上有一样的均值。缩放系数的选择,点x的坐标x和y缩放系数相同,而不是不同方向选择不同的缩放系数。最后,我们选择缩放坐标,以满足点x到原点的平均距离等于根号2。这表明,“平均”点等于(1,1,1)T。概括起来,变换如下:
i.平移点,以满足形心在原点;
ii.缩放点,以满足点到原点平均距离等于根号2;
iii.分别应用变换到两幅图像上;
归一化的必要性.数据归一化的DLT算法版本在算法4.2中,现在需说明为什么使用这样的算法。包含数据归一化的算法,比起基本DLT算法要优先使用。注意:归一化在数值文献中也称为预处理。

算法4.1-DLT方法使用了SVD分解,A=UDVT,以求解超定方程集Ah=0。这些方程没有准确解(2n×9矩阵A因为噪声秩不为8),但V最后一列确定向量h,给出最小化||Ah||的解(满足||h||=1)。这等同于寻找最接近矩阵A的秩为8的矩阵,求得h是h=0的准确解。矩阵是根据=UVT,其中是最小奇异值设置为0的D。矩阵秩为8,最小化与A的Frobenius范数,因为

||.||F是Frobenius范数,也就是所有元素平方和后再开方。

若没有归一化,典型图像点xix'i按顺序(x,y,w)T=(100,100,1)T,也就是说,x,y远大于w。在A中,元素xx',xy',yx',yy'数量级达到104,元素xw',yw'等等数量级是102,元素ww'是1。用代替A意味,某些元素增加,某些元素减小,以满足这些变化的平方和是最小的(结果矩阵秩为8)。但重点在于,ww'增加100,图像点有巨大变化,但xx'增加100意味,仅有微小变化。这就是A中所有元素必须有相似数量级和归一化很重要的原因。

归一化的影响与DLT方程集合的条件数量有关,更准确的说法是方程矩阵A中第一个和倒数第二个奇异值的比值d1/dn-1。现在,有充足的理由说,准确的数据和无限精度的算法运算条件下,结果与归一化变换无关。但是,当存在噪声时,解会偏离正确结果。大条件数会扩大这种偏离,甚至在无限精度算法运算下也是如此-这不是舍入误差的原因。

数据归一化对DLT算法结果的影响如图所示。这里所得结论是,数据归一化得到更好的结果,图中所选例子是为易于直观展示。但是,在点对应数目更多并且点分布更广时,这种明显的优势仍然存在,为此需强调:

  • 数据归一化在DLT算法中是必要的步骤。

在条件不好的问题中,数据归一化更重要,例如DLT算法计算基本矩阵。

非各向同性缩放.也存在其他缩放方法。在非各向同性缩放中,点集形心同样平移至原点。在平移后,围绕原点形成点云。其次,对点进行缩放,以满足点集的两个主矩都等于1。因此,点集形成围绕原点半径为1的近似对称圆形点云。试验结果表明,对非各向同性缩放的额外开销并不会比各向同性缩放产生更好的结果。
无限远附近点的缩放.思考无限远平面和图像间的单应估计情况。如果观测方向足够倾斜,那么平面上非常远点的点在图像上可以看到--如果地平线可见,甚至无限远点也可看到。在这种情况下,通过设置形心到原点对无穷远平面上的点进行归一化就没有太大意义,因为形心具有非常大的坐标。这种情况归一的方法后续会介绍。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多