SVO阅读笔记

本文详细介绍了Semi-Direct Visual Odometry(SVO)的原理,包括追踪部分的位姿估计(Frame-to-frame和Frame-to-Map)、深度估计的对极几何与深度融合方法。SVO通过直接法与特征优化结合,实现快速且鲁棒的位姿估计。然而,SVO在面对模糊、大运动和光照变化时表现较差,且由于缺乏闭环检测,容易导致累积误差。
摘要由CSDN通过智能技术生成

一、SVO总体结构

二、追踪部分:位姿估计

(一)Frame-to-frame位姿估计{\color{Blue} T_{k, k-1}}

1.重投影(上一帧的二维点投影到三维再投影到当前帧的二维坐标中)

2.稀疏直接法求解位姿

(二)Frame-to-Map

1.参考LK光流法的特征对齐Feature Alignment来优化特征匹配

2.特征点法BA优化(根据像素位置差优化重投影关系)

三、Mapping部分:深度估计

(一)对极几何

(二)Mapping总框架

(三)深度估计及融合

1.每一帧的深度估计方法:极线特征匹配+三角测量

2.多帧深度值融合


直接法和半直接法:

  • 直接法:对整个图像使用直接匹配,整幅图像的直接匹配法常见于RGBD传感器,因为RGBD传感器能获取整幅图像的深度。
  • 半直接:通过对图像中的特征点图像块进行直接匹配来获取相机位姿。

直接法缺点:

  • 怕模糊(需要全局曝光相机)
  • 怕大运动(图像非凸性)
  • 怕光照变化(灰度不变假设)

视觉运动估计方法:

  • a) 基于特征的方法:标准的方法是在每个图像中提取一组稀疏的显著的图像特征(例如点、线);使用不变的特征描述子在连续的帧中进行匹配;使用对极几何鲁棒地恢复相机的运动和结构;最后,通过最小化重投影误差reprojection error来优化姿态和结构。大多数VO算法遵循这个过程,独立于应用的优化框架。这些方法成功的原因是鲁棒的特征检测器,和即使在大的inter-frame movement也能匹配的描述子。基于特征的方法的缺点是依赖于检测和匹配阈值,必须使用鲁棒估计技术来处理错误的对应,而且大多数特征检测器都是针对速度而不是精度进行优化的,因此,需要通过对多个特征测量进行平均来补偿运动估计中的漂移。
  • b) 直接法:直接方法直接从图像中的强度值(intensitiy value)估计结构和运动。与基于特征的方法相比,直接法将局部强度梯度的大小和方向用于优化中,而基于特征的方法只考虑了到某些特征位置的距离。直接法利用到了图像中的所有信息,即使是梯度很小的区域,它在少纹理、相机散焦和运动模糊的情况下,鲁棒性优于基于特征的方法。光度误差的计算比重投影误差更为密集,因为它涉及到大图像区域的翘曲(warping)和积分。不过,由于直接方法直接对图像的强度值进行操作,因此节省了特征检测和不变描述子计算的时间。

一、SVO总体结构

论文: SVO: Fast Semi-Direct Monocular Visual Odometry

结构:

  • 位姿估计:是通过direct method来获取位姿,和feature-method不一样。但和direct method不同的是,它利用特征块的配准来对direct method估计的位姿进行优化, “In contrast to previous direct methods, we use many (hundreds) of small patches rather than few (tens) large planar patches.”
  • 深度估计:一个贝叶斯滤波器,用显式建模异常值测量(explicitly models outlier measurements)来估计特征所在位置的深度。只有当相应的深度滤波器已收敛时,才会在地图中插入三维点,这需要多次测量。结果得到一个较少离群点(outliers)和能被可靠地跟踪的点的地图。
SVO流程

追踪部分优缺点:

  • 稀疏直接法非常快,关键点分布比较均匀。
  • 但SVO只是VO,不是SLAM,没有闭环。丢失后没法重定位,丢了基本就挂了。而且开源SVO里甚少考虑出错的情况,最开始粗略的位姿估计极其依赖当前帧与上一个追踪的帧的比较,这必须要求上一个帧是足够准确的。如果上一个帧由于遮挡、模糊等原因丢失,那么当前帧也就会得到一个错误的结果,导致和地图比对不上。又由于这货是没法重定位的,所以就挂了。svo检测和跟踪特征点的能力比较差,特征点极易丢,所以宋师兄把地板贴的是花花绿绿。。编队也只能这样了吧,树莓派跑VINS跑不动啊。
  • 并且既然是直接法,SVO就有直接法的所有缺点,怕模糊、大运动和灰度变化。

建图部分缺点:

  • Depth Filter收敛较慢,结果比较严重地依赖于准确的位姿估计。如果统计收敛的种子点的比例,会发现并不高,很多计算浪费在不收敛的点上。
  • 相比于纯高斯的逆深度,SVO的Depth Filter主要特点是能够通过Beta分布中的两个参数a,b来判断一个种子点是否为outlier。然而在特征点法中我们也能够通过描述来判断outlier,所以并不具有明显优势。

二、追踪部分:位姿估计

(一)Frame-to-frame位姿估计T_{k, k-1}

先把当前帧和上一个追踪的帧进行比对,获取粗略的位姿。该问题的基本形式为:已知k-1帧对地图点的观测(包括2D投影位置\textbf{u}=(u,v)^{T}和深度d_{\mathbf{u}}),以及当前帧的图像I_{k},求解当前帧的粗略位姿T_{k, k-1}

1.重投影(上一帧的二维点投影到三维再投影到当前帧的二维坐标中)

基于稀疏模型的特征对齐,寻找同一3D点p在前后两帧光度差最小的Tk,k-1
  • 第1步:根据图像位置和深度将上一帧像素点逆投影到三维空间:知道I_{k-1}帧中的某个特征在图像平面的二维位置\textbf{u}=(u,v)^{T},以及它的深度d_{\mathbf{u}},能够将该特征投影到三维空间得到坐标_{k-1}\textrm{\textbf{p}},即_{k-1} \mathbf{p}=\pi^{-1}\left(\mathbf{u}, d_{\mathbf{u}}\right)。该三维空间的坐标系是定义在I_{k-1}摄像机坐标系的;
  • 第2步:将三维坐标点旋转平移到当前
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值