针对自主泊车的多相机视觉惯导同时定位与建图方案

2023-10-21 22:50

本文主要是介绍针对自主泊车的多相机视觉惯导同时定位与建图方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章:Multi-Camera Visual-Inertial Simultaneous Localization and Mapping for Autonomous Valet Parking

作者:Marcus Abate, Ariel Schwartz, Xue Iuan Wong, Wangdong Luo, Rotem Littman, Marc Klinger, Lars Kuhnert, Douglas Blue, Luca Carlone

编辑:点云PCL

来源:arXiv 2023

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

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

摘要

本文介绍了一种视觉惯导同时定位与建图(SLAM)系统,用于自动驾驶车辆的定位和建图关键能力。该系统通过使用多个摄像头和外部(例如轮速)里程计传感器扩展了Kimera,并在真实环境中获得准确且稳健的里程计估计。此外提出了一种有效的闭环方案,避免了基于透视n点方法的常见替代方案的缺点,并且适用于单目摄像头,最后开发了一种用于自由空间的稠密3D建图方法,将自由空间检测的分割网络与基于单应性的稠密建图技术相结合。在仿真环境中收集的多个真实数据集上对系统进行了测试,涵盖了室内和室外停车场场景。实验结果表明,该多相机系统在性能上优于最先进的开源视觉惯性SLAM方案(Vins-Fusion、ORBSLAM3),在超过8公里的行驶距离(所有数据集的组合)上,平均轨迹误差不超过轨迹长度的1%。

主要贡献

在这篇系统论文中,作者开发了一个多摄像头VI-SLAM方案,可以进行高效且全局一致的轨迹估计,并构建了围绕车辆的稠密三维自由空间地图,实现障碍物避让和导航。该系统基于Kimera的基础上进行了扩展,具体包括:

(i) 支持多摄像头和外部里程计信息;

(ii) 实现稳健的单目或多摄像头闭环检测;

(iii) 针对自主泊车应用实现了高效的地平面建图;

对Kimera的前端和后端进行了修改,改进了跟踪和因子图优化,并使用高度并行化的架构支持多传感器融合。实现了几种闭环检测方法,包括基于透视n点(PnP)方法的单目闭环检测技术,证明其优于流行的方法。最后,我们的SLAM系统与快速语义分割网络Kimera-Semantics结合使用,创建了机器人周围的自由空间的3D地图。

主要内容

A. 硬件架构和数据收集

硬件架构

用于实验的实际平台是一辆改装的Lincoln MKZ轿车,配备了定制的发动机控制单元和定制的车载传感器,包括四个单目鱼眼摄像头、一个IMU和一个车载轮式里程计系统,该系统利用轮式编码器和其他专有传感器来估计车辆的运动,传感器都是消费级别的,只有IMU不同。图1展示了车上传感器组件的排列方式。

0e30f32ad7b5bfa7108322a86c684f9e.png

图1: (a) 福特测试平台和传感器设置的示意图。(b) 来自室外数据集的四个示例图像;前两个图像来自车上的前置和右侧摄像头,下面两个图像是语义分割网络输出的用于地图模块的识别自由空间道路的结果。(c) 在美国密歇根州底特律收集的车辆室外轨迹样本。图中的轨迹平均长度为450米。

数据收集

为了评估,使用了模拟数据集和使用上述车辆收集的真实数据集。模拟数据集是在TESSE仿真环境中记录的。场景是一个室外城市区域,数据来自具有真实动力学模型的模拟车辆,语义标签以像素级别从模拟器中提取,用于替代分割网络,并且与道路相关的标签用于Kimera-Semantics中的自由空间重建。对于真实世界的数据集,我们在5个不同的室内外位置收集了22个数据集,历时5个月。数据集中车辆的速度、轨迹、环境、障碍物和天气各不相同。一些数据集中一个或多个摄像头会有长时间的遮挡,另一些数据集中车辆会在交通拥堵时长时间停车,市场上有许多行人,并且超出VIO模块时间范围的长直线运动使得尺度估计变得困难。对于室内数据集,由于停车场内的GPS不可靠,我们使用了福特的专有轮式里程计运动估计作为基准数据,因为它在低速和中速下证明非常准确。

B. 软件架构 

所提出的系统对现有的Kimera-VIO和Kimera-Semantics管道进行了几项重大修改,如图2系统架构

7382ec8433b6a86b846f022b4e0f299a.png

图2:所提出的系统架构概述。输入包括来自车辆四个方向的RGB单目图像以及单个IMU,修改后的Kimera-VIO并行处理所有摄像头输入,并生成稳健的状态估计,该估计结果传递给Robust Pose Graph Optimization (RPGO) 模块进行闭环检测和修正,同时,语义分割网络在图像中识别地平面,该信息由修改后的Kimera-Semantics模块用于生成自由空间的三维重建。

多摄像头Kimera-VIO

之前Kimera只能使用立体或RGB-D相机进行紧耦合的视觉惯导测距,所提出的Kimera版本经过修改,可以接受单目图像数据,并与IMU数据进行耦合。单目VIO前端被分成两部分;IMU数据进行预积分,并根据标准方法在两个端点进行插值处理。然后,使用OpenCV 中的工具对图像数据进行处理,以检测特征点(goodFeaturesToTrack),并在帧之间进行特征点跟踪。然后,在跟踪的特征点上应用5点RANSAC算法,以去除每个关键帧上的异常值;关键帧的触发取决于跟踪到的图像特征的数量和质量。除了视觉和惯导数据外,我们还使用车轮里程计测量数据。为实现这个目标,将车载轮式里程计传感器提供的相对位姿链接在一起,以估计关键帧之间的相对位姿,然后将其作为基于因子图的VIO后端中的相对位姿因子使用。特征点、预积分的IMU测量和里程计测量随后被发送到VIO后端模块,该模块使用所有可用的测量数据进行固定滞后平滑处理。

闭环优化

尽管VIO后端可以生成局部一致的轨迹,但我们的目标是获得全局一致的轨迹和地图估计。所提出的架构将VIO的运动估计传递给鲁棒位姿图优化模块,该模块检测闭环并相应地优化轨迹。为了检测闭环,Kimera使用视觉词袋(visual Bag-of-Words)来检测相似的图像。

PnP闭环位姿计算

在PnP方法中,ORB描述符在每个关键帧中提取,并与每个跟踪的特征点关联起来。同时,VIO后端的3D地标数据与每个图像一起发送到闭环检测模块。我们使用ORB描述符在后端优化的地标和2D特征之间获得潜在的对应关系,并使用带有RANSAC的PnP算法找到内点对应关系。然后,RANSAC内点用于生成Kimera-RPGO中闭环因子的帧之间的相对位姿[10]。虽然这种方法相当流行,并且在其他管道中被使用,但我们的实验结果显示得到的位姿不是非常准确。这是因为2D和3D特征之间通常只有很少的匹配(主要是由于基于3D地标的地图的稀疏性),因此在RANSAC之后只有很少的内点。

无尺度闭环位姿计算

为了解决PnP方法的问题,我们考虑使用仅使用2D图像数据来计算相对闭环位姿的闭环检测模块的一个版本。通过使用ORB描述符匹配建立的许多2D-2D对应关系,我们可以直接使用标准的5点RANSAC方法获得无尺度的位姿。在这种情况下,由于没有平移的尺度因子,我们修改了与闭环因子相关的噪声模型的信息矩阵,使其在平移向量的方向上携带零信息。然后,位姿图优化只使用闭环因子中的旋转部分和平移的方向,而不考虑大小,这两者都非常准确。

通过Kimera-Semantics进行自由空间建图

在我们之前的工作中,我们使用Kimera-Semantics从立体或深度相机数据生成密集的语义注释的3D网格,由于本文中的系统使用多个非重叠的单目摄像头,因此无法简单地使用立体重建来生成密集的深度图。由于我们只关注自由空间建图,并且道路可以被假设为局部平面,我们首先使用CNN对图像进行像素级二值分类,检测出地面平面,然后使用单应性变换将地面平面映射到3D平面上[36,第13章]。单应性矩阵是在每个摄像头的相机标定期间计算得到的。使用单应性矩阵,我们将属于地面平面的每个像素映射到一个3D点,然后将相应的3D点云传递给Kimera-Semantics,该模块执行射线投射以推断基于体素的3D地图,然后通过Marching Cubes算法提取纹理化的3D网格。

实验

表格I显示了我们对Kimera-VIO进行单目扩展的性能情况,比较了每个独立摄像头的性能。我们使用一次只运行一个摄像头的方式运行了每个数据集,所有数据集都使用相同的IMU数据。

57b73147e8a403afe8ce12e7c83539f9.png

表格I:每个摄像头的VIO准确性,每个数据集的最佳结果用绿色突出显示,虚线用于表示跟踪失败.

表格II显示了Kimera的多摄像头配置的性能,在1摄像头配置中,仅使用左摄像头,在2摄像头配置中,同时使用左摄像头和右摄像头,然后添加了前摄像头,最后是后摄像头。

18ee397a6efbd9f18c2d5bd634b1aeac.png

表格II:多摄像头VIO的准确性

表格III展示了Kimera-VIO在单摄像头配置下与两个最先进的单目VIO系统(Vins-Fusion 和Open-Vins)的估计性能对比。结果显示了没有闭环的VIO系统的表现,由于这些竞争对手不支持多摄像头环绕视图,为了公平起见,比较是以单目模式进行的。

f81e64d92d3e1ca9103dad504e16c275.png

表格IV展示了对这些不同方法进行闭环处理的割离研究的结果。显示了每种方法对SLAM系统的估计误差和漂移的影响,最佳结果以绿色突出显示。

ef5d9e223ffc325cdbbb34f0d3213f11.png

图3比较了三种方法生成的闭环候选项的旋转和平移误差的直方图。显然,无尺度方法具有最低的误差。

f3749c093b89f96e1baaa9fcfe4fb393.png

图3:所提出的闭环检测方法的直方图

表格V报告了Kimera(单目)在闭环检测下与Vins-Fusion和ORB-SLAM3的VIO性能。这三个流程都使用视觉词袋生成闭环候选项。

18b869f650aa49698d2374c4694e5738.png

表格V:Kimera、Vins-Fusion和ORB-SLAM3的姿态估计准确性(包括闭环检测)。

表格VI显示了模拟数据集的几何重建准确性,其中存在地面真值地图,系统使用地面真实姿态和Kimera的姿态进行评估,在使用Kimera的情况下,我们使用1个摄像头配置,并且没有使用车轮里程计。

f2fbde80d0e5f6f932852d835323b4a3.png

图4展示了使用提出的基于单应性矩阵的方法对Ford数据集进行的多个自由空间重建结果。这些地图是使用Kimera-VIO的4个相机和外部里程计获得的姿态生成的。

0dd31696ea1029f6abf140f680df974e.png

图4:在几个Ford数据集上,通过提出的自由空间见图方法生成的3D重建结果。所有四个相机都用于重建,并且Kimera的视觉惯导里程计使用了所有四个相机和外部里程计。每个重建结果上都绘制了估计轨迹的颜色映射,较冷的颜色表示较低的ATE RMSE。

总结

我们对Kimera进行了重要的修改,以支持单目和多相机输入数据,并整合了外部轮式里程计输入。我们修改了回环闭合模块以利用单目输入完善SLAM系统。此外,还修改了Kimera-Semantics,以实现用于自主泊车应用的高效自由空间映射,该方法适用于具有非重叠视场的相机,并且不需要进行深度估计的学习。我们在模拟车辆数据和在福特汽车公司的测试车上收集的真实世界数据集上对该系统进行了测试。所提出的系统具有较小的轨迹和地图误差,并且始终优于最先进的开源VIO和VI-SLAM系统。多相机系统的真实世界结果还有改进的空间,特别是在外参标定方面,后端因子图中的自动标定可能可以缓解其中的一些问题。

更多详细内容后台发送“知识星球”加入知识星球查看原文。

资源

自动驾驶及定位相关分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

自动驾驶中基于光流的运动物体检测

基于语义分割的相机外参标定

综述:用于自动驾驶的全景鱼眼相机的理论模型和感知介绍

高速场景下自动驾驶车辆定位方法综述

Patchwork++:基于点云的快速、稳健的地面分割方法

PaGO-LOAM:基于地面优化的激光雷达里程计

多模态路沿检测与滤波方法

多个激光雷达同时校准、定位和建图的框架

动态的城市环境中杆状物的提取建图与长期定位

非重复型扫描激光雷达的运动畸变矫正

快速紧耦合的稀疏直接雷达-惯性-视觉里程计

基于相机和低分辨率激光雷达的三维车辆检测

用于三维点云语义分割的标注工具和城市数据集

ROS2入门之基本介绍

固态激光雷达和相机系统的自动标定

激光雷达+GPS+IMU+轮速计的传感器融合定位方案

基于稀疏语义视觉特征的道路场景的建图与定位

自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)

用于三维点云语义分割的标注工具和城市数据集

更多文章可查看:点云学习历史文章大汇总

SLAM及AR相关分享

TOF相机原理介绍

TOF飞行时间深度相机介绍

结构化PLP-SLAM:单目、RGB-D和双目相机使用点线面的高效稀疏建图与定位方案

开源又优化的F-LOAM方案:基于优化的SC-F-LOAM

【开源方案共享】ORB-SLAM3开源啦!

【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM

【点云论文速读】StructSLAM:结构化线特征SLAM

SLAM和AR综述

常用的3D深度相机

AR设备单目视觉惯导SLAM算法综述与评价

SLAM综述(4)激光与视觉融合SLAM

Kimera实时重建的语义SLAM系统

SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM

易扩展的SLAM框架-OpenVSLAM

高翔:非结构化道路激光SLAM中的挑战

基于鱼眼相机的SLAM方法介绍

3D视觉与点云学习星球:主要针对智能驾驶全栈相关技术,3D/2D视觉技术学习分享的知识星球,将持续进行干货技术分享,知识点总结,代码解惑,最新paper分享,解疑答惑等等。星球邀请各个领域有持续分享能力的大佬加入我们,对入门者进行技术指导,对提问者知无不答。同时,星球将联合各知名企业发布自动驾驶,机器视觉等相关招聘信息和内推机会,创造一个在学习和就业上能够相互分享,互帮互助的技术人才聚集群。

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

扫描二维码

                   关注我们

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

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

为分享的小伙伴们点赞吧!

6fb9530104a643d2bc808ab7e5fca152.gif

这篇关于针对自主泊车的多相机视觉惯导同时定位与建图方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/257480

相关文章

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

poj 3181 网络流,建图。

题意: 农夫约翰为他的牛准备了F种食物和D种饮料。 每头牛都有各自喜欢的食物和饮料,而每种食物和饮料都只能分配给一头牛。 问最多能有多少头牛可以同时得到喜欢的食物和饮料。 解析: 由于要同时得到喜欢的食物和饮料,所以网络流建图的时候要把牛拆点了。 如下建图: s -> 食物 -> 牛1 -> 牛2 -> 饮料 -> t 所以分配一下点: s  =  0, 牛1= 1~

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

JavaFX应用更新检测功能(在线自动更新方案)

JavaFX开发的桌面应用属于C端,一般来说需要版本检测和自动更新功能,这里记录一下一种版本检测和自动更新的方法。 1. 整体方案 JavaFX.应用版本检测、自动更新主要涉及一下步骤: 读取本地应用版本拉取远程版本并比较两个版本如果需要升级,那么拉取更新历史弹出升级控制窗口用户选择升级时,拉取升级包解压,重启应用用户选择忽略时,本地版本标志为忽略版本用户选择取消时,隐藏升级控制窗口 2.

如何选择SDR无线图传方案

在开源软件定义无线电(SDR)领域,有几个项目提供了无线图传的解决方案。以下是一些开源SDR无线图传方案: 1. **OpenHD**:这是一个远程高清数字图像传输的开源解决方案,它使用SDR技术来实现高清视频的无线传输。OpenHD项目提供了一个完整的工具链,包括发射器和接收器的硬件设计以及相应的软件。 2. **USRP(Universal Software Radio Periphera

MyBatis 切换不同的类型数据库方案

下属案例例当前结合SpringBoot 配置进行讲解。 背景: 实现一个工程里面在部署阶段支持切换不同类型数据库支持。 方案一 数据源配置 关键代码(是什么数据库,该怎么配就怎么配) spring:datasource:name: test# 使用druid数据源type: com.alibaba.druid.pool.DruidDataSource# @需要修改 数据库连接及驱动u

计算机视觉工程师所需的基本技能

一、编程技能 熟练掌握编程语言 Python:在计算机视觉领域广泛应用,有丰富的库如 OpenCV、TensorFlow、PyTorch 等,方便进行算法实现和模型开发。 C++:运行效率高,适用于对性能要求严格的计算机视觉应用。 数据结构与算法 掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、动态规划等),能够优化代码性能,提高算法效率。 二、数学基础

一种改进的red5集群方案的应用、基于Red5服务器集群负载均衡调度算法研究

转自: 一种改进的red5集群方案的应用: http://wenku.baidu.com/link?url=jYQ1wNwHVBqJ-5XCYq0PRligp6Y5q6BYXyISUsF56My8DP8dc9CZ4pZvpPz1abxJn8fojMrL0IyfmMHStpvkotqC1RWlRMGnzVL1X4IPOa_  基于Red5服务器集群负载均衡调度算法研究 http://ww