VLOAM笔记

VLOAM

📌本质上,VLOAM是将LOAM的Odometry线程换成了VO

双线程:与LOAM一致

  • 使用高频(60Hz)VO来做里程计Odometry

  • 然后使用低频(1Hz)Lidar来细化运动估计,并且消除由于视觉里程计的漂移而导致的点云失真

RGBD的问题

  • RGBD有深度信息和RGB图像信息,非常好用。但是!深度信息D比较短,而且不能保证每一个像素都能有对应的D信息

📌VLOAM将激光点云投影到像素平面,将深度和RGB信息联系起来;

VLOAM的三种深度:

(1)激光点云投影过来的深度;

(2)利用先验位姿估计得到的三角化深度;

(3)不可用的深度;(可能就是激光点云投影过来没有对应的像素点)

📌Track:在目标函数中,残差大的特征点对应较小的权重残差大于阈值的特征点直接就视为“异常值”,权重为0

激光点云转深度

  • 将激光点云存储为深度图,然后只保留相机前方的激光点云,而且在一定时间之前接受的点,直接删除;

  • 将深度图缩小到一个恒定的点密度(目的就是为了保证点云更密集,从而在与RGB关联的时候,保证RGB每个像素都有对应的深度值);

  • 将缩小后的深度图投影到RGB图像帧;

📌在球坐标系下,使用距离 + 两个角度 来表示“深度图中的点”,并且存储在二维KDTree中;当特征匹配的时候,从每个特征中找到深度图上最近的三个点,三个点构成一个平面,然后计算特征点到这个平面的距离

这个 “距离”用于特征匹配

  • 但是,深度图中有些特征的距离不可用(可能是没有对应的像素点),但是吧!这些特征已经被追踪了一段时间(因为使用的是KLT光流追踪),所以不想放弃这些点,所以要解决这些点“没有深度”的问题:

使用前一帧的位姿估计,来计算三角化深度;

在这里插入图片描述

  • 绿色的点是与深度图距离相关的特征;

  • 蓝点是三角测量;

系统框图

在这里插入图片描述

  • sweep to sweep refinement step匹配连续扫描之间的点云以细化运动估计,目的是为了消除因为视觉里程计引起的点云畸变;

  • sweep to map registration step匹配并在地图上注册registration点云;(其实就是LOAM的scan2map)

📌VLOAM有两个线程:(1)视觉VO(文中称为DEMO) (2)LOAM

  • 视觉VO:Harris + KLT光流;

为了均匀分布图像的视觉特征,将图像划分为5 - 6个相同的子区域,每个子区域提供最多10个特征

  • 融合高频和低频,最终发布高频位姿:

在这里插入图片描述

高频VO实现粗略的位姿估计(60Hz),低频的Lidar细化位姿估计(1Hz);在完成scan2map之后将VO和Lidar线程合并,输出高频的位姿估计;

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值