对极几何约束
前言
一、理论推导
这部分将讲解计算帧与帧之间相机相应位姿及特征点三维坐标。
M M M为观测对象,定义 C C C为左视图的相机中心, C ′ C' C′为右视图的相机中心,由 M C C ′ MCC' MCC′构成一个 π \pi π平面;其中 C C ′ CC' CC′为基线, l 1 l_1 l1为左视图的极线, l 2 l_2 l2为右视图的极线, e 1 e_1 e1为基线与左视图的交点,称为极点,同理 e 2 e_2 e2为右视图的极点;
- 找 M 1 与 M 2 M_1与M_2 M1与M2之间关系
设左右视图的投影矩阵分别为 P P P与 P ′ P' P′,内参矩阵为 K K K与 K ′ K' K′,左视图坐标系为世界坐标系。 R 、 t R、t R、t分别为左视图坐标系到右视图坐标系的旋转矩阵和平移向量, M M M在左视图投影为 M 1 M_1 M1,在右视图投影为 M 2 M_2 M2,齐次坐标为$\hat{M_1}、\hat{M_2} $所以有:
M 1 ^ ∼ K [ I ∣ 0 ] M ^ \hat{\boldsymbol M_1} \sim \boldsymbol K[\boldsymbol I|\boldsymbol 0]\hat{\boldsymbol M} M1^∼K[I∣0]M^
M 2 ^ ∼ K ′ [ R ∣ t ] M ^ \hat{\boldsymbol M_2} \sim \boldsymbol K'[\boldsymbol R|\boldsymbol t]\hat{\boldsymbol M} M2^∼K′[R∣t]M^
由于, C C C是相机中心, M 1 M M_1M M1M直线上所有点在左视图的投影都为 M 1 M_1 M1, P P P是一个3*4的矩阵, r a n k ( P ) = 3 rank(P)=3 rank(P)=3,具有广义逆,记作 P + P^+ P+, P + = P T ( P P T ) − 1 P^+=P^T(PP^T)^{-1} P+=PT(PPT)−1, 所以:
M ^ = s P + M 1 ^ + C \hat{\boldsymbol M}=s \boldsymbol P^+\hat{\boldsymbol M_1}+\boldsymbol C M^=sP+M1^+C
P M ^ = s M 1 ^ \boldsymbol P\hat{\boldsymbol M}=s\hat{\boldsymbol M_1} PM^=sM1^
同理,设 H = P ′ P + H=P'P^+ H=P′P+
M 2 ^ ∼ P ′ M ^ = s P ′ P + M 1 ^ + P ′ C = s H M 1 ^ + e 2 \hat{\boldsymbol M_2}\sim \boldsymbol P'\hat{\boldsymbol M}=s\boldsymbol P'\boldsymbol P^+\hat{\boldsymbol M_1}+\boldsymbol P'\boldsymbol C=s\boldsymbol H\hat{\boldsymbol M_1}+\boldsymbol e_2 M2^∼P′M^=sP′P+M1^+P′C=sHM1^+e2
即找到 M 1 与 M 2 M_1与M_2 M1与M2之间的关系;
- 几何约束
M 1 和 M 2 M_1和M_2 M1和M2对应的极线为 l 1 l_1 l1和 l 2 l_2 l2, e 2 e_2 e2和 M 2 M_2 M2经过极线 l 2 l_2 l2,所以:
M 1 ^ T l 1 = 0 \hat{\boldsymbol M_1}^T\boldsymbol l_1=0 M1^Tl1=0
M 2 ^ T l 2 = 0 \hat{\boldsymbol M_2}^T\boldsymbol l_2=0 M2^Tl2=0
l 2 = e 2 × M 2 ^ \boldsymbol l_2