基本矩阵、本质矩阵和单应矩阵

  两幅视图存在两个关系:第一种,通过对极几何一幅图像上的点可以确定另外一幅图像上的一条直线;另外一种,通过上一种映射,一幅图像上的点可以确定另外一幅图像上的一个点,这个点是第一幅图像通过光心和图像点的射线与一个平面的交点在第二幅图像上的影像。第一种情况可以用基本矩阵来表示,第二种情况则用单应矩阵来表示。而本质矩阵则是基本矩阵的一种特殊情况,是在归一化图像坐标下的基本矩阵

基本矩阵(Fundamental Matrix)

介绍

  基本矩阵体现了两视图几何(对极几何,epipolar geometry)的内在射影几何(projective geometry)关系,基本矩阵只依赖于摄像机的内参 K 和外参R,t

对极几何

    上图是一个两视图的几何描述,其中 O O是两个相机的光心,两点连线 OO 称为基线,基线与图像平面的交点 e e 称为对极点,其中 l l分别是图像点 x x 对应的对极线

    上图的左侧相机的图像平面上的一个点 x ,反向投影得到射线OX。由于点的深度未知,图像平面上的点 x 可能是射线上某一深度的3D点X。而射线 OX 在第二个相机的图像平面上的投影为 l 。也就是说,给定一对图像,第一幅图像上的每个点 x ,在另外一幅图像上存在一条直线 l 与之对应。换言之,第二幅图像上与点 x 对应的点 x 必定在线 l 上。

    我们可以看到这里存在一个从一副图像上的点到另外一幅图像与之对应的对极线的映射 xl 。而基本矩阵就表示了这种从点到直线的射影映射关系。

几何推导

   首先在几何层面对上述一个图像上的点到另外一个图像上的对极线的映射关系进行分析。可以把这个映射分成两个步骤:

  • 点到平面的转移

       存在一个不经过两个相机光心的的平面 π ,光心 O x的射线与平面 π 相交与一点 X 。该点X又投影到第二幅图像平面上的点 x 。这个称为点 x 通过平面π的转移。点 x x 是平面 π 上的3D点 X 在两个相机平面上的像。对应每一个3D点X都存在一个2D的单应 Hπ 把每一个 x 映射到 x

  • 对极线的构造

      已知第二幅图像上的对应点 x ,再加上对极点 e 我们可以构造对极线 l=e×x=[e]×x (这里的 [e]× 是叉乘矩阵)。由于 x 可以表示为 x=Hπx ,则有:

l=[e]×Hπx=Fx

  基本矩阵可以记作为 F=[e]×Hπ ,其中 Hπ 是一幅图像到另外一幅图像通过任意平面 π 的转移映射。因为 [e]× 的秩是2, Hπ 的秩是3,因此 F 是秩为2的矩阵。

  从几何角度来讲,F矩阵表示了第一幅图像的2维射影平面P2到通过对极点 e 的对极线束的映射,是从2维到1维的射影空间的映射,因此秩为2。

MVG2_FIG.9.5

代数推导

  对于两个视图的射影矩阵 P P,在矩阵 P 的作用下,第一个视图中通过x和光心 O 的射线可以由方程PX=x解出。给出的单参数簇解的形式为:

X(λ)=P+x+λO

  其中 P+ P 的伪逆,即P+P=I O 为相机的中心,即P的零矢量并且定义为 PO=0 。这条射线由点 P+x 和点 O 决定,这两点在第二幅图像上的投影分别为点PP+x和点 PO 。而对极线则是连接这两点的直线,即 l=(PO)×(PP+x) ,点 PO 也就是在第二幅图像上的对极点 e 。也可以记为 l=[e]×(PP+)x=Fx ,这里的 F 就是基本矩阵:
F=[e]×(PP+)

  • 设两个视图的双目系统,且世界坐标系定在第一个视图:
    P=K[I|0]P=K[R|t]=KR[I|O]

    则:
    P+=[K10]O=(01)

    且:
    F=[PC]×PP+=[Kt]×KRK1=KT[t]×RK1=KTR[RTt]xK1=KTRKT[KRTt]×

    对极点可以表示为:
    e=(RTt1)=KRTte=P(01)=Kt

    从而, F 可以记作:
    F=[e]×PP+=KT[T]×RK1=KTR[RTt]×K1=KTRKT[e]×
性质

  假设两幅图像由中心不重合的相机获得,则基本矩阵F为所对应点 xx 都满足下式的秩为 2 3×3齐次线性矩阵。

xTFx=0

  有如下性质:

  • F 是秩为2、自由度为 7 的齐次矩阵(3×3其次矩阵有 8 个独立比率,还有一个满足约束detF=0的约束,所以再减去一个自由度)

  • 对应点:如果 x x 是对应的图像点,那么 xTFx=0

  • 对极线

    • l=Fx 对应于 x 的对极线

    • l=FTx 对应于 x 的对极线

  • 对极点

    • Fe=0
    • FTe=0
  • 有摄像机矩阵 P P计算

    • 一般相机

    F=[e]×PP+ ,其中 P+ P 的伪逆,e=PO PO=0

    • 规范相机, P=[I|0] P=[M|m]

    F=[e]×M=MT[e]× ,其中 e=m e=M1m

    • 非无穷远相机 P=K[I|0] P=K[R|t]

    F=KT[t]×RK1=[K[t]×KRK1=KTRKT[KRTt]×


本质矩阵(Essentical Matrix)

介绍

  本质矩阵归一化图像坐标下的基本矩阵的特殊情况。基本矩阵把要求标定相机这样一个(非本质的)的基本假设去掉了。

  • 归一化坐标
    考虑 P=K[R|t] 的相机矩阵,令 x=PX 为图像上的一个点。如果已知相机标定矩阵 K ,那么用它的逆矩阵作用与点x得到点 x^=K1x ,则 x^=[R|t]X ,其中 x^ 是图像的点在归一化坐标下的表示。它可以被视为空间点 X 在相机[R|t]的标定矩阵为单位阵的 I 的情况下的像。相机矩阵K1P=[R|t]称为归一化相机矩阵

      考虑一对归一化的相机矩阵 P=[I|0] P=[R|t] ,与归一化相机矩阵对应的基本矩阵称之为本质矩阵。有如下形式:

    E=[t]×R=R[RTt]×

      用归一化坐标图像坐标表示对应点 xx 时,本质矩阵的定义方程为:
    x^TEx^=0

      把 x^ x^ 的表达式代入上式得 xTKTEK1x=0 ,与基本矩阵关系式比较可得两者之间的关系为:

    E=KTFK

性质

  本质矩阵只有 5 个自由度:旋转矩阵R和平移矢量 t 各有 3 个自由度,由于是齐次矩阵再减去一个自由度。


单应矩阵(Homograph Matrix)

介绍

  射影映射P2到其自身的一种满足以下关系的可逆映射 h :三点x1 x2 x3 共线当且仅当 h(x1) h(x2) h(x3) 也共线。射影映射也称为保线映射,或者射影变换单应。在代数上可以把这种映射关系 h 表示为:P2P2是射影映射的充要条件为:存在一个 3×3 非奇异矩阵 H 使得P2的任何一个矢量 x 表示的点都满足 h(x)=Hx

MVG2_FIG.13.1

  上图中,把点 x 的射线延长到世界平面 π (一般都不经过任何一个相机的光心)并且交于一点 xπ ,该点投影到另外一个视图上得到点 x ,这个从点 x 到点 x 的映射是从平面 π 诱导的单应。如果世界平面 π 到第一幅图像的透视变换为 x=H1πxπ ,而世界平面到第二幅图像的透视变换为 x=H2πxπ ,那么这两个透视变换的复合是两个平面之间的单应变换 x=H2πH11πx=Hx

代数推导

  给定两幅视图的投影矩阵

P=[I|0]P=[A|a]

  定义世界平面 π πTM=0 ,其中 π=(vT,1)T 。对于第一幅视图而言,根据透视投影有 x=PX=[I|0]X ,该射线上的点 X=(xT,)T 都投影到 x 点,又点 X 在平面 π 上,则满足 πTX=0 ,从而可以确定参数 ,得到 X=(xT,vTx)T 。该3D点在第二幅图像上的投影为:
x=PX=[A|a]X=AxavTx=(AavT)x

  由该平面诱导的单应为 x=Hx ,得
H=AavT

  很明显,这里的单应矩阵 H 是有向量v决定,是一个三参数单应簇。

  考虑对于已经有标定的双目相机矩阵的相机矩阵

P=K[I|0]P=K[R|t]

  并且世界平面 π 的坐标为 π=(nT,d)T ,则根据上面的结论,有 v=b/d ,则对相机 P=[I|0] P=[R|t] 的单应为:
H=RtnT/d

  加上内参矩阵 K K后则得到对应的单应为:
H=K(RtnT/d)K1

  这是一个三参数簇,由 nT/d 参数化,整个簇由该世界平面以及相机内参和两相机相对外参决定。
  

总结

  我们可以从基本矩阵和单应矩阵的推导看到,基本矩阵不依赖于场景中的物体,只和两帧图像间的相对位姿和相机矩阵有关(本质矩阵则与相机矩阵无关)。而单应矩阵不仅仅和帧间的相对位姿有关,还和特定的世界平面有关。所以,当我们得到两帧图像并且知道图像中点的对应关系后,不论场景是什么样的,通过基本矩阵就都已经直接恢复出帧间的运动;而单应矩阵则不行,只有当匹配点都在特定的世界平面中,才可以使用单应来恢复帧间的运动。


参考

Multiple View Geometry in Computer Vision,Second Edition

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值