用于自动驾驶的大规模三维视觉语义地图的构建

news2024/9/22 13:30:19

文章:Vision-based Large-scale 3D Semantic Mapping for Autonomous

Driving Applications

作者:Qing Cheng,Niclas Zeller,Daniel Cremers

编辑:点云PCL

欢迎各位加入知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。

公众号致力于点云处理,SLAM,三维视觉,高精地图等领域相关内容的干货分享,欢迎各位加入,有兴趣的可联系dianyunpcl@163.com。未经作者允许请勿转载,欢迎各位同学积极分享和交流。

摘要

本文提出了一种完整的流程,基于立体相机系统实现的3D语义地图构建,该流程包括直接稀疏视觉里程计前端以及全局优化的后端,包括GNSS集成和语义三维点云标记。我们提出了一种简单但有效的时间投票方案,改善了3D点云标记的质量和一致性,并对KITTI-360数据集进行了定性和定量评估。结果显示我们提出的投票方案的有效性,以及该流程在高效大规模3D语义地图构建方面的能力,此外还展示了使用车队收集的数据生成的一幅覆盖8000公里道路的非常大规模语义地图,展示了我们流程的大规模地图构建能力。

主要贡献

目前的状态是除了在线感知之外,环境模型通过静态道路设施的拓扑信息来进行补充,HD地图可以提供冗余丰富的信息,以支持在线传感器数据,然而,由于道路基础设施的快速变化,特别是在城市环境中,保持这类地图的实时性非常重要。因此,与昂贵的建图传感器和手动标注过程相比,轻量级且可扩展的在线建图流程变得更加受青睐。本文提出了一个完整的基于视觉的流程,旨在创建可扩展且实时的地图。我们的流程仅通过立体视觉系统生成大规模的3D语义地图,如图2所示。

e25612b03c1155c0d9e1bc7becf09176.png

图2:所提出的流程生成的3D语义地图,针对KITTI-360数据集的序列0。左侧:由直接视觉里程计(VO)生成的稀疏点云。中间:语义3D点云。右侧:提取的街道级信息,包括道路、人行道、交通标志/信号灯。由于生成的语义地图具有高精度和高质量,可以进一步进行矢量化,用于生成高精地图。

我们相信所提出的流程展示了纯视觉化建图系统在自动驾驶应用中的潜力,并可以扩展到提取车道标线等信息,尽管目前尚未提供完全矢量化的高精地图,图1展示了我们的方法可以基于车队创建城市规模的地图。

我们的具体贡献如下: 

• 一个完全自动的基于视觉的3D建图流程,能够高效地创建大规模的3D语义地图。 

• 一个简单而有效的时间一致的点标记方案,通过考虑视觉里程计前端提供的结构信息,提高了3D点标记的准确性。 

• 一个用于基于视觉的3D语义地图流程的基准,融合了3D激光雷达和2D图像的地面真值标签。

主要内容

所提出的3D语义建图系统仅利用立体图像和可选的传感器数据,如GNSS(全球导航卫星系统)进行全球定位和IMU测量,图3显示了我们语义建图流程的概述。

0d1136bc320a826e040e4a35a65411df.png

图3:语义建图流程,直接视觉里程计前端根据一系列立体图像估计相机的相对位姿和环境的稀疏3D重建,分割模块为VO选择的立体相机图像预测稠密的2D语义标签作为关键帧,基于VO的输出和2D语义标签,生成临时一致的3D点标签,如果有的话,可以通过回环闭合检测和RTK-GNSS测量的整合来进行全局优化以补偿漂移。

我们的流程中的直接视觉里程计模块估计相机的相对位姿和环境的稀疏3D重建,基于回环闭合检测,进行全局地图优化,如果有的话,RTK-GNSS测量结果被整合以获得地理参考和全局准确的地图,使用先进的语义分割网络为每个立体图像的像素生成准确的语义标签,这些图像是由VO前端定义的关键帧,此外临时一致标注模块可以基于VO的输出和2D语义标签生成临时一致的3D点标签(。当利用GNSS数据将3D重建提升到全球地理参考框架时,可以通过将车队的重建结果拼接在一起来创建城市规模的地图,如图1所示。

10f6450fad1189a36e9512371b83c58f.png

图1:柏林的大规模语义地图,左侧:我们使用车队的车辆生成了一幅覆盖柏林8000公里道路的大规模语义地图,右侧:语义地图的局部放大部分展示了地图的精细3D重建细节。

A. 视觉里程计和3D建图 

所提出的语义建图流程的核心是一种先进的视觉SLAM算法,为了提供关于3D环境的丰富信息,需要对周围环境进行一定稠密级别的详细重建,所提出的语义建图流程依赖于直接SLAM前端进行3D地图生成,与间接(基于关键点的)SLAM方法相比,它提供了更密集和更详细的环境重建。具体而言,是利用了一种直接稀疏SLAM形式,该形式基于立体图像进行工作,通过局部光度束调整,同时估计六自由度(6DoF)姿态和环境的稀疏3D重建,并根据光度能量函数进行优化。此外,如果可用,我们的VO系统还能够紧密集成来自惯性测量单元(IMU)的惯性测量,通过将VO输出与GNSS测量数据融合,并进行闭环检测,我们获得了一个全局一致的3D地图。

B. 语义分割 

在我们的流程中,语义分割在配置我们的语义点云质量基线方面发挥了重要作用,由于已经存在许多优秀的工作,我们基于这些优秀的工作构建了我们的流程。由于我们的流程的模块化特性,语义分割组件仅使用图像,因此与流程的其他部分是独立的,因此,任何最先进的方法都可以集成到我们的流程中, 在本文中,我们基于[50]构建我们的流程。在所有开源提交的作品中,[50]提出的工作在KITTI语义分割基准上表现最佳,通过使用联合图像-标签传播模型生成的合成样本来扩充训练集,并结合边界标签松弛策略使模型对噪声边界具有鲁棒性,它实现了最先进的性能, 在我们的流程中,语义分割模块为VO模块定义的每一对来自立体相机的图像预测了全分辨率的语义地图,然后将连续的地图输入到具有时间一致性的标签模块中。

C. 时间一致性标签 

尽管基于图像的语义分割的深度神经网络在过去几年中取得了显著的改进,但这些网络仍然存在预测标签中的噪声以及在时间序列图像的估计中的时间不一致性,一方面,由于透视成像过程,物体的外观通常会发生显著变化,另一方面,DNN的预测能力仍在发展中,因此常常会出现不完全一致的估计结果, 然而,就自动驾驶的任务而言,人们通常更关注时间上一致的三维语义标签,而不是图像空间中的二维标签,因此,我们提出了一种简单但有效的方案,仅从图像中获得准确且一致的三维标签。在B节中描述的分割过程中,序列中的各个图像被视为相互独立的,而直接的VO前端隐含地建立了连续图像之间的对应关系,因此,我们可以利用这些对应关系来提高3D点标签的质量。

D 生成带有语义标签的3D点云

基于B节和C节中介绍的模块能够为VO生成的点分配语义标签,最后这些带标签的2D点被投影到3D空间,并转换为一个全局一致的3D坐标系,形成了一个稀疏的3D语义地图,就像图2中的示例一样。

实验

我们在KITTI-360数据集上对我们的方案进行评估,所提出通过融合KITTI-360数据集中2D图像和3D LiDAR点的标签,为生成的3D点生成改进的真值语义标签。我们展示了定量和定性的结果,并展示了通过临时一致的标注所实现的性能改进。

表格I展示了每个类别的IoU和mIoU的评估结果,表格II以类别为基础展示了mAcc和OA。这些类别相关的测量结果表明,我们的方法在主要静态类别(如道路、人行道、建筑和植被)以及一些动态类别(如汽车、卡车和公交车)上表现良好,因为这些类别中的大多数对象在这些序列中没有移动。通过比较表格I和表格II,我们可以得出结论,我们的方法在精确度方面优于召回率,尤其是在表示小物体的类别(如交通标志、红绿灯、自行车、人)上。这些小物体具有更复杂和拉长的边界,边界附近的点更难以完全分类。此外,与小物体相对应的点数量很少,因此一个错误的预测可以大幅降低IoU和mAcc。因此,大类别的结果比小类别好。

bd5e657be4bde9b9dc6c8854b90f5348.png

所提出的时间一致性标注(TCL)修正了连续帧之间主要出现在物体边界上的不一致预测。因此,TCL在小物体(如电线杆、摩托车、自行车和人)上表现优于基准模型。此外,立体版本明显优于单目版本。

我们的方法生成的语义点云标签的定性结果显示在图6中,展示了TCL如何提高标签估计的准确性。

651eb694a47916b401ed662ac1334c07.png

 图6:我们方法生成的语义点标签,稀疏点位于一个关键帧中,与KITTI-360的2D地面真值标签和图像叠加,这仅是优化窗口中所有点的子集。两行代表一个示例,其中第一行和第二行分别显示完整图像和缩放窗口中的预测结果。列显示(左)稀疏的地面真值标签,(中)基准模型预测的标签,(右)TCL估计的标签。基准模型错误预测但经过TCL修正的点用绿色框标出,TCL无法修正的点用红色框标出。

此外,图5展示了我们的方法从KITTI-360数据集的第9序列生成的整个大规模地图。

a49f92b7189f8b900d549910815f73a4.png

图5:由提出的方法生成的大规模语义地图,图中显示了来自KITTI-360数据集的第9序列的完整全局一致重建,缩放的部分展示了细粒度的重建细节。

总结

我们提出了一个大规模语义建图方案,将最先进的直接稀疏VO前端和具有全局优化和基于图像的语义分割的后端结合起来,证明了通过整合由VO建立的时间对应关系,可以改善语义分割网络的预测结果,此外,我们展示了该方案能够利用车队生成覆盖数千公里道路的城市规模语义地图,这样的大规模语义地图可以作为生成完全矢量化高精地图的中间结果,此外,我们认为结合最先进的密集重建方法,可以进一步构建大规模的语义三维语义地图。

以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除

d7865378c5ed5178da14d69fd55064a2.png

扫描二维码

                   关注我们

让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入知识星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。

分享与合作方式:微信“cloudpoint9527”(备注:姓名+学校/公司+研究方向) 联系邮箱:dianyunpcl@163.com。

为分享的伙伴们点赞吧!

0609677719930a39c9189a3fb21012ed.gif

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

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

相关文章

网络编程——Udp套接字

文章目录 1. 简单的UDP网络程序1.1 日志的打印1.2 服务端初始化1.3 启动服务器并提供服务1.4 客户端1.5 客户端发送的消息1.6 服务端的构造函数和析构函数1.7 本地测试1.8 服务端回复消息给所有客户端 1. 简单的UDP网络程序 我们把udp的协议封装成一个类。 下面我们就开始认识…

SpringBoot使用Swagger配置API接口文档

💧 概述 Swagger是一个用于设计、构建和文档化 RESTful API 的开源框架。它提供了一组工具,使得开发人员能够更轻松地定义、描述和测试API接口。 具体来说,Swagger包含以下几个核心组件: Swagger规范(Swagger Specif…

【CTF-Reverse】IDA动态调试,反调试技术

在本专栏前两篇文章中,带领大家讲解了逆向加密算法,AES,TEA,RC4,Base64加密算法,并带领大家识别各种密码算法特征,这一篇文章来带领大家学习在逆向过程中的动态调试:IDA动态调试,反调试技术。 …

5SHY3545L0016 3BHB020720R0002可控硅模块IGCT

​ 5SHY3545L0016 3BHB020720R0002可控硅模块IGCT 5SHY3545L0016 3BHB020720R0002可控硅模块IGCT 1) dcs系统往往具有丰富的自诊断功能。根据报警,可以直接找到故障点,并且还可通过报警的消除来验证维修结果。 2) 通信接头接触不良会引起通信故障,确认通信接头接触不良后,可以…

ssm企业网站的设计与实现-计算机毕设 附源码82639

ssm企业网站的设计与实现 摘 要 科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代。在现实运用中…

docker安装sentinel

关于如何安装docker 可以看我的这篇文章 ​​​​​​http://t.csdn.cn/3jKPm 第一步:拉取镜像 docker pull bladex/sentinel-dashboard 这里不加版本号默认拉取最新版本 第二步:查看已经安装的镜像 docker images 看到这个就是安装好了 第三步&…

基于Java+Swing实现飞机大战游戏

基于JavaSwing实现飞机大战游戏 一、系统介绍二、功能展示三、其他系统四、获取源码 一、系统介绍 基于Java的飞机大战游戏主要需要我方飞机和敌方飞机,还有子弹,特殊nPC,开始背景,结束背景,以及背景音乐。我方飞机可…

chatGPT对企业的发展有什么影响

ChatGPT目前正在全世界范围内掀起风暴,成为炙手可热的一个名词。作为基于人工智能的工具的最新产品,目前ChatGPT呈现给我们的似乎只是足够有趣,且从目前已知的信息来看,它似乎还没有任何商业运作相关的计划,大多应用聚…

webrtc stun协议

STUN(Simple Traversal of User Datagram Protocol Through Network Address Translators),即简单的用UDP穿透NAT,是个轻量级的协议,是基于UDP的完整的穿透NAT的解决方案。它允许应用程序发现它们与公共互联网之间存在…

死磕AI大模型网络,鹅厂出招了!

2023年,以ChatGPT为代表的AIGC大模型全面崛起,成为了整个社会关注的焦点。 大模型表现出了强悍的自然语言理解能力,刷新了人们对AI的认知,也掀起了新一轮的“算力军备竞赛”。 大家都知道,AIGC大模型的入局门槛是很高的…

西门子S7-1200系列PLC输入/输出接线

西门子S7-1200是一款紧凑型、模块化的PLC,可完成简单逻辑控制、高级逻辑控制、HMI 和网络通信等任务。下面分享S7-1200系列PLC输入/输出接线图给大家。 CPU 1211C 接线图 CPU 1211C AC/DC/继电器 (6ES7 211-1BE40-0XB0) ① 24 VDC 传感器电源 ② 对于漏型输入将负…

KingbaseES的学习心得和知识总结(三)|Kingbase数据库性能调优工具sys_kwr插件的简介和使用

目录结构 注:提前言明 本文借鉴了以下博主、书籍或网站的内容,其列表如下: 1、KingbaseES V8产品文档首页,点击前往 2、Kingbase 文档库,点击前往 3、北京人大金仓信息技术股份有限公司 官网首页,点击前往…

单片机——时间表程序加仿真

一、程序 #include <REG52.h> #include "main.h" sbit key1P3^0; sbit key2P3^1; sbit key3P3^2; sbit key4P3^3; sbit SWP1^0; unsigned char code SEG[]{0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x8E,0x86}; unsigned char i,cp,cp1,flash,key…

Python小白必看

Python学习计划&#xff1a; 1.先学习Python基础知识&#xff0c;包括&#xff1a; 变量、数据类型、运算符条件语句、循环语句函数、模块、包 2.掌握Python的常用库和框架&#xff0c;例如&#xff1a; NumPy&#xff1a;用于科学计算、数据分析等Pandas&#xff1a;用于数…

Vue表单验证,表单填写完成无法通过rules验证问题

表单校验使用的是ElementUI官网的表单校验规则&#xff0c;但是表单在填写完成后还是通不过校验&#xff0c;这就需要进行相应的检查 1.检查rules与ref&#xff0c;rules与ref的名字可以随便定义&#xff0c;但是要确保在这块写的与在data中定义的一致 2.检查<el-form-ite…

Pandas 解决保存H5文件发生异常问题

代码&#xff1a; #保存h5文件 #指定文件路径和读写模式 hdpd.HDFStore(mystock.h5,w) #将my的数据存入到hd中 hd[data]my #关闭文件 hd.close() 发生异常&#xff1a; 原因&#xff1a;缺少pytables 解决&#xff1a; 执行命令 pip install tables 安装好之后重启jupyter内核…

2023年1月至4月天猫平台美妆品类销售数据分析

如今&#xff0c;随着人们消费观念的突破&#xff0c;越来越多的人用美妆来诠释个性表达&#xff0c;美丽经济获得更多关注&#xff0c;化妆品消费理念逐渐增强&#xff0c;因此&#xff0c;美妆市场也形成了较大的规模。 根据鲸参谋电商数据显示&#xff0c;2023年1月至4月&am…

争取一文说透NuGet

一、NuGet是什么? NuGet是一个为大家所熟知的Visual Studio扩展&#xff0c;通过这个扩展&#xff0c;开发人员可以非常方便地在Visual Studio中安装或更新项目中所需要的第三方组件&#xff0c;同时也可以通过NuGet来安装一些Visual Studio的插件等。 二、官网&#xff1a;…

驱动开发:内核读写内存多级偏移

让我们继续在《内核读写内存浮点数》的基础之上做一个简单的延申&#xff0c;如何实现多级偏移读写&#xff0c;其实很简单&#xff0c;读写函数无需改变&#xff0c;只是在读写之前提前做好计算工作&#xff0c;以此来得到一个内存偏移值&#xff0c;并通过调用内存写入原函数…

Qt绘图高级编程-绘制文本

注意&#xff1a;以下代码是在paintEvent函数中使用的&#xff0c;坐标是在文本的左下角。 1、设置字体样式 /*-----------1、设置字体样式-----------*///设置画家写字的字体//字体名&#xff0c; 字体大小&#xff0c;粗体&#xff0c;是否斜体QFont font( "楷体"…