对极几何和三角测量

    在多种应用场景中,我们需要根据运动中相邻的两张图像恢复相机的运动,并计算空间点的深度信息,这个问题可以由对极约束三角测量解决。


对极约束

    对极约束可以根据两张图像的匹配的一组特征点计算出相机从第一张图像到第二张的运动。关于计算特征匹配可以使用特征点法、光流法、直接法求解出,比如LK光流跟踪ORB特征匹配。下面开始介绍对极几何,其示意图如下:

1.jpg

    我们希望求取两帧图像 I1I2 之间的运动,设第一帧到第二帧的运动为 R, t,两个相机中心分别为 O1O2,考虑 I1 中有一个特征点 p1,它在 I2 中对应着特征点 p2。连线O1p1和连线O2p2在三维空间相较于点 PO1OP三个点的平面称为极平面(Epipolar plane)O1O2连线称为基线(Baseline),基线与像平面I1I2的交点分别为e1e2,称为极点(Epipoles)。极平面与两个像平面I1I2之间的相交线l1l2极线(Epipolar line)

    在第一帧的坐标系下,设 P=[X,Y,Z],根据相机模型,有 s1p1=KPs2p2=K(RP+t)s1,s2是P点在两个坐标系的z轴坐标,K为相机内参矩阵,R, t为第一个坐标系到第二个坐标系的运动。在使用齐次坐标时,一个向量将等于它自身乘上任意的非零常数,这通常用于表达一个投影关系,称为尺度意义下相等(equal up to a scale)。此时,有sp≃p。因此有:p1KPp2K(RP+t)。 

    根据相机模型,我们知道 z = 1 平面是归一化平面归一化坐标 p 和像素坐标 x 的关系为p=Kx ,x=P/s,即x1=K-1p1x2=K-1p2。将x1 x2代入上式,得 x2Rx1+t。两边与平移向量t 做外积:tx2t^ R