[代码学习] Real-time Depth Enhanced Monocular Odometry概述

本文介绍了一种结合单目相机与深度信息的实时深度增强单目里程计方法,通过特征点提取与分类,利用不同公式求解位姿,再进行BA优化,实现精准运动估计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《Real-time Depth Enhanced Monocular Odometry》是Ji Zhang等大牛于2014年发表在IROS的一篇论文。这篇论文将普通的单目相机和其他设备获取的深度信息相结合,设计了一个里程计。

论文的获取链接:论文链接

源代码的获取链接:demo_rgbd以及demo_lidar

这篇文章的大致思路是通过单目相机获取RGB图像,通过LiDAR或者是RGB-D相机获取深度信息。然后对RGB图像进行特征点的提取,然后对深度图进行处理,将相邻两帧图像能够匹配上的特征点所对应的深度值进行分类,分为传感器获取的,利用三角化、kd-tree恢复的,以及无法获得深度信息的,这三类。然后根据分类利用不同的公式,进行位姿的求解。接着最后是BA优化,这里的BA优化是每5帧选择一帧,也就是40帧挑选8帧出来进行优化。整体的系统框图如下图所示。

接着对这篇论文进行motion estimation时利用到的公式进行一些简单的推导如下:

(R_1-\overline{x}_i^kR_3)X_i^{k-1}+T_1-\overline{x}_i^kT_3=0

(R_2-\overline{y}_i^kR_3)X_i^{k-1}+T_2-\overline{y}_i^kT_3=0

上述这两个公式是论文中的公式(3)和公式(4),对应的情况是k-1帧的特征点的深度信息已知。表达了待求的第k帧的位姿R和T的关系。这里利用第k帧对应的深度值z_i^k=R_3X_i^{k-1}+T_3,带入到论文的公式(2)中即可得出。

[-\overline{y}_i^kT_3+T_2,\overline{x}_i^kT_3-T_1,-\overline{x}_i^kT_2+\overline{y}_i^kT_1]R\overline{X}_i^{k-1}=0

这个公式是论文的公式(6),对应的情况是k-1帧的特征点的深度信息未知。表达了待求的第k帧的位姿R和T的关系。这个公式的推导这里仅作口头描述。对于论文中的公式(5),将x_i^k对应的等式的左右两边同时乘以T_3,将z_i^k对应的等式的左右两边同时乘以T_1,将这两个新得到的等式的左右两边分别相减,提取公因式,可以得到z_i^kz_i^{k-1}的比值关系式。同理对y_i^k对应的等式和z_i^k对应的等式进行操作,也得到一个z_i^kz_i^{k-1}的比值关系式,这两个比值的关系式是相等的,于是交叉相乘化简就得到了论文中的公式(6)。

论文代码运行的注意事项:由于代码比较老,在ubuntu16.04上运行时会报很多问题,推荐在14.04上跑。并且需要适当修改CmakeLists.txt等。

参考博客:这几篇博客的博主将DEMO误认为是VLOAM

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值