实时单目跟踪和稠密建图的算法框架:TANDEM算法

作者 | 匡吉  编辑 | 深蓝AI

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心【目标跟踪】技术交流群

01

概述

最近在研究TANDEM算法,是一个实时单目追踪和稠密建图的算法框架。TANDEM的算法框架可以概括为如下的几个部分:

1、位姿计算----在关键帧实施基于滑窗的像素级集束优化;

2、追踪前端----实施直接稠密图片配准,基于全局模型得到的深度图;

3、CVA-MVSNet----使用全部关键帧来预测稠密深度图;

4、全局地图----使用预测的深度图融合成全局地图,表示为TSDF体素表格。

TANDEM的整体架构图如下所示:

98f2e849cf1d927ccd3edb0570dcf47c.png

02

模块介绍

相关工作这里就不赘述了,主要涵盖了三维重建、RGB-D SLAM和单目SLAM三个方向的方法介绍和一般流程。这里,我们直接给出TANDEM算法框架中几个关键组件的介绍,也即是单目视觉里程计、使用CVA-MVSNet进行稠密深度估计和体素建图。

2.1单目视觉里程计

最近的一些方法,例如:DSO、ORB-SLAM,都是在多帧图像中使用一组稀疏点来追踪,最后计算出相机的位姿。虽然,使用更多的点来联合优化可以带来性能方面的优化,但是这回造成运行时间的显著提高。因此,在TANDEM中提出的视觉里程计,借鉴了DSO中所描述的----直接稀疏窗口优化后端。但是,TANDEM中还用了全局的TSDF模型来获取稠密深度图,这个深度图主要是用在前端的直接图像配准。

简单总结,TANDEM使用了稠密追踪前端和稀疏后端优化相结合的方式来提高追踪性能。

2.2稠密前端追踪

TANDEM前端的特点:

  • 提供实时相机帧频的追踪

  • 作为后端窗口优化的初始化输入

  • 实现前端稠密点追踪(相较于DSO而言)

DSO的前端做法是,一张新的输入帧,基于过去n个关键帧来实施直接配准,而这n帧构建了一个稀疏深度图   ,这个深度图是由优化窗口中所有的点生成而来的。DSO的做法是得到一个稀疏深度图,所以鲁棒性较差。

TANDEM的做法是,构建一个稠密深度图---- ,来自于构建的TSDF模型。具体做法是,对于当前关键帧的每个像素,我们都给它们赋予一个深度值,这个深度值来自于DSO中稀疏VO点深度图,或者就是来自于稠密深度图。这样做的好处,就是相对而言,前端配准是,是稠密追踪实现的。

2.3CVA-MVSNet

首先,可以给出一个简单的分析,CVA-MVSNet就是一个输入是关键帧,输出是对应长宽的深度图(注意,这里输出是一维的),中间使用到具体的模型为U-Net和3DU-Net,这样一说的话,就很好理解这一块的架构。

那么,我们给出输入关键帧的定义---- ,这里   表示的是尺度为的图像,而  就是由前端的视觉里程计计算出来的全局位姿。

CVA-MVSNet的突出点----克服了深度MVS消耗大量内存的问题,简单来说,就是通过多级层次结构实现的,同时还使用了一个自适应的可视增强模块。具体的CVA-MVSNet的模型架构图如下所示:

c6e58f21bc0eff0638cd8bdfa8f12365.png

2.3.1单阶段深度计算

因为CVA-MVSNet使用了多阶段的方式来解决了内存损耗的问题,并且不同阶段之间大同小异,因此我们选取一个阶段进行详细分析,然后就可以熟知整个网络模型的作用和功能。

在分析之前,我们先给出模型输入和输出的一些变量的定义。

首先输入的原始图像就是我们获得关键帧的特征信息---- ,这里是从关键帧图像直接通过2D U-Net计算得到的特征信息,需要注意的是,特征信息的下标i表示特征信息的空间维度,而s的范围在1和3之间,表示的是尺度信息,这也体现了不同层次的论文思想。那么,我们可以用一个三维向量来表示 为 ,其中 表示为尺度因子为s的特征维度, ,。

接着就是,由 经过文中可微Warp操作,为3D U-Net提供输入数据----,具体的操作如下:

  • 为参考帧的每个像素定义一个深度假设向量----;

  • 对于每帧获得到的深度特征,通过可微的warp操作,这步操作同样使用到深度假设、相对位姿和相机内参;

  • 经过上面两步操作,为每帧计算一个特征卷。

  • 为了增强多视几何图特征卷,并最终得到,这一步又分为传统方法和本文的改进方法:

    • 一般的MVS方法将不同的视图平等看待,然后使用基于差异的计算指标:,其中,,

    • 本文中,基于滑窗SLAM的设置,关键帧在优化窗口中并不是均匀分布的,新关键帧一般要比旧关键帧的距离小,因此本文优化后的自适应视觉增强方法为:b057810bfdf84fd2f3e40d93690328af.png

03

数据集和结果

1、训练集

本文训练了两个CVA-MVSNet的模型:一个使用实际的ScanNet数据集、另一个使用拟合数据集Replica数据集,一些结果如下图所示:

3ecf711bbc31406e22e8cdc261be33c0.png

对于不可见的序列,本文的训练结果如下图所示:

770fb0ec4c9f56644c515cb36b3b7485.png

2、测试集

本文中使用了ICL-NUIM数据集和EuRoc数据集中的Vicon室内序列来评估稠密3D重建和追踪的结果。具体的一些结果如下:

6a83699ff7344c806724ce63104266f7.png

8e0ba084fd7bdc1982cbe03309f7250f.png

04

结论

TANDEM是一个实时稠密单目SLAM系统,使用了直接像素里程计和多视图几何。尤其提出了CVA-MVSNet使用整个关键帧窗口,预测高质量的深度图;然后提出稠密追踪模式连接相机位姿估计和稠密3D重建,针对于TSDF融合创建的全局3D模型。结果表明,TANDEM获得更好的性能。

bdd47bde5eefb435d60617393ddf2e1d.png

自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多传感器融合、SLAM、光流估计、深度估计、轨迹预测、高精地图、规划控制、模型部署落地、自动驾驶仿真测试、硬件配置、AI求职交流等方向;

1db7b5bcd52a9b1aa7932c6fadfd88b6.jpeg

添加汽车人助理微信邀请入群

备注:学校/公司+方向+昵称

自动驾驶之心【知识星球】

想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D目标检测、多传感器融合、目标跟踪、光流估计、轨迹预测)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球(三天内无条件退款),日常分享论文+代码,这里汇聚行业和学术界大佬,前沿技术方向尽在掌握中,期待交流!

839bbea383bda81e12e7bbcd9befaf5e.jpeg

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值