基本矩阵与本质矩阵
基本矩阵与本质矩阵
基本矩阵与本质矩阵的数学推导:
假设空间中一点\(P = [X, Y, Z]^T\)。
P在相机A相平面坐标为\(P_A = [x_A, y_A, 1]^T\);
P在相机B相平面坐标为\(P_B = [x_B, y_B, 1]^T\);
相机A与相机B的内参矩阵为\(K\),即可以假设A、B是同一个相机,但是空间位姿不同。
假设:
- \(P_A = K · (R_A · P + T_A)\) (0)
- \(P_A = K · P\) (1)
即,设\(P\)相对与相机A的旋转矩阵\(R_A\)与平移矩阵\(T_A\)为初始值(\(R_A = I, T_A = 0\)),因为总要有一个参考系,此处就是假设相机A为参考系。
对相机B又可以得到:
- \(P_B = K · (R_B · P + T_B)\) (2)
此处,\(R_B\)、\(T_B\)示在\(P\)相机B坐标系的相对于在相机A(初始)坐标系下的旋转与平移。
由(1)得到\(P = K^{-1} · P_A\) ,
代入(2)得到:
- $P_B = K · (R_B · K^{-1} · P_A + T_B) $ (3)
给"="左右左乘上\(K^{-1}\),则有:
- \(K^{-1} · P_B = R_B · K^{-1} · P_A + T_B\) (4)
左右左乘\(T_{Bx}\) ( \(T_{Bx}\) 满足 \(T_{Bx} · C = T_B \times C\))消去\(T_B\),得到:
- \(T_{Bx} · K^{-1} · P_B = T_{Bx} · R_B · K^{-1} · P_A\) (5)
对(5)左右左乘\((K^{-1} · P_B)^T\)得到:
- \((K^{-1} · P_B)^T · T_{Bx} · K^{-1} · P_B = (K^{-1} · P_B)^T · T_{Bx} · R_B · K^{-1} · P_A\) (6)
由于\(T_{Bx} · (K^{-1} · P_B)\) 垂直与 \(T_B\) 与\((K^{-1} · P_B)\) ,所以(6)“=” 左边为0, 即:
- \((K^{-1} · P_B)^T · T_{Bx} · R_B · K^{-1} · P_A = 0\) (7)
整理得:
- \(P_B^T · {K^{-1}}^T · T_{Bx} · R_B · K^{-1} · P_A = 0\) (8)
得到的(8)即为最终表达式,又:
- \(F = {K^{-1}}^T · T_{Bx} · R_B · K^{-1}\) (基础矩阵)
- \(E = T_{Bx} · R_B\) (本质矩阵)
从而,\(B^T · F · P_A = 0\) (×)
极线推导:
对(×),可以知道,不同两个位姿拍摄的同一地点的两个(或一个)相机,获取的基础矩阵\(F\)是固定的。
那么,不妨代入一已知点\(P_t = [x_t, y_t, 1]^T\),令\(P_A = P_t\),得:
- \(P^T · F · P_t = 0\) (9)
其中\(F\)为[3 x 3]矩阵,\(P_t\)为[3 x 1]矩阵,那么\(F · P_A\) 为一个[3 x 1]矩阵,记为\(Q = [fp_1, fp_2, fp3]^T\)
又\(P^T\) 为 [1 x 3]矩阵,\(P^T = [x, y, 1]\),则\(P · Q = 0\)展开为:
- \(x \times fp_1 + y \times fp_2 + fp_3= 0\) (10)
因\(Q\)为已知,故(10)为二元一次方程,可以确定一条直线,称为极线