视觉slam14讲之 视觉里程计

fast角点原理:

fast 提取角点 fast11 以一个点为中心 半径为3的圆上,连续N个点大于或者小于一个临界值的话就代表中心是一个角点 临界值定义 中心点亮度I 加上一个阈值

对每一个像素进行这样的操作。但是一般这样的话边界是找不到角点的,所以在orb-slam中在边缘补上一个3列的补丁

缺点:是取像素的3为半径,那么远处看的可能像角点,但是离得近了以后可能就不是角点了 这里引用了金字塔

旋转向量与描述子

而为了得到旋转性 我们在图像块中,每个相同的图像,他的质心是相同的,再怎么旋转也是一样的,连接中心和质心 就有了方向性, 但是这样边上的角点就 又需要补丁了。

而描述子的概念就是对每一个特征点 周围固定的地方的两对i像素进行亮度比较,就得到一个 0 1,对不同的点都取相同的点进行对比就能了解两个点是否是匹配的

特征匹配

对两张图片的描述子进行暴力匹配,得到与当前点 最近的汉明距离,这个就可能是匹配点

对于错误匹配,后续会采取得到所有匹配点最短的距离, 大于这个距离的4倍就当作误匹配

对极约束

成像平面和相机中心的连线会有交点称之为极点e,而观测点在成像平面上的p 和e相连就是成像平面与 两个相机中心和真实点 三点形成的平面的交线 称作极线。因此我们需要已经匹配好的点才能找到空间点

E和F矩阵

两张图片也只能恢复出这两张图的i相对运动关系,所有在整个系统中一般是第一帧当初世界坐标系,后续帧根据相对运动关系就会得到新的状态,

通过对极约束得到的F矩阵和E矩阵 E矩阵由于尺度原因,由6个自由度变成五个自由度,因此最少用五点法求。

而F矩阵理论是有9个自由度,而T * R 相当于两个矩阵的相乘, 秩不大于各矩阵的秩而T 的矩阵的第三列可以由前两列线性表示:第二列除以-Tz乘以Ty,第一列除以Tz乘以负Tx,之后相加。

因此秩是2 少了一个自由度,加上尺度原因 又少了一个自由度。所以是7个。

奇异值分解出来四个值, 带入点判断是否是有深度的

H矩阵

处于共同平面上的一些点在两张图像之间的变换关系

特征点共面或者发生纯旋转 用单应 从 H有八个自由度,最少四个匹配点 因为每对匹配点可以提供两个约束。

三角测量

当我们已经得到了R T的时候,我们想根据已经得到的RT来推断这个点的相机坐标下的点,此时是单目相机哈,同时符合对极约束来求三角测距。 因为三角测距的公式就是基于对极约束得出的,

s2 x2 = s1 Rx1 + t 这个公式是通过对极约束得到的。我们根据公式推导可以先求出s1 ,因为当前对这些匹配点已经知道了。 归一化坐标也是非常好求的。

接下来是3D 和 2D 匹配点的问题。 有好几种方法,着重讲一下重投影误差法。这个理论就是把相机位姿和空间点位置放在一起优化,但是好像 对求J 的时候也没说把两个变量 位姿和 P点一起优化啊。好像还是一个个优化,

而且在对位姿进行优化的时候,用的是相机坐标系 ???难道是先根据对P点的优化先优化出P点,然后再优化T嘛??这里还有点疑惑?

但是主体流程就是对位姿求导优化变量,采用高斯牛顿的方法,这样的话e(x + Δx) = e(X) + JΔx 我们根据高斯来求优化,这样的话我们想着能不能算出J 然后根据高斯牛顿法的 H= J转置 * J 来求Δx

怎么求J呢,其实e是u的真实值 与 估计 像素的差,然而 u是一个真实值是一个常数,所有e对位姿求导可以转换为-u估计 对位姿的求导。然后 u对相机下p的求导,然后相机下p对位姿求导 (这个再李代数扰动里有说)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值