对极几何之基础矩阵和本质矩阵

一、理解Epipolar Geometry的关键在于掌握下面的几个点:

  1. 在射影几何中,要通过两个不同的点求连接这两点的直线,两点作叉乘即可。当然由于Duality的存在,要通过两条直线求他们相交于哪一点,同样两线作叉乘即可。
  2. 相机的成像原理是将一个三维的点按照小孔成像的原理投影到了二维平面上,那么其逆过程(通过二维平面的点估计三维点的位置)必然会带来一个不确定量。这个不确定的量就是深度,更准确地说,是小孔和三维点之间的距离。
  3. CV中引入Epipolar Geometry的目的是为了研究从不同的相机看世界中的同一个点,在两个视平面上的点应该满足什么样的关系。通过1和2我们会知道这个关系是(相机1中的)点对应(相机2中的)线的关系。通过这个关系,我们之后可以进一步使用三角定位来找出三维世界中的点在哪里。

几点解释:

  • 射影几何中的2D点如何表示? x ^ = [ u v 1 ] \mathbf{\hat{x}} =\begin{bmatrix}u\\v\\1\end{bmatrix} x^=uv1
  • 射影几何中的线如何表示? l = [ a b c ] \mathbf{l}= \begin{bmatrix}a\\b\\c\end{bmatrix} l=abc ,这其中隐含的表示是一个直线方程 a x + b y + c = 0 ax + by + c = 0 ax+by+c=0
  • 如何表示点在线上? x ^ T l = a u + b v + c = 0 \mathbf{\hat{x}}^T\mathbf{l} = au + bv + c = 0 x^Tl=au+bv+c=0
    假定现在有另外一个点 x ^ ′ = [ u ′ v ′ 1 ] \mathbf{\hat{x}'} = \begin{bmatrix}u'\\v'\\1\end{bmatrix} x^=uv1也在线上,则
    x ^ ′ T l = a u ′ + b v ′ + c = 0 \mathbf{\hat{x}}^{'T}\mathbf{l} = au' + bv' + c = 0 x^Tl=au+bv+c=0
    联立方程如何求解这条直线?叉乘咯!!!
    l = x ^ × x ^ ′ \mathbf{l} = \mathbf{\hat{x}} \times \mathbf{\hat{x}'} l=x^×x^

二、本质矩阵(Essential matrix)和基础矩阵(Fundamental matrix)

图示

  • 本质矩阵E:描述空间点P在两个相机的相机坐标系下的关系,换言之,给定两个相机的相对位置关系,E即被确定。
    假设P在 O 1 , O 2 O_{1},O_{2} O1,O2坐标系下坐标为 P 1 , P 2 P_{1},P_{2} P1,P2,刚体变换关系为 P 2 = R P 1 + T P_{2}=RP_{1}+T P2=RP1+T 可得 T × P 2 = T × R P 1 + T × T = T × R P 1 T\times P_{2}=T\times RP_{1}+T\times T=T\times RP_{1} T×P2=T×RP1+T×T=T×RP1
    其中 T × P 2 T\times P_{2} T×P2为极平面的法向量,因此与 P 2 P_{2} P2点乘为0
    P 2 ⋅ ( T × P 2 ) = P 2 ⋅ ( T × R P 1 ) = 0 P_{2}\cdot (T\times P_{2})=P_{2}\cdot (T\times RP_{1})=0 P2(T×P2)=P2(T×RP1)=0
    写成矩阵相乘的形式 P 2 T T ∧ R P 1 = 0 P_{2}^{T}T^{\wedge}RP_{1}=0 P2TTRP1=0 P 2 T E P 1 = 0 P_{2}^{T}EP_{1}=0 P2TEP1=0 P 1 和 P 2 P_{1}和P_{2} P1P2也可以是归一化的坐标 x ˉ 1 = [ x 1 y 1 z 1 ] , x ˉ 2 = [ x 2 y 2 z 2 ] \bar{x}_{1}=\begin{bmatrix} x_{1}\\y_{1} \\ z_{1} \end{bmatrix},\bar{x}_{2}=\begin{bmatrix} x_{2}\\y_{2} \\ z_{2} \end{bmatrix} xˉ1=x1y1z1,xˉ2=x2y2z2
    其中 T ∧ T^{\wedge} T为向量 T T T的反对称阵 T = [ 0 − T 3 T 2 T 3 0 − T 1 − T 2 T 1 0 ] T=\begin{bmatrix}0 & -T_{3} & T_{2}\\T_{3} & 0 & -T_{1} \\ -T_{2} & T_{1} & 0\end{bmatrix} T=0T3T2T30T1T2T10
    所以 E = T ∧ R E=T^{\wedge}R E=TR
  • 基础矩阵F:描述空间点P在两个相机成像的各自的图像像素坐标系下的关系,换言之,给定了两个相机的相对位置关系和相机内参,F即被确定。
    x 1 和 x 2 x_{1}和x_{2} x1x2为像素坐标,设 K 1 , K 2 K_{1},K_{2} K1,K2分别为其相机内参数,则 x 1 = K 1 P 1 x_{1}=K_{1}P_{1} x1=K1P1 x 2 = K 2 P 2 x_{2}=K_{2}P_{2} x2=K2P2 P 1 , P 2 P_{1},P_{2} P1,P2带入上面的本质矩阵中得到 ( K 2 − 1 x 2 ) T E ( K 1 − 1 x 1 ) = 0 (K_{2}^{-1}x_{2})^{T}E(K_{1}^{-1}x_{1})=0 (K21x2)TE(K11x1)=0
    x 2 T ( ( K 2 − 1 ) T E ( K 1 − 1 ) ) x 1 = 0 x_{2}^{T}((K_{2}^{-1})^{T}E(K_{1}^{-1}))x_{1}=0 x2T((K21)TE(K11))x1=0
    x 2 T F x 1 = 0 x_{2}^{T}Fx_{1}=0 x2TFx1=0
    F = ( K 2 − 1 ) T E ( K 1 − 1 ) F=(K_{2}^{-1})^{T}E(K_{1}^{-1}) F=(K21)TE(K11)
    终于算是捋明白了
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值