文章目录
0. 前言
对极几何(Epipolar Geometry)描述了同一场景中两幅图像(2D-2D)间的几何关系,在图像匹配、三维重建等领域应用广泛。接下来看如何从已知两幅图像的匹配点对(2D像素点)中恢复相机运动。
1. 对极约束(Epipolar constraint)
上图所示为一个无噪声的理想情况。两帧图像 I 1 I_1 I1和 I 2 I_2 I2,相机光心为 O 1 , O 2 O_1,O_2 O1,O2, P P P为三维空间中的任意点,它在两像平面上的投影为 p 1 , p 2 p_1,p_2 p1,p2。我们的目标为求解相机由 O 1 O_1 O1运动到 O 2 O_2 O2位置的旋转矩阵 R R R和平移向量 t t t,有如下术语来描述它们之间的几何关系:
- 极平面(Epipolar plane): 点 O 1 , O 2 , P O_1,O_2,P O1,O2,P三点确定的平面;
- 极点(Epipoles): O 1 O 2 O_1O_2 O1O2连线与像平面 I 1 , I 2 I_1,I_2 I1,I2的交点 e 1 , e 2 e_1,e_2 e1,e2;
- 基线(Baseline): O 1 O 2 O_1O_2 O1O2连线;
- 极线(Epipolar line): 极平面与两像平面的交线 l 1 , l 2 l_1,l_2 l1,l2。
接下来从数学角度推导它们之间的几何关系。令 P = [ X , Y , Z ] T P=[X,Y,Z]^T P=[X,Y,Z]T表示其在第一帧相机坐标系下的三维坐标,则根据针孔相机模型可得 P P P在两像平面上的投影点:
{ s 1 p 1 = K P s 2 p 2 = K ( R P + t ) ⇒ { s 1 K − 1 p 1 = P s 2 K − 1 p 2 = R P + t (1) \begin{cases} s_1p_1=KP \\ s_2p_2=K(RP+t) \end{cases} \Rightarrow \begin{cases} s_1K^{-1}p_1=P \\ s_2K^{-1}p_2=RP+t \end{cases} \tag{1} { s1p1=KPs2p2=K(RP+t)⇒{ s1K