点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

作者丨paopaoslam

来源丨 泡泡机器人SLAM

标题: DymSLAM:4D Dynamic Scene Reconstruction Based on Geometrical Motion Segmentation

作者: Chenjie Wang and Bin Luo and Yun Zhang and Qing Zhao and Lu Yin and Wei Wang and Xin Su and Yajun Wang and Chengyuan Li

机构: Wuhan University

来源: RAL

链接: https://arxiv.org/pdf/2003.04569v1.pdf

编译: zhuhu

审核:zhuhu

摘要

大多数SLAM算法都是基于场景是静态的假设。然而,在实践中,大多数真实场景通常包含移动对象。在这封信中,我们介绍了一个动态立体视觉SLAM系统,它能够重建具有刚性运动对象的4D(3D+时间)动态场景。与以前将移动对象视为异常值并忽略它们的框架不同,DymSLAM获得关于动态对象的6DoF运动轨迹和3D模型。采用多运动分割的方法对不同运动对象的运动模型进行分割,得到准确的运动对象模板。除了自身运动外,我们的系统在重建静电背景密集地图的同时,还可以获得运动物体在全局坐标系中的4D(3D+时间)模型和6DOF轨迹。同时,DymSLAM不依赖语义线索或先验知识,适用于未知刚体对象。我们在一个真实的室内环境中进行了实验,在这个环境中,相机和物体都在大范围内移动。结果证明,我们提出的方法是一种最先进的SLAM系统,适用于这种动态环境。

主要工作与贡献

在本研究中,我们提出一种立体动态视觉SLAM系统(DymSLAM)来实现具有刚性运动物体的4D动态场景重建。这是通过将场景分割成多个运动模型来实现的,其中包括基于多运动分割方法的相机运动模型。我们将图像中的每个像素与单个运动模型相关联。然后,我们利用从三维模型到二维图像转换得到的投影掩模来改善边界分割不精确的效果。然后,我们估计每个运动模型的6DOF刚体姿态,并重建每个运动模型的密集的三维点云。最后,将运动物体相对于摄像机的运动和运动物体的三维点云变换到全局参考系中,得到4D(3D+时间)序列。所提出的方法不依赖于语义信息作为初始或先验知识,并且可以基于几何运动分割对未知的移动对象进行分割。

据我们所知,这是第一个立体动态SLAM系统,能够跟踪6DoF姿势,并基于多运动分割重建随时间变化的刚性运动对象的密集3D模型,即使在摄像机和对象都在室内经历广泛运动(在我们的实验中是超过25m的走廊范围)的情况下也是如此。在我们的实验中,这是第一个能够跟踪6DoF姿势并基于多运动分割重建刚性运动对象的密集3D模型的立体动态SLAM系统。贡献如下:

  1. 我们提出了一种动态立体SLAM系统,该系统能够估计摄像机和刚性运动物体在全局坐标系中的6DoF轨迹,同时重建它们的密集3D点云和静电背景的密集地图。

  2. 该系统基于提出的无语义信息的多运动分割方法,对场景的不同运动模型进行分割,在改进边界分割不精确的基础上,得到准确的未知运动目标掩模。

  3. 在室内走廊的真实机器人平台和公共相关数据集上对该动态SLAM进行了评估。实验结果表明,该方法达到了最好的性能。

方法

首先对传入的RGB图像序列进行校正。然后在双目相机的左右帧以及时间上连续的立体帧上对显著的图像特征进行检测和匹配,然后结合所提出的多运动分割的方法,将这些时间匹配的立体特征点聚类为多个运动模型参数实例。这些运动模型对应着相机和每个移动对象的运动。然后,通过在超像素级别应用分配问题,将每个像素和单个运动模型相关联。并且为了补偿边界分割的不准确,我们利用了从运动目标的3D模型投影的掩膜。对当前帧中每个运动模型的6DOF刚体姿态进行估计,经过多运动估计和优化后,输出摄像机和物体在不同运动中的运动轨迹。通过组合新估计的刚体姿势,通过融合标记为属于该模型的点来重建和改进每个运动模型的密集3D点云。最后,将每个物体点云变换为全局坐标系及其轨迹,得到动态场景的4维(3D+时间)点云。

算法框架

多运动物体视觉里程计

本节扩展了我们之前的工作,其中涉及匹配特征点的多运动分割,以及每个运动模型的VO估计(ORB-SLAM2)。整个多目标跟踪的部分如上图所示。

A. 多运动分割

使用现有的LIBVISO2对双目图像进行特征点检测和匹配,并且引入了量化残差的概念,拓展了论文29中用于分割不同运动特征点的方法。对于运动分割来说,离群点是最大的干扰来源,在视觉里程计中也限制了其应用。因此,我们通过通过量化残差来引入置换偏好,通过量化可以减少属于相同模型的inliers偏好的差异并增加抑制异常值干扰的能力。

B. 多运动估计和优化

在本节中,我们首先描述如何将不同的运动模型转换为相机的6dof轨迹以及全局参考帧中的每个移动刚性对象。接下来,我们设计多运动优化方法,同时优化相机的轨迹和移动物体,以进一步提高轨迹精度。

与文献[30]一样,通过使用属于每个运动模型的inliers的传统VO批量估计来估计每个运动模型的轨迹,并且仅使用刚体假设。对于属于移动对象的运动模型,所得到的结果是相对于相机的局部坐标系,而不是全局坐标系中的运动对象的轨迹。所以,我们使用第一帧作为全局参考帧,并且在识别出表示摄像机的运动模型后,估计摄像机和运动对象在全局参考帧中的运动轨迹。对于每个运动对象,根据估计的姿态将3D特征投影到第一帧中以计算运动对象表面点的重心。结果被认为是将每个移动对象与相机相关联的初始变换. 重心通过随时间变化的特征点进行调整和更新,则每个运动对象的运动在全局参考坐标系下可用下列式子计算:

为了更进一步提高轨迹估计的准确性,我们设计了多运动优化策略,包括多运动的局部BA和多运动估计的因子图优化,如下图所示:

图2 多运动估计优化策略

运动对象掩码

A. 标签指定

通过将后续帧的每个点和刚性模型的运动相关联,将其指定给单个标签。为了实现高效的逐个像素的运动分割,我们在超像素级别应用了基于合并超像素分割的标记算法。

B. 掩码投影

在像素级别和得到的掩码上对运动对象进行分割。为了补偿边界的不精确分割,我们利用从3D模型转换为2D图像获得的投影掩模。对于每个运动对象,我们使用其运动估计来将其更新后的3D模型投影到当前帧的2D图像中。

图3 运动掩模,超像素等介绍

稠密重建

按照上述步骤,我们估计摄像机和不同刚体运动物体的运动轨迹,得到运动物体的准确掩模。在本节中,我们将描述如何构建静态背景的密集3D点云地图,同时重建不同运动对象的密集3D模型。密集重建过程的概述如系统框架所示。

A. 静态背景稠密重建

在静态背景稠密重建中,我们仅使用与摄像机运动相关联的像素,并将移动对象的所有像素视为异常值。其中双目重建的部分是基于RTAB map的方法。

B. 运动对象的稠密重建

基于多运动分割和运动对象掩模的结果,我们重建了每个运动对象的3维点云,对于由表示的刚体变换标签的运动对象,我们首先在属于运动对象的立体匹配点对中进行立体稠密匹配。其点云根据已知的相机外参和内参获得,深度信息由当前帧的匹配获得。然后,在连续帧中,每帧点云使用两个相邻帧的自我刚度变换进行缝合。

实验结果

实验中使用ZED双目相机在移动平台上进行测试。

实验设备及结果

结论,讨论及未来工作

本文中,我们介绍了DymSLAM系统,它是一个动态立体视觉SLAM系统,它在估计摄像机和每个运动刚体物体在全局坐标系中的6自由度轨迹的同时,重建运动物体的密集点云和静态背景,以重建动态场景的4维点云。该系统将基于量化残差的方法引入到多运动分割中,能够分割出不同运动对象的运动模型,并将三维模型投影得到的模板进行融合,得到准确的模板。与基于语义分割的方法相比,该方法能够处理未知运动目标。DymSLAM在真实的室内走廊和公共相关数据集中进行了评估。结果证明,DymSLAM可以达到最先进的性能。由此产生的系统可以使机器人获得对环境更好的场景感知,从而使其能够用于高级任务,如动态对象的避障。

在未来的工作中,我们将积极探索连续时间运动估计和密集重建的互惠互利,以及实现可实时使用的框架。同时,我们将尝试将该系统应用到机器人自主导航中,以提高机器人在动态场景中躲避移动障碍物的能力

点击阅读原文, 即可获取本文下载链接。

本文仅做学术分享,如有侵权,请联系删文。

3D视觉精品课程推荐:

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

DymSLAM: 基于几何和运动分割的4D动态场景重建( RAL)相关推荐

  1. 基于无人机的室内设施自主巡检和场景重建探索后利用系统

    对于民用基础设施管理,如锅炉内部.风管和管道,频繁检查和故障检测对于预防事故和最大限度地减少经济损失具有重要意义.传统上,这些检查要求操作员在难以接近且有风险的危险环境中工作.此外,这些设施大多具有复 ...

  2. 动态场景SLAM相关论文总结

    参考文献:VDO-SLAM(动物判别与跟踪).*DynaSLAM(深度学习+多视图几何分割).*CoFusion(语义+运动分割).Meaningful Maps With Object-Orient ...

  3. 据我所知,这是第一个完整实现运动分割、动态目标追踪等的「开源」动态SLAM系统!...

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 今天给大家分享一篇最新文章,VDO-SLAM :一种动态目标感知的视觉SLAM系统,原文名称 VDO- ...

  4. 动态场景下基于实例分割的SLAM(毕业设计开题及语义分割部分)

    动态场景下基于实例分割的SLAM(毕业论文设计思路及流水) 前言 今年选了个比较难的毕设题目,这里记录一下自己思路和流程,为之后的学弟学妹(划掉)铺个方向.会按日期不定期的更新. 一.开题 2019. ...

  5. MIT新研究:基于基本运动能力让机器人自主学习,感知世界

    维金 编译自 TechCrunch 量子位 出品 | 公众号 QbitAI 机器人很擅长做规定好的任务.然而有些时候,将这些信息输入系统要要比让机器人执行任务复杂得多.这也是机器人适合做简单.重复性劳 ...

  6. 三维匹配_基于三维模型的目标识别和分割在杂乱的场景中的应用

    作者:仲夏夜之星 来源:3D视觉工坊公众号 链接: 基于三维模型的目标识别和分割在杂乱的场景中的应用 在杂波和遮挡情况下,对自由形式物体的识别及分割是一项具有挑战性的任务.本文提出了一种新的基于三维模 ...

  7. 基于LabVIEW机器视觉的微小位移动态测量

    基于LabVIEW机器视觉的微小位移动态测量     摘 要:本文采用LabVIEW机器视觉平台开发设计基于USB摄像头的微小位移测量系统.使用LabVIEW软件平台编程控制USB摄像头,采集显微镜中 ...

  8. 使用 Python 的基于边缘和基于区域的分割

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 在这篇文章中,我将重点介绍基于边缘和基于区域的分割技术,在进入细节 ...

  9. ViSP安装之Windows系统基于VS2019编译器编译获得VISP动态库

    Windows系统基于VS2019编译器编译获得VISP动态库 官网地址: Installation from source for Windows with Visual C++ 2019 (vc1 ...

最新文章

  1. 第一天入职,备用vs快捷键大全
  2. 七牛云音视频新功能:音频支持AAC_HE
  3. c语言(int)x 100,【单选题】下列语句执行后,变量a、c的值分别是( ) int x=182; int a,c;c=x/100;a=x%10;...
  4. pyspark 数据写入hive_Pyspark将数据写入hi
  5. 必须掌握的Java基础知识(一)
  6. Android 游戏开发入门 视频+源码
  7. 详述差分进化算法(DE)代码复现
  8. 华为 USG6000防火墙管理员密码重置(配置会清空)
  9. aa44444444444
  10. win11一开机就显示“无法打开这个应用,查看Microsoft store,了解有关Nahimic的详细信息”怎么解决?
  11. 5g理论速度_如何理解5G下载速度?
  12. HMS Core 5,面试必问知识点
  13. [任务书+论文+PPT+源码]基于Android与多媒体的英文学习APP的设计与实现
  14. HTML和CSS内容总结
  15. 美通企业日报 | 科技和能源行业最受中国公众信任;英特尔携手大华发展智能视觉技术...
  16. python爬虫登录12306失败_使用python爬虫模拟12306登录方法
  17. 自动洗车车牌识别系统
  18. max3485和max485区别
  19. java程序占用实际内存大小
  20. 腾讯云云函数收费?python脚本挂回自己路由一样玩

热门文章

  1. weblogic 配置mysql数据源Cannot load driver class: com.mysql.jdbc.Driver的问题
  2. Java中静态关键字的使用方法介绍一
  3. Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式…)介绍(转)
  4. Git -- 基本操作 之 版本回退
  5. Java知多少(中)
  6. IOS Xcode提交代码到github上
  7. mysql基础语句整理
  8. Oracle - 数据库的实例、表空间、用户、表之间关系
  9. 第十二课:小信号分析 (二)
  10. 12月2日,微软副总裁Scott Guthrie为你讲述Silverlight的未来