DSO算法初探

本文介绍了DSO(Direct Sparse Odometry)算法,一种基于直接法的视觉里程计,用于构建稀疏点云地图。文章讨论了直接法的优势,如在少纹理区域的鲁棒性,以及DSO与其他直接法的不同,如结合光度模型进行参数估计。还详细阐述了DSO的几何和光度相机标定、光度误差、滑动窗口优化和Gauss-Newton优化等核心概念。
摘要由CSDN通过智能技术生成

笔者出于基于特征点的SLAM无法构建出让人看得懂的点云地图转而研究基于直接法的SLAM。

DSO(Direct Sparse Odometry)是慕尼黑工业大学Engel于2016年发布在arXiv上的一种基于直接法,构建稀疏点云地图的视觉里程计。

采用direct和sparse相结合的原因:

  1. 直接法中并不要求点特征需要识别它自己,从而可以允许更精细的几何表示。
  2. 可以对所有像素点进行均匀采样,构建更完善的模型,在少纹理特征区域更具鲁棒性。
  3. 增加几何先验信息的缺点是引入了几何参数之间的关联,造成Hessian矩阵不稀疏,如下图所示。
  4. 当前得到的先验信息复杂度有限,尽管局部更精确,视觉效果更好,但是作者发现先验信息会引入一个bias,降低系统在长时间、大尺度工作时的精度。

与其他直接法的不同:

  • 将光度模型、集合模型结合起来,对相机内参、相机姿态、像素点的深度等参数做联合估计
  • 由于引入了光度模型,算法忽略了其他直接法采用的对图像进行平滑的预处理,而是将相机看做一个传感器,对图像像素进行均匀采样,进行计算。
  • 提出的模型集成了完整的光度校准,考虑了曝光时间、透镜渐晕和非线性相应函数。
  • 通过实验验证,该算法在跟踪精度和鲁棒性方面性能超过了state-of-the-art的算法水平。

模型:

直接法对图像成像的过程进行了全面的建模,包含几何模型、光度模型。注意光度模型在直接法中很重要,直接法直接利用像素上的光强信息进行运算。而特征点法由于对光强改变有很好的鲁棒性,所以光度模型对基于特征点的SLAM系统用处不大。

几何相机标定(径向畸变在预处理时被矫正):

投影函数: ; 

反投影函数: 

光度相机标定:

非线性相应函数:

透镜衰减:

辐射度(irradiance&#x

由于代码实现的篇幅较长,这里只介绍各算法的代码实现思路,具体实现方式可以参考相关文献和代码库。 1. SVO 算法的代码实现思路: SVO 算法的代码实现可以分为以下几个步骤: - 特征提取和匹配:使用 FAST 特征检测器和 FREAK 描述子提取图像的特征点和描述子,并对左右图像的特征点进行匹配。 - 光流估计:使用 Lucas-Kanade 光流法对相邻两帧图像中的特征点进行跟踪,估计其在当前帧的位置。 - 深度估计:使用 PatchMatch 算法对左右图像中的特征点进行深度估计,得到稠密的深度图。 - 位姿估计:使用 PnP 算法和 RANSAC 方法对当前帧的位姿进行估计。 - 重建点云:使用三角化算法对左右图像中的匹配点进行三角化,得到三维点云。 - 优化:使用非线性优化方法对位姿和深度进行优化,得到更精确的估计结果。 2. DSO 算法的代码实现思路: DSO 算法的代码实现可以分为以下几个步骤: - 特征提取和匹配:使用 FAST 特征检测器和 BRIEF 描述子提取图像的特征点和描述子,并对左右图像的特征点进行匹配。 - 光流估计:使用金字塔光流法对相邻两帧图像中的特征点进行跟踪,估计其在当前帧的位置。 - 直接法匹配:使用直接法对相邻两帧图像中的像素值进行匹配,得到稀疏的深度图。 - 位姿估计:使用 PnP 算法和 RANSAC 方法对当前帧的位姿进行估计。 - 重建点云:使用三角化算法对左右图像中的匹配点进行三角化,得到三维点云。 - 优化:使用非线性优化方法对位姿和深度进行优化,得到更精确的估计结果。 3. LSD-SLAM 算法的代码实现思路: LSD-SLAM 算法的代码实现可以分为以下几个步骤: - 特征提取和匹配:使用尺度空间极值检测器和 SIFT 描述子提取图像的特征点和描述子,并对左右图像的特征点进行匹配。 - 光流估计:使用金字塔光流法对相邻两帧图像中的特征点进行跟踪,估计其在当前帧的位置。 - 深度估计:使用半稠密深度估计算法对左右图像中的像素点进行深度估计,得到半稠密的深度图。 - 位姿估计:使用 PnP 算法和 RANSAC 方法对当前帧的位姿进行估计。 - 重建点云:使用三角化算法对左右图像中的匹配点进行三角化,得到三维点云。 - 优化:使用非线性优化方法对位姿和深度进行优化,得到更精确的估计结果。 需要注意的是,各算法的具体实现方式可能有所不同,而且在实际应用中还需要考虑多种因素,如噪声、遮挡、动态物体等,因此需要综合考虑算法的精度、效率和鲁棒性等因素。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值