LESS-Map:用于长期定位轻量级和逐渐演进的语义地图方案

作者:dianyunPCL  | 来源: 点云PCL

文章;LESS-Map: Lightweight and Evolving Semantic Map in Parking Lots for Long-term Self-Localization

作者:Mingrui Liu , Xinyang Tang , Yeqiang Qian , Jiming Chen , and Liang Li

编辑:点云PCL

摘要

精确且长期稳定的定位对于停车场内的行车任务,如自动驾驶或自动代客泊车等,至关重要。现有方法依赖于固定且内存效率低下的地图,缺乏强大的数据关联方法,不适用于精确的定位或长期地图维护。本文提出了一种基于地面语义特征、利用低成本摄像头的新型地图制作、定位和地图更新系统,提出了一种精确且轻量级的参数化方法,用于建立改进的数据关联,实现厘米级别的精确定位。此外还提出了一种新颖的地图更新方法,通过对参数化的语义特征实现高质量的数据关联,允许在重新定位过程中进行连续地图更新和细化,同时保持厘米级别的准确性。在实际实验中验证了所提方法的性能,并与最先进的算法进行了比较。所提出的方法在配准过程中平均准确性提高了5厘米。生成的地图仅占用450 KB/km的紧凑存储空间,并通过连续更新适应不断变化的环境。

a2831c6682390577db26a2be0df5432a.png

图1. 左上角的图像描述了一个停车场场景,而更大的图像表示我们为停车场建立的地图,提出了一种轻量级的语义特征表示,为车辆实现厘米级别的定位精度。

主要贡献

现有方法缺乏对地面语义信息的强大参数化,导致在制图和定位过程中缺乏强大的数据关联,这个不足会对定位的准确性产生不利影响,同时对地图的长期更新能力有所限制。因此,在这项工作中,我们提出了一种用于地面语义特征的准确且轻量级的参数化方法,以帮助提高制图和定位的准确性和效率。此外提出了一种新颖的地图更新方法,允许在重新定位过程中进行连续地图更新和细化,同时保持厘米级别的准确性。本工作的贡献总结如下: 

  • 提出了一种用于地面语义特征的新型参数化方法,以实现更高效的位姿估计和更强大的数据关联。 

  • 提出了一种轻量级的地图维护方法,可以通过后续车辆的定位结果进行更新,实现厘米级别的定位精度。 

  • 提供了一个完整而实用的地图制作、定位和地图更新流程,通过实际实验在室外和室内场景中表现出可靠性。

内容概述

系统概述 

使用四个全景鱼眼摄像头、惯性测量单元(IMU)和车轮编码器来捕捉周围环境并估算车辆的轨迹。所提出的算法包括两个主要模块:地图构建和定位,如图2所示。

46e5c2a0bf0b437ac620f418e931b7e7.png

图2. 所提出算法的概览。我们使用四个全景摄像头提取精确参数化的地面特征。系统主要分为两个部分。第一个(左侧)部分是地图构建部分,当首次进入环境时创建一个全局地图。第二个(右侧)部分是定位和地图更新部分,它进行定位并使用新捕获的环境数据更新先前的地图。

  1. 地图构建:当车辆首次进入环境时,一个基本任务是构建全局地图,作为后续定位和地图更新的基础。我们从全景摄像头中提取地面语义特征,并将其投影到3D空间中。通过估算这些观测的不确定性来增强地图融合。然后,使用本文介绍的方法对这些特征进行参数化。因此,通过姿态估计和回环闭合的细化生成了全局地图。

  2. 定位和地图更新:在构建全局地图后,当车辆返回到环境中时,可以利用新捕获的环境数据进行定位和地图更新。考虑到环境的动态性和可能进入未建图区域的可能性,构建了一个因子图来融合里程计和定位结果,产生了经过微调的全局轨迹和新生成的地图。新生成的地图然后无缝合并到现有地图中,确保了稳定和一致的地图更新过程。

语义分割和点云生成 

使用一个强大的分割网络[23]来有效地从原始鱼眼图像中检测地面、车道线和道路标记。经过语义分割,我们将鱼眼图像转化为车辆坐标系内的语义点云。这个变换包括对鱼眼图像进行去畸变处理和执行逆透视变换。

82712edc107cc9c2d4bcf22484d77ee4.png

图3. 点云生成结果。(a) 由鱼眼摄像头拍摄的原始图像。(b) 语义分割的结果。(c) 通过IPM投影获得的点云,用置信度测量呈现。(d) 由四个鱼眼摄像头的结果拼接而成的完整点云。

这个置信度测量的可视化如图3所示。需要注意的是,由于给定摄像机的投影建图在初始化期间保持不变,上述步骤只需要在摄像机初始化期间计算一次,不需要重复计算。

轮廓参数化

为了充分利用地面的语义结构,我们提出了一种自适应参数化方法来编码地面的语义信息。这种方法的过程如图4所示。为了消除在嘈杂环境中可能存在的微不足道或不可靠特征,我们过滤掉了置信度低和面积小的轮廓。轮廓聚类结果如图4(a)所示。然后计算每个轮廓点的2D轮廓法线向量,因为通过IPM投影获得的点云都位于同一平面上。该轮廓法线向量被定义为从轮廓内部指向轮廓外部的矢量,垂直于轮廓的边缘。我们利用一种基于表面的边缘估计算法[26]来估计轮廓法线向量。估计结果如图4(b)所示。然后,根据我们获得的相邻关系,我们在获得轮廓法线向量后采用区域生长算法来聚类轮廓点。具有一致轮廓法线向量的点被聚类到同一组中。聚类结果如图4(c)所示,说明了将道路标志分割成多个线云的过程。随后,对于每个线簇,我们计算其方向和中心点以获得6自由度线系数。此外,还获得了每个线簇的一组端点。提取的线特征如图4(d)所示。我们使用线簇中所有点的平均置信度测量来表示线的置信度。

fad48a199a7368bebbadec49b9485c54.png

图4. 我们的地面语义特征参数化过程。(a) 点云中的不同轮廓。(b) 轮廓点的轮廓法线向量(绿线)。(c) 由区域生长算法获得的线簇。(d) 从线簇云中提取的线特征。

里程计 

里程计估计了两个相邻摄像机拍摄之间的位姿变换。基于前面提取的特征,我们利用对应特征来估计相对的位姿变换,这个估计是通过点对线的ICP方法进行的,经过一些修改以提高准确性和效率。

b5399d070080c4b67f18276c91b9f064.png

图5. 不同方法得到的相邻帧匹配结果。(a) 由最近搜索形成的匹配结果。(b) 由我们的方法形成的匹配结果。

局部地图构建 

通过里程计获取了相邻帧之间的变换关系。当机器人的位姿变化超过预定义的阈值时,将生成一个关键帧,由于语义信息的限制以及个别测量中存在的碎片化和低置信度的观测,采用概率滤波来融合两个关键帧之间的所有观测,以获得更好的关键帧融合结果。

回环检测和全局优化 

为了实现回环检测,在关键帧之间进行配准,当生成一个新的关键帧时,我们通过点对线配准将关键帧与附近的关键帧进行对齐,以识别潜在的回环闭合。我们构建了一个因子图用于进行全局姿态优化,其中包括三种类型的因子:(1) 里程计因子,(2) IMU 预积分因子,以及 (3) 回环检测因子。我们使用 iSAM2进行全局优化。在完成全局优化后,我们可以使用优化后的姿态将局部地图合并到全局地图中。

定位和地图更新

完成地图构建后,当车辆再次访问同一环境时,我们会执行定位和地图更新过程。在定位过程中,除了使用之前的地图进行引导,所提出的算法还可以适应环境可能发生变化或车辆进入以前地图未覆盖的区域的情况。在参数化地面语义信息之后,我们并行运行两个模块:基于帧间配准的里程计模块和基于先前地图的定位模块。里程计模块与前文提到的一致。在定位模块中根据预估的姿态加载周围的先前地图,执行帧对地图的配准,以获取车辆在全局坐标系中的姿态和位置。为了估计车辆是否遇到了环境变化或是否到达了先前地图的边缘,在定位模块内进行了有效性评估。鉴于在这种情况下,车辆当前的观察无法与先前地图建立有效的对应关系,我们通过评估当前帧和帧对地图配准后的地图帧之间的重叠来判断。地图边缘的重叠变化可视化如图6所示。当计算得到的重叠值低于预定义的阈值时,定位结果被视为无效。然后,这一有效性判断将被发送到图优化模块。

0a52888b39bf310d789bf660646bb542.png

图6. 说明了地图边缘的重叠值情况。(a) 到 (d) 表示车辆从地图覆盖区域向地图边缘移动时重叠比率的变化。(a) 完全重叠;(b) 和(c) 部分重叠;(d) 未重叠。

在获取了定位和里程计测量结果之后,我们维护一个如图7所示的因子图。因子图包括三种主要类型的因子:里程测量因子、IMU因子和定位因子。里程计因子是基于从里程模块获取的帧对帧的结果构建的,而定位因子是基于由定位模块提供的帧对地图的结果构建的。值得注意的是,这些定位因子仅在定位有效时才会被纳入考虑。通过优化因子图可以在定位无效的情况下纠正累积漂移,获得连续的轨迹。由于因子图主要处理未建图区域的轨迹对齐和优化,因此我们只保留最近的10个定位结果在位姿图中,并将之前的结果视为稳定的,以避免处理大量的变量。在获得了连续的轨迹后,生成使用当前观测和新获得的轨迹的局部地图,这些具有关键帧全局位姿的局部地图被合并到先前的地图中,补充缺失的部分,并更新/完善现有的地图。

9d7ebaebebeb010361e618d97e10757f.png

图7. 因子图示例

实验

通过实际的现场实验和对比研究来验证我们的算法。我们的车辆配备了四个全向鱼眼摄像头,安装在前、后和左/右侧镜子上。定位的地面真实性由RTK-GPS提供。作为比较,我们实现了AVP-SLAM和一个基于网格的建图方法,通过ICP实现了地面语义特征的配准。此外,我们使用ORB-SLAM2 作为基准,该基准具有安装在车辆顶部的前置摄像头,用于获得足够的特征进行视觉里程计。我们比较了提出的方法在建图和定位任务中与基准方法的性能。此外,我们进行实验来验证它在诸如配准、地图存储和长期定位等任务中的有效性。

为了评估地图构建的准确性,我们比较了ORB-SLAM2、基于ICP的方法和提出的方法的绝对轨迹误差。结果如表I所示。我们的方法在需要更小的地图存储的情况下实现了更高的地图构建精度。

ae311e82998f976e187d6e7e08cbadcb.png

我们计算了不依赖于任何传感器融合的配准结果,轨迹误差如表II所示,左侧的数据表示基于网格地图的定位结果,右侧的数据表示我们的结果。我们的方法在不同环境条件下表现出卓越的精度,并在与基准方法的比较中实现了更高的准确性。

f9180a8f13f8901d523590d440f3af83.png

我们比较了在经过明显更新的选定地图区域之前和之后的地图细化的定位性能。如表III所示的结果表明,通过利用更新后的地图,可以显著提高定位的准确性。

fa7d5f98d5f6fd640ab874673bd77ce5.png

 图8(a) 地下停车场的地图完整性结果,绿色轨迹代表地图创建期间的路径,而黄色轨迹代表定位期间的路径。图8(b) 地图更新结果,绿色圆圈突出显示已完成的箭头,而黄色圆圈突出显示带有更高可信度的更新停车线。

da106c02fdf38eb7a6ce67ebd90f047d.png

图8. 地图更新结果

总结

本文通过利用低成本摄像头中的地面语义特征,提出了一个针对停车场的精确定位的综合解决方案,提供了一个精确、高效、鲁棒的地图制作和定位解决方案以及更新方案,使地图能够随着环境的变化而不断发展。通过真实世界的实验验证了我们系统的实用性,突出了它在智能车辆中广泛应用的潜力。实验结果表明,所提出的方法在精度和鲁棒性方面优于最先进的算法。在未来,我们将致力于将所提出的系统推广到更多场景,并将其扩展为一个更具实用性和可扩展性的多智能体系统。

—END—

高效学习3D视觉三部曲

第一步 加入行业交流群,保持技术的先进性

目前工坊已经建立了3D视觉方向多个社群,包括SLAM、工业3D视觉、自动驾驶方向,细分群包括:

[工业方向]三维点云、结构光、机械臂、缺陷检测、三维测量、TOF、相机标定、综合群;

[SLAM方向]多传感器融合、ORB-SLAM、激光SLAM、机器人导航、RTK|GPS|UWB等传感器交流群、SLAM综合讨论群;

[自动驾驶方向]深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器讨论群、多传感器标定、自动驾驶综合群等。

[三维重建方向]NeRF、colmap、OpenMVS、MVSNet等。

[无人机方向]四旋翼建模、无人机飞控等。

除了这些,还有求职、硬件选型、视觉产品落地等交流群。

大家可以添加小助理微信: dddvisiona,备注:加群+方向+学校|公司, 小助理会拉你入群。

3c579f90b8429ef76ffce4722d540bd8.jpeg
添加小助理微信:cv3d007, 拉你入群
第二步 加入知识星球,问题及时得到解答
3.1 「3D视觉从入门到精通」技术星球

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

学习3D视觉核心技术,扫描查看,3天内无条件退款 ae44127d0f806fa8c7117f9e0119b121.jpeg
高质量教程资料、答疑解惑、助你高效解决问题
3.2 3D视觉岗求职星球

本星球:3D视觉岗求职星球 依托于公众号「3D视觉工坊」和「计算机视觉工坊」、「3DCV」,旨在发布3D视觉项目、3D视觉产品、3D视觉算法招聘信息,具体内容主要包括:

  • 收集汇总并发布3D视觉领域优秀企业的最新招聘信息。

  • 发布项目需求,包括2D、3D视觉、深度学习、VSLAM,自动驾驶、三维重建、结构光、机械臂位姿估计与抓取、光场重建、无人机、AR/VR等。

  • 分享3D视觉算法岗的秋招、春招准备攻略,心得体会,内推机会、实习机会等,涉及计算机视觉、SLAM、深度学习、自动驾驶、大数据等方向。

  • 星球内含有多家企业HR及猎头提供就业机会。群主和嘉宾既有21届/22届/23届参与招聘拿到算法offer(含有海康威视、阿里、美团、华为等大厂offer)。

  • 发布3D视觉行业新科技产品,触及行业新动向。

81257cacf8b53b58c44b18ee5680e241.jpeg
扫码加入,3D视觉岗求职星球,简历投起来
第三步 系统学习3D视觉,对模块知识体系,深刻理解并运行

如果大家对3D视觉某一个细分方向想系统学习[从理论、代码到实战],推荐3D视觉精品课程学习网址:www.3dcver.com

科研论文写作:

[1]国内首个面向三维视觉的科研方法与学术论文写作教程

基础课程:

[1]面向三维视觉算法的C++重要模块精讲:从零基础入门到进阶

[2]面向三维视觉的Linux嵌入式系统教程[理论+代码+实战]

[3]如何学习相机模型与标定?(代码+实战)

[4]ROS2从入门到精通:理论与实战

[5]彻底理解dToF雷达系统设计[理论+代码+实战]

工业3D视觉方向课程:

[1](第二期)从零搭建一套结构光3D重建系统[理论+源码+实践]

[2]保姆级线结构光(单目&双目)三维重建系统教程

[3]机械臂抓取从入门到实战课程(理论+源码)

[4]三维点云处理:算法与实战汇总

[5]彻底搞懂基于Open3D的点云处理教程!

[6]3D视觉缺陷检测教程:理论与实战!

SLAM方向课程:

[1]深度剖析面向机器人领域的3D激光SLAM技术原理、代码与实战

[2]彻底剖析激光-视觉-IMU-GPS融合SLAM算法:理论推导、代码讲解和实战

[3](第二期)彻底搞懂基于LOAM框架的3D激光SLAM:源码剖析到算法优化

[4]彻底搞懂视觉-惯性SLAM:VINS-Fusion原理精讲与源码剖析

[5]彻底剖析室内、室外激光SLAM关键算法和实战(cartographer+LOAM+LIO-SAM)

[6](第二期)ORB-SLAM3理论讲解与代码精析

视觉三维重建:

[1]彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进

[2]基于深度学习的三维重建MVSNet系列 [论文+源码+应用+科研]

自动驾驶方向课程:

[1] 深度剖析面向自动驾驶领域的车载传感器空间同步(标定)

[2] 国内首个面向自动驾驶目标检测领域的Transformer原理与实战课程

[3]单目深度估计方法:算法梳理与代码实现

[4]面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)

[5]如何将深度学习模型部署到实际工程中?(分类+检测+分割)

无人机:

[1] 零基础入门四旋翼建模与控制(MATLAB仿真)[理论+实战]

最后

1、3D视觉文章投稿作者招募

2、3D视觉课程(自动驾驶、SLAM和工业3D视觉)主讲老师招募

3、顶会论文分享与3D视觉传感器行业直播邀请

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值