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

news2024/11/23 10:24:44

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提供输入数据----,具体的操作如下:

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

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

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

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

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

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

03

数据集和结果

1、训练集

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

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

2、测试集

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

04

结论

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

本文,我们对TANDEM论文进行了简单的讲解和分析,后续系列我们进一步深入分析论文的细节,以及后面的代码讲解分析。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/102720.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何找回电脑回收站删除的文件, 10种恢复工具方法!

你想取回你的回收站删除的文件吗?无论是图像、视频还是文档,我们的设备都会存储所有内容。您可能不小心删除了数据,或者由于其他原因而消失了。要恢复您的文件,您可以访问技术人员或下载任何最好的文件恢复软件。 如果您选择第二…

怎样把电脑D盘合并到c盘?相邻的分区怎么合并到C盘

因为C盘是重要的系统盘,系统用户设置文件夹,包括各个用户的文档、收藏夹、上网浏览信息、配置文件,不能随意删除。如果C盘空间不足,就会影响到电脑的整体运行速率,会导致电脑卡顿,要想彻底地解决这种情况&a…

HTML期末作业课程设计期末大作业——电影网页制作

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置,有div的样式格局,这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 精彩专栏推荐&#x1f4…

PHP序列化和反序列化漏洞学习

目录 PHP基础知识: 类的结构: 序列化 反序列化 魔术方法 字符串逃逸 PHP基础知识: 类的结构: 常见访问权限修饰符: public:公共的,在类的内部、子类中或者类的外部都可以使用,不受限制;p…

【GO】 K8s 管理系统项目[API部分--Daemonset]

K8s 管理系统项目[API部分–Daemonset] 1. 接口实现 service/dataselector.go // daemonCell type daemonSetCell appsv1.DaemonSetfunc(d daemonSetCell) GetCreation() time.Time {return d.CreationTimestamp.Time }func(d daemonSetCell) GetName() string {return d.Na…

高性能的Java IDE——IntelliJ IDEA v2022.3全新发布

IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。 I…

怎样在电脑上录制ppt课件?如何录制课件讲解视频

怎样在电脑上录制ppt课件?在当前的环境下,大部分学生都是在家进行上网课,本文就给大家分享几款非常简单实用的录制教学视频的工具。 一、PPT录屏 在windows系统中有个常用软件就是ppt,ppt也能够录屏,只是我们大家都忽…

postgresql数据库流复制

primary和standby在同一服务器的不同目录下。 primary: /var/postgre/data standby: /var/postgre/data1 1. 加账号 (也可以使用postgres账号) [postgresv-vlxsz-devdb01 data]$ psql psql (14.1) Type "help" for help. postgres# create role replica with r…

自动化制药设备中PLC如何进行远程监控?有何应用场景

随着科学技术水平的不断提高,制药设备也逐步走向自动化。自动化制药设备实现到精确的位置定位,实时的过程监控,快速的网络通讯,在到现场的每个动作的执行,具备高效率的生产特点。PLC作为现在工业设备控制系统的核心&am…

php-fpm 的状态查看和php-fpm 调优随笔

php-fpm status 配置 1. 找到php-fpm的配置文件,将 pm.status_path /status 注释去掉 重启php-fpm 2. 在nginx 中配置一个server块或者配置一个location 3. 最后通过curl 或者 http 请求可以看到php-fpm 的状态 可以带着参数访问,json、xml、html fu…

Android -- 每日一问:在项目中使用AsyncTask会有什么问题吗?

经典回答 那我们考查 AsyncTask 会问些什么呢?得先问问会不会用吧,看看知不知道有 onProgressUpdate 方法。 其次问一下是怎么理解 AsyncTask 的机制,有没有看过它的源代码? 这个问题主要看对方是否对 Android 的东西有好奇心&am…

夜天之书 #69 企业开源该选什么软件许可证?

开源软件和自由软件的概念与其许可证紧密绑定。通常,开源软件被定义为使用 OSI 认可的,即符合开源定义[1]的许可证来分发的软件,而自由软件被定义成使用 GPL 或说 Copyleft 式许可证分发的软件。尽管今天人们最关心的可能是软件的生产过程即如…

通过展开序列ISTA(SISTA)算法创建的递归神经网络(RNN)(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 递归神经网络(recursive neural network)是具有树状阶层结构且网络节点按其连接顺序对输入信息进行递归…

element表格去除border边框同时有竖直方向的边框

为什么要去除boder边框,原因是boder的边框与页面的背景色相同,然后显得表格内凹了一个像素 要实现的需求是表格去除border边框同时添加竖直方向的边框 但是如果不添加boder属性,表格则没有竖直方向的边框 这种下无内凹,但是显得…

ICV:上半年全球市场规模达20.4亿美元,超声波雷达仍具有竞争力!

全球前沿科技咨询机构ICV近期发布了全球车载超声波雷达的市场分析报告。ICV在报告中指出,在当前的自动驾驶发展阶段,超声波雷达在一众传感器中仍具有较强竞争力,其中APA类型超声波雷达的渗透率上升空间很大。2022年上半年中国的超声波雷达市场…

kettle - get请求

文章目录前言kettle - get请求前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!! kettle - get请…

学Python爬虫好找工作吗?要学到什么程度?

Python的火爆,同时也带动了Python爬虫岗位的的极大需求。可能有些人想问了,学Python爬虫真的好找工作吗?要学到什么程度?根据各大招聘网站的数据反馈,目前市场上对Python爬虫工程师的需求比较大。但是这并不意味着学习…

【Redis技术专题】「高可用技术基础」一同分析一下Redis高可用的“基石”之主从架构的本质原理解析

📕技术箴言 当心中有更高的山峰去攀登,就不会在意脚下的泥沼。 📕前提概要 Redis高可用的方案包括:持久化、主从复制(及读写分离)、哨兵和集群(Cluster)。 📕&#x1f…

分布式注册服务中心etcd在云原生引擎中的实践

作者:王雷 etcd是什么 etcd是云原生架构中重要的基础组件,由CNCF孵化托管。ETCD是用于共享配置和服务发现的分布式,一致性的KV存储系统,是CoreOS公司发起的一个开源项目,授权协议为Apache。etcd 基于Go语言实现&…

vivo 推荐业务 x DeepRec:全链路优化实践

作者: vivo - 人工智能推荐团队:何鑫、李恒、周健、黄金宝 背景 vivo 人工智能推荐算法团队在深耕业务同时,也在积极探索适用于搜索/广告/推荐大规模性稀疏性算法训练框架。分别探索了 tensornet/XDL/tfra 等框架及组件,这些框…