来源丨深蓝AI
点击进入—>3D视觉工坊学习交流群
01
概述
最近在研究TANDEM算法,是一个实时单目追踪和稠密建图的算法框架。TANDEM的算法框架可以概括为如下的几个部分:
1、位姿计算----在关键帧实施基于滑窗的像素级集束优化;
2、追踪前端----实施直接稠密图片配准,基于全局模型得到的深度图;
3、CVA-MVSNet----使用全部关键帧来预测稠密深度图;
4、全局地图----使用预测的深度图融合成全局地图,表示为TSDF体素表格。
TANDEM的整体架构图如下所示:
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的模型架构图如下所示:
2.3.1单阶段深度计算
因为CVA-MVSNet使用了多阶段的方式来解决了内存损耗的问题,并且不同阶段之间大同小异,因此我们选取一个阶段进行详细分析,然后就可以熟知整个网络模型的作用和功能。
在分析之前,我们先给出模型输入和输出的一些变量的定义。
首先输入的原始图像就是我们获得关键帧的特征信息---- ,这里是从关键帧图像直接通过2D U-Net计算得到的特征信息,需要注意的是,特征信息的下标i表示特征信息的空间维度,而s的范围在1和3之间,表示的是尺度信息,这也体现了不同层次的论文思想。那么,我们可以用一个三维向量来表示 为 ,其中 表示为尺度因子为s的特征维度, ,。
接着就是,由 经过文中可微Warp操作,为3D U-Net提供输入数据----,具体的操作如下:
为参考帧的每个像素定义一个深度假设向量----;
对于每帧获得到的深度特征,通过可微的warp操作,这步操作同样使用到深度假设、相对位姿和相机内参;
经过上面两步操作,为每帧计算一个特征卷。
为了增强多视几何图特征卷,并最终得到,这一步又分为传统方法和本文的改进方法:
一般的MVS方法将不同的视图平等看待,然后使用基于差异的计算指标:,其中,,
本文中,基于滑窗SLAM的设置,关键帧在优化窗口中并不是均匀分布的,新关键帧一般要比旧关键帧的距离小,因此本文优化后的自适应视觉增强方法为:
。
03
数据集和结果
1、训练集
本文训练了两个CVA-MVSNet的模型:一个使用实际的ScanNet数据集、另一个使用拟合数据集Replica数据集,一些结果如下图所示:
对于不可见的序列,本文的训练结果如下图所示:
2、测试集
本文中使用了ICL-NUIM数据集和EuRoc数据集中的Vicon室内序列来评估稠密3D重建和追踪的结果。具体的一些结果如下:
04
结论
TANDEM是一个实时稠密单目SLAM系统,使用了直接像素里程计和多视图几何。尤其提出了CVA-MVSNet使用整个关键帧窗口,预测高质量的深度图;然后提出稠密追踪模式连接相机位姿估计和稠密3D重建,针对于TSDF融合创建的全局3D模型。结果表明,TANDEM获得更好的性能。
本文,我们对TANDEM论文进行了简单的讲解和分析,后续系列我们进一步深入分析论文的细节,以及后面的代码讲解分析。
本文仅做学术分享,如有侵权,请联系删文。
点击进入—>3D视觉工坊学习交流群
干货下载与学习
后台回复:巴塞罗那自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件
后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf
后台回复:3D视觉课程,即可学习3D视觉领域精品课程
3D视觉工坊精品课程官网:3dcver.com
1.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
2.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
3.国内首个面向工业级实战的点云处理课程
4.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
5.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
6.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
7.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)8.从零搭建一套结构光3D重建系统[理论+源码+实践]
9.单目深度估计方法:算法梳理与代码实现10.自动驾驶中的深度学习模型部署实战11.相机模型与标定(单目+双目+鱼眼)12.重磅!四旋翼飞行器:算法与实战13.ROS2从入门到精通:理论与实战14.国内首个3D缺陷检测教程:理论、源码与实战15.基于Open3D的点云处理入门与实战教程16.透彻理解视觉ORB-SLAM3:理论基础+代码解析+算法改进
重磅!粉丝学习交流群已成立
交流群主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、ORB-SLAM系列源码交流、深度估计、TOF、求职交流等方向。
扫描以下二维码,添加小助理微信(dddvisiona),一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。
▲长按加微信群或投稿,微信号:dddvisiona
3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)、源码分享、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答等进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,6000+星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看,3天内无条件退款
高质量教程资料、答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~