对极几何

参考:《视觉SLAM十四讲》高翔
https://zhuanlan.zhihu.com/p/33458436

特征匹配之后,得到了特征点之间的对应关系

  • 如果只有两个单目图像,得到2D-2D间的关系——对极几何
  • 如果匹配的是帧和地图,得到3D-2D间的关系——PnP
  • 如果匹配的是RGB-D图,得到3D-3D间的关系——ICP
    单个相机图片并不能告诉我们物体的深度信息,这时至少需要两个相机,这样在两视图间内在的射影几何关系就是对极几何,而基本矩阵就算对极几何的代数表示。

对极约束

假设我们已从两张图像中得到了一堆匹配好的特征点。如果有若干对这样的匹配点,就可以通过这些二维图像点的对应关系,恢复出在两帧之间摄像机的运动。首先来看两个图象当中的匹配点有什么几何关系。

若已经从两张图像中得到了一对配对好的特征点,希望求取两帧图像\(I_{1},I_{2}\)之间的运动,假设第一帧到第二帧的运动为\(R\),\(t\)
\(P\) 是连线\(\overrightarrow{O_{1}p_{1}}\)和连线 \(\overrightarrow{O_{2}p_{2}}\)在三维空间中的交点
\(O_{1},O_{2}\):是两个摄像机中心,
\(O_{1},O_{2},P\)三个点可以确定一个平面,称为极平面(Epipolar plane)
\(O_{1}O_{2}\):基线(Baseline)
\(e_{1},e_{2}\):极点(Epipoles)
\(l_{1},l_{2}\):极平面与两个像平面\(I_{1},I_{2}\)之间的相交线,称为极线(Epipolar line)
\(I_{1}\)中有一个特征点\(p_{1}\),在I2中对应特征点p2,两者是通过特征匹配得到的。如果匹配正确,说明它们是同一个空间点在两个成像平面上的投影.
直观上讲,从第一帧的角度上看,射线 \(\vec{O_1p_1}\) 是某个像素可能出现的空间位置——因为该射线上的所有点都会投影到同一个像素点。同时,如果不知道 \(P\) 的位置,那么当我们在第二个图像上看时,连线 \(\vec{e_2p_2}\) (也就是第二个图像中的极线)就是 \(P\) 可能出现的投影的位置,也就是射线 \(\vec{O_1p_1}\) 在第二个相机中的投影。现在,由于我们通过特征点匹配,确定了\(p_{2}\)的像素位置,所以能够推断 P 的空间位置,以及相机的运动。要提醒读者的是, 这都是多亏了正确的特征匹配。如果没有特征匹配,我们就没法确定 \(p_{2}\)到底在极线的哪个位置了。那时,就必须在极线上搜索以获得正确的匹配.


本质矩阵(Essential matrix)

几何表示是便于理解的,可是计算机并不懂,我们要将其转为代数形式。
我们知道由相机1到相机2是刚体运动,那么观测点P在相机1坐标系的坐标就可以通过刚体转换变成相机2坐标系下,

基本矩阵

posted @ 2020-09-07 11:01  Wxxuan  阅读(336)  评论(0)    收藏  举报