本节开始讨论4.1中DLT算法的性质及性能,以及如何与最小化几何误差的算法比较。第一个话题是,算法对图像中不同坐标系的不变性。显然,我们希望算法结果不依赖于坐标系的选择,如图像中坐标系的原点、尺度、方向等。 4.4.1 图像坐标变换的不变性 现有点集xi<->x'i,和以此点集通过DLT算法求得矩阵H,另有相关点集i<->'i,其中i=Txi和'i=T'x'i,令=T'HT-1。根据4.4.1节,问题是,
我们使用如下记法:矩阵Ai是根据对应点关系xi<->x'i得到的DLT方程矩阵,A是由Ai组成的2n×9矩阵。类似地,矩阵i是根据对应点关系i<->'i得到的DLT方程矩阵,射影变换T和T',i=Txi和'i=T'x'i 因此,变换方法对求解变换阵产生不同结果。DLT算法这样的表现,结果随坐标变换或者坐标原点的变动而变化,并不是期望的特性。但是,如果使范数||Ah||最小化的约束在变换下不变,那么计算的矩阵H和可以以正确的方式关联。 现在证明:为得到H而最小化的几何误差关于相似变换是不变的。如前文,现有点集x<->x',和变换矩阵H。并定义相关点集<->',其中=Tx和'=T'x',令=T'HT-1。假设T和T'表示P²空间欧式变换,我们可以证明, 最后一个等式成立:是因为欧式距离在欧式变换下不会改变。这证明,如果H最小化对应关系集合的几何误差,那么最小化变换后对应关系集合的几何误差,所以最小化几何误差在欧式变换下不变。 对于相似变换,几何误差乘以变换的缩放因子,也就是说最小化变换的对应方式与欧式变换相同。所以最小化几何误差是相似变换的不变量. 如4.4.2中所述,计算2D单应的DLT算法结果依赖于坐标点所采用的的坐标系。事实上,结果关于图像的相似变换不是不变量。这产生一个问题,在计算2D单应时,某些坐标系是否比其他的更好,答案是肯定的。在这一部分,我们将介绍数据归一化的方法,它是由图像坐标的平移和缩放组成。运行DLT算法前,执行这种归一化方法。之后,对结果的合理校正就能得到关于原坐标系的H。 除了提升结果准确性,数据归一化也具有其他优势,包含初始数据归一化的算法关于任意缩放系数和坐标系是不变的。这是因为,通过选择测量数据的有效标准坐标系,归一化处理取消坐标变换的影响。因此,代数最小化在固定的标准坐标系进行,实际中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范数,因为 若没有归一化,典型图像点xi,x'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算法计算基本矩阵。 |
|