VSLAM-视觉里程计VO(二)2D-2D:对极几何

视觉里程计

  • 关键词:对极约束、本质矩阵、八点法

前言

上一篇文章中,简单说了一下特征点法的理论依据和应用。现在,假设我们从两张图像中得到了一些配对好的特征点,通过若干匹配好的特征点对,就可以求解到这些二维图像点的对应关系,恢复出在两关键帧之间相机的运动,那么,需要多少对匹配好的特征点才能正确估计相机位姿变换?又该怎样得到相机之间的位姿变化呢?

基础概念

(一)以上的问题就称之为对极几何,其完整概念为:
对极几何(Epipolar Geometry)是Structure from Motion问题中,在两个相机位置产生的两幅图像的之间存在的一种特殊几何关系,是sfm问题中2D-2D求解两帧间相机姿态的基本模型。
在这里插入图片描述
其中c0、c1为两个相机中心,p为空间中一点,p在c0、c1对应像平面上的投影分别为x0、x1。c0、c1连线与像平面的交点e0、e1称为极点(Epipoles),l0、l1称为极线(Epipolar Lines),c0、c1、p三点组成的平面称为极平面(Epipolar Plane)。

通过这个模型,我们得到两关键帧之间相机的位姿关系的约束,即对极约束,推导如下:
对极几何中最重要的一条公式是对极约束(Epipolar Constraint),下面让我们来推导出这个约束条件。

根据针孔相机模型,相机成像平面一点的像素坐标p和该点在世界坐标系下的3D坐标P有p=KP的关系,如果用齐次坐标表示则有:

dp=KP

其中d是空间点深度(为了将p的齐次项变为1),K是相机内参数矩阵,p和P都是齐次坐标。

于是如果以第一个相机的坐标系为参照,对于两个相机则有:

d0p0=KP,d1p1=K(RP+t)

其中R为旋转矩阵(Rotation),t为平移向量(Translation)。令x=K−1p,去掉内参K归一化成:

d0x0=P,d1x1=RP+t
由这两式得:
d1x1=R(d0x0)+t

两边同时叉乘t消去加号后面单独的t项:

t*d1x1=t*Rd0x0+t*t

进而:

t*d1x1=t*Rd0x0

再在两遍同时左乘一个x1:

x(T1)(t*d1x1)=x(T1)t*Rd0x0	#此处括号(T1)分别代表x上标和下标,T表转置,下同

由于等号左边x1乘上了一个和自身垂直的向量,所以等于0,故:

x(T1)t*Rx0=0

该等式称为对极约束(Epipolar Constraint),它的几何意义是O1、O2、P三者共面,对极约束中同时包含了平移和旋转。

对极约束的几何意义:x1、t、Rx0三者混合积为0,表示这三个向量共面,即上图中三角形的三边共面。

令E=t×R,得到对极约束的新形式:

x(T1)Ex0=0

E称为本质矩阵(Esential Matrix),由外参数R和t决定。

本质矩阵的几何意义:x(T1)l1=0,即x1在直线 l1=Ex0上,表示E将x0投影到另一帧图像中的直线l1上。

有了对极几何的模型,2D-2D的相机姿态可以通过如下过程求解:

①通过多组对应点(Correspondence)进行帧间匹配,求出本质矩阵E。

②通过对E进行分解求出外参数R和t,即相机姿态。

(二)本质矩阵

本质矩阵即对极约束中的矩阵E,对极约束简介的给出了两个匹配点的空间位姿关系,于是,根据两关键帧估计相机位姿变化问题变成一下两个步骤:
1、根据配对点的像素位姿求出本质矩阵E;
2、根据本质矩阵E求出R和t;

根据定义,本质矩阵E=t^R,是一个3*3矩阵,有9个未知数。从本质矩阵的构造方式上看:
1、本质矩阵在不同尺度下是等价的;
2、本质矩阵的奇异值必定是[a,a,0]T的形式,这是本质矩阵的内在性质;
3、刚体运动有6DOF,但是由于尺度等价,E实际上是5DOF;

从上述第三点来说,我们最少可以使用五对匹配好的特侦点来求解E,但是,本质矩阵的内在性质是非线性的,也就是说,在实际估计中会有问题,只考虑性质1,使用8对点来估计本质矩阵,这就是经典的八点法。以下都是数学推论就不赘述(主要还是这文档编辑公式编辑做的太烂了吧,有这功夫,都手推两三遍了)。

以上对极几何,是单目相机SLAM的重要基础,由于单目无法估计深度,必须通过三角测量的方式才能反推相机的位姿变化,所以垂直于相机成像平面的单方向上的运动是无法得到位姿信息的,这也是为什那么VINS要加IMU的原因之一,同时也是VINS的局限性,无法一开始就得到自身的稳定位姿。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值