SVO学习日记-14--2021.2.23

一.svo跟踪部分

做了两件事:
1.通过图像对齐,计算一个粗糙的位姿
2.建立一个当前帧的局部地图,根据地图对比位姿进一步优化

二.图像对齐
1.目的:迭代计算帧间位姿
解释:用于图像对齐的地图点是上一帧能看到的地图点,我们知道图像帧间变换比较小,
有理由相信上一帧所看到的场景大部分相同

过程:
(1)找到前一帧看到的地图点p1,p2,p3
(2)投影至后一帧的二维图像上
(3)最小化灰度误差函数(图像对齐),得到粗略的位姿

三.通过局部地图对当前帧位姿优化
虽然上一帧能看到的地图点和当前帧已经大部分重合,但仍有一部分当前帧看不到的视野,
当前帧和之前帧看到的视野重合率越高,优化的位姿越准确,同时除了上一帧,仍然有其他帧和当前帧视野重合率较高,通常是关键帧,因此这些帧的组合叫做局部关键帧,其看到的地图点集合称之为局部地图点
(1)五点的构建:五点法构建,思路是构建关键帧的时候,同时选择五个点
(2)局部地图的构建:当前帧之前的每一个关键帧都有五点分布,因此下一步,选择哪些关键帧作为局部优化的关键帧
(3)做法:把每个关键帧上的五点投影到当前帧,只要投影上任何一个,就记录对应的帧,ID,距离然后按照距离排序,取前N个作为局部关键帧,这些关键帧上对应的地图点作为局部地图点
(4)优化位姿:重投影误差(找到局部地图点与当前帧像素的匹配关系)
[1]地图点:landmark,关键帧中提取的特征点,被赋予了深度后的三维点,单目中需要不断
估计,准确测量后才能将该特征点对应的三维点放入地图
[2]地图点的来源:关键帧.作用(优化帧的位姿[重投影误差][建立稀疏地图])
[3]地图点与普通帧/关键帧之间的联系:用地图点估计并优化该帧的位姿
[4]地图点在当前帧中找匹配关系:对于局部地图里的每个地图点.都被当前帧或者之前多个关键帧看到,我们可以找到对于某一个地图点被观测到的所有关键帧的集合
[5]地图点和谁匹配:每个地图点都关联着许多关键帧,选择其中观测角度与当前帧比较小的那个关键帧
[6]怎么匹配:
<1>匹配策略:网格法匹配,不共面的三点确定一个图像平面
<2>怎么进行网格法匹配:画虚拟网格,统计每个网格投影上的地图点,然后按地图点
质量排序,均匀匹配,只接受一个
<3>匹配方式:特征对齐(先选择观测角度较小的关键帧,计算仿射矩阵,找到关键帧中
最适合匹配的那层金字塔图像,LK光流匹配[地图点与图像像素点匹配])
[7]优化位姿:又叫做结构优化,重投影误差,得到最优位姿

二.建图部分(深度滤波)

利用svo前端提供的位姿进行三维重建,属于渐进式三维重建,利用了一系列的前后帧,完成对指定帧上像素深度的提取
原因:用一系列帧来求取指定帧上每个像素深度的原因是在计算像素深度时,单次匹配恢复的深度有误差,需要依靠多次深度测量值的融合,来恢复误差较小的深度值.
两个属性:深度值服从高斯分布,局外点服从beta分布
过程:关键帧上选取像素点,作为种子(seed->深度未收敛的像素点),每来一帧就融合更新之前提取的种子,直至收敛.若新的一帧是关键帧,再次提取新的像素作为种子

步骤:
1.计算极线(条件)
(1)已知种子所在帧与当前帧的相对位姿->VO提供
(2)已知种子的初始深度->缩小找匹配的搜索量,当种子新提取时,没有深度,取场景平均深度

2.计算仿射矩阵
(1)为什么计算:同一张图像经过旋转平移后,同一场景在图像上的位置发生了变化
(2)计算思路:利用三点法计算两时刻的仿射矩阵,然后将上一时刻窗口里的像素坐标投影到这一窗口中

3.搜索匹配
跟踪部分的匹配,是靠特征对齐来完成的,不需要极线搜索,这是因为在深度和位姿都比较准确的情况下,用特征对齐可以匹配完成.
但是深度估计不行,它需要极线搜索,因为深度未知或者深度不确定性太大,当极线小于两个像素时,直接采用图像对齐,因为此时的不确定性较小,否则沿着极线以一个像素布长搜索匹配

4.三角测量恢复深度以及匹配不确定性
经过匹配搜索后,能够得到种子点以及种子点在当前帧匹配的像素点,通过三角测量恢复深度值.多次三角测量的深度是为了融合得到种子较为准确的深度,因此融合的时候,不同的测量值就有着不同的权重,不确定性就是用来计算权重的深度的不确定性->在匹配时,误匹配一个像素所带来的最大深度误差

5.深度融合

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值