基于环视相机的视觉SLAM在自动泊车系统上的应用

点云PCL免费知识星球,点云论文速读。

文章:Trained Trajectory based Automated Parking System using Visual SLAM on Surround View Cameras

作者:Nivedita Tripathi and Senthil Yogamani

编辑:点云PCL

欢迎各位加入免费知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。未经博主同意请勿擅自转载。

公众号致力于点云处理,SLAM,三维视觉,高精地图领域相关内容的干货分享,欢迎各位加入,有兴趣的可联系[email protected]

摘要

自动泊车正成为现代辅助驾驶车辆的标配功能,现有的泊车系统一般是建立了一个本地地图,以便能够规划朝向检测到的停车位的位置运行,下一代泊车系统有一个用例是建立了车辆需要经常停放的长久环境地图,例如家庭停车场或办公室停车场。预构建的地图有助于在下次尝试停车时更好地重定位车辆位置。这是通过使用视觉SLAM方法增强泊车系统实现的,该功能在汽车行业中被称为记忆泊车。在本文中,我们讨论了训练轨迹自动泊车系统的用例、设计和实现。

介绍

大体上,自动驾驶(AD)用例可以根据运行速度分为三种场景,即高速公路智驾、中速城市驾驶和低速泊车系统。高速场景中用例的定义和结构相对完善,因此高速公路车道保持辅助等功能是市场上最成熟和已部署的功能。城市驾驶用例对应于中速,它们是高度非结构化且最具挑战性的。泊车是一个低速用例,就结构而言,它处于中间位置。相对而言,泊车的驾驶规则及其相关的道路基础设施(道路标记和交通标志)定义不太明确,但更容易处理,因为这是低速场景。泊车需要近场感应,而不是前摄像头提供的典型远场感知。这通常通过四个鱼眼摄像头实现,可提供全方位360度◦ 感知范围(图1)。

基于环视相机的视觉SLAM在自动泊车系统上的应用_第1张图片

图1:显示了近场传感和宽视野,四个鱼眼摄像头(标记为绿色)提供360度环视图

车辆反复停放在同一区域是很常见的,例如:车主的住宅区域,车库或住宅和办公空间前面。准确的区域地图将有助于自动泊车,以更有效地泊车,这可以通过视觉SLAM方法实现,该方法构建泊车区地图,后期可用于重定位。通常,这些停车区是私人区域,不会由TomTom、HERE等商业地图公司绘制。因此,车辆必须具备智能,学会绘制频繁停车的区域,然后进行重定位。在本文中,我们描述了使用商用汽车级摄像头和嵌入式系统提供此功能的系统。

视觉同时定位和建图(VSLAM)是机器人和自动驾驶领域的一个研究热点。主要有三种类型的方法,即(1)基于特征的方法,(2)直接SLAM方法和(3)CNN方法。基于特征的方法利用描述性图像特征进行跟踪和深度估计,从而生成稀疏地图。MonoSLAM、PTAM和ORB-SLAM是这一类型的开创性算法。直接SLAM方法在整个图像上工作,而不是稀疏特征,以帮助构建稠密地图,稠密跟踪和建图(DTAM)和大规模半稠密SLAM(LSD-SLAM)是基于光度误差最小化的常用直接方法。基于CNN的方法对于视觉SLAM问题相对不太成熟。特别是对于使用全景鱼眼摄像头的停车场景,在[9,17,13]中探索了视觉SLAM。一般来说,鱼眼相机上的感知任务工作有限,但最近在物体检测、深度估计、脏污检测、拖车检测和多任务模型等任务方面取得了进展。

训练轨迹的泊车系统

训练轨迹泊车分为两个阶段:训练阶段和回放阶段。在训练阶段,人类驾驶员驾驶车辆在需要的地方停车(例如车库、车库等)。训练的轨迹及其周围的有用信息被存储起来,以便以后自动加载用于定位。在回放阶段,训练的轨迹被加载到车辆上,并且算法能够识别当前车辆相对于整个路径中学习的轨迹的位置。如图2所示。

基于环视相机的视觉SLAM在自动泊车系统上的应用_第2张图片

图2:经过训练的停车和重定位示意图:白色虚线路径是经过训练的轨迹(周围物体的特征为红色)。带箭头的黄色斑点显示当前车辆(检测到的特征为蓝色)沿箭头方向移动,遵循训练的路径

目前,我们的VSLAM方案中没有使用任何机器学习,在训练阶段融合里程计和/或超声波传感器信息,可提供更准确的回放轨迹,然后,车辆控制规划使用计算出的车辆位置来规划返回停车位置的路线,并控制转向和加速,以便车辆进行自行智驾。视觉SLAM算法用于训练和回放阶段,以计算和识别训练后的轨迹和车辆位置,训练轨迹泊车的这些阶段用于不同的用例,如下所述。

Home Parking:驾驶员经常将车停在自己的家庭区域,其想法是学习家庭区域,以自动进行泊车操作。家庭泊车系统使用计算机视觉技术在已经存储的轨迹内进行自定位,使得车辆能够使用存储的轨迹完全自主地驾驶进入停车位。在这种应用中,驾驶员训练系统检测地标并将其用于定位。

Automated Reverse Parkout:这有助于驾驶员倒车(例如驶入死角、停车)。通常,不同的训练轨迹存储在长久的存储器的缓冲区中,然后用户可以根据车辆的当前位置选择自动驻车轨迹。停车场自动回放的轨迹被连续记录,通常无需任何手动触发。

Valet Parking 代客泊车:代客泊车是最先进的泊车方式,该系统必须自动执行导航以找到停车位,选择最佳停车位,然后自行泊车,在一个未知的环境中实现这一点是非常具有挑战性的。

泊车系统架构

1. 泊车平台概述

传感器:车辆配置包括商业部署的汽车级传感器,如图1所示。泊车系统所需的主要传感器是鱼眼摄像头(用于提供轨迹信息)和超声波传感器(用于停车途中的近距离障碍物检测)。有四个鱼眼摄像头(图中标记为绿色),分辨率为100万像素,水平视野宽(FOV)为190◦. 四个摄像头一起覆盖整个360度汽车周围的视野。这些摄像头设计用于提供10米以内的最佳近场感知,25米以内的感知略有降低。还有一个12个超声波传感器阵列(图中标记为灰色),覆盖前后区域。它们在汽车周围提供了一个坚固的安全网格,以避免碰撞,这是一个稳定系统所必需的。

SOC:尽管自动驾驶原型展示在大型PC上,但它们必须部署在低功耗、低成本的嵌入式系统上。尽管汽车嵌入式系统的计算能力快速增长,但部署计算机视觉算法仍然具有相当大的挑战性。图3在左上方区域显示了一个称为ECU的典型汽车嵌入式系统。典型的汽车SOC供应商包括Texas Instruments TDAx、Renesas V3H和Nvidia Xavier平台。这些SOC中的大多数提供定制的计算机视觉硬件加速器,用于密集光流、立体视差和深度学习。典型的SOC系统具有1到10 TOPS的计算能力,消耗的功率小于10瓦。

基于环视相机的视觉SLAM在自动泊车系统上的应用_第3张图片

图3:记忆泊车系统架构

软件架构:在被输入视觉算法之前,典型的预处理算法包括鱼眼失真校正、对比度增强和去噪。使用计算机视觉算法检测物体,然后将它们输入地图,以规划泊车。来自四个相机的图像坐标中的物体被转换为世界上的一个集中坐标系统,深度估计提供通过语义分割检测到的行人和车辆等对象的定位。类似地,道路对象(如车道和路缘)使用连接组件算法提取并建图到世界坐标。物体也可以从超声波和激光雷达(如果可用)等其他传感器中提取出来,然后融合到先前使用的地图中。车辆控制和规划单元使用地图和当前位置规划返回停车位置的路线,并控制转向和加速,以便车辆在那里自行行驶。GPS可用于在轨迹开始时提供车辆的粗略定位。同样重要的是,系统软件能够检测行驶路径上的障碍物或行人,并相应地改变轨迹的走向。该系统应能够利用自动紧急制动(AEB)功能,允许车辆在一组条件下应用紧急制动。

2. 泊车系统中标准计算机视觉模块

除了传统的特征匹配之外,现代VSLAM系统使用语义信息来增强重新定位的鲁棒性,识别场景中的动态和可移动对象,并为场景中这些实体所承载的特征赋予零权重或非常小的权重。

语义分割:感兴趣对象主要是道路对象,如自由空间、道路标记、路缘石等,以及动态对象,如车辆、行人和自行车,它们都可以通过统一的语义分割网络实时检测,这些物体通常用于自动驾驶中的导航和障碍物检测。特别是对于我们的应用程序,动态对象有助于消除地图中的特征点,因为它们在重新定位过程中可能不在同一位置,而车道和道路标记等静态实体提供了在机动过程中可以穿过的有效轨迹。

通用障碍物检测:为了获得一个强大的系统,必须使用除了外观之外的其他线索来检测物体,为所有可能的对象训练基于外观的语义分割在实践中是非常有挑战性的,像袋鼠或建筑卡车这样的对象类非常罕见。运动和深度是在汽车场景中非常有用的线索。通常,深度用于检测静态对象,而运动用于检测动态对象。图4说明了通过双目运动恢复结构算法计算的深度。

基于环视相机的视觉SLAM在自动泊车系统上的应用_第4张图片

图4:通过运动对双目进行深度估计

泊车视觉SLAM 

1. 建图概述

建图是自动驾驶的关键模块之一,许多自动驾驶的首次成功演示主要依赖于预先绘制区域地图。图5说明了TomTom RoadDNA提供的自动驾驶商业高清地图服务。

基于环视相机的视觉SLAM在自动泊车系统上的应用_第5张图片

图5:TomTom RoadDNA的高精(HD)地图示例

它们为大多数欧洲城市提供了高度稠密的语义3D点云地图和定位服务,典型的定位精度为10 cm,当有准确的定位时,HD地图可以被视为主要线索,因为已经有了强大的先验语义分割,并且可以通过在线分割算法进行细化。然而,这项服务很昂贵,因为它需要在世界各地进行定期维护和升级。由于隐私法和可访问性,这种商业服务不能在所有情况下使用,必须在车辆的嵌入式系统中建立建图机制。例如,在德国等许多国家,私人住宅区无法合法测绘。图6展示了我们的系统生成的点云,由于车辆中可用的计算能力有限,与稠密的高精地图相比,它非常稀疏。

基于环视相机的视觉SLAM在自动泊车系统上的应用_第6张图片

图6:视觉SLAM方案生成的轨迹的相机姿态鸟瞰图,以及使用运动双目的生成的点云地图

2. VSLAM方案

Visual Synchronous Localization And Mapping(VSLAM)是一种算法,它构建车辆周围环境的地图,并同时计算出汽车在该环境中的当前位置。安装在汽车上的摄像头可以从四个摄像头中的任意一个或组合产生广角图像,然后绘制车辆周围环境并跟踪地图,这构成了图7中视觉VSLAM的基本流程。

基于环视相机的视觉SLAM在自动泊车系统上的应用_第7张图片

图7:VSLAM框图显示了训练和回放阶段的两条并行方案

建图是从跟踪的传感器数据中生成地图的过程,该地图由经过训练的轨迹及其相关地标组成。经过训练的轨迹是一组关键位姿,保存车辆起点到终点位置的地标信息,这些地标使用在捕获的图像中唯一的鲁棒图像特征来表示。在回顾了最先进的Visual SLAM方案的优缺点后,我们得出结论,基于特征的方法比直接方法更适合,因为它需要更少的内存,并且对场景中的动态对象和结构变化不太敏感。图像中的一个明显特征可以是强度以特定方式变化的像素区域,或者是边缘或角点。为了估计世界上的地标进行跟踪,其中可以匹配相同特征的两个或多个视图。一旦车辆移动了足够的距离,VSLAM就会拍摄另一组图像并提取特征,重建相应的特征以获得它们在现实世界中的坐标和姿态。

帧到帧3D重建和视觉里程计可能会有漂移,需要全局修正,这是通过捆集调整步骤实现的,捆集调整步骤联合优化3D点和相机位置。这是一个非常计算密集的步骤,因为3D点的高重投影误差增加了迭代次数以降低成本,因此不能对每个帧执行该步骤。它通常在N帧中执行一次,称为滑动窗口捆集调整。在训练结束时,还执行全局捆集调整,其中优化所有关键帧(不是轨迹上的每一帧),以确保内部VSLAM图的全局一致性。最终优化的轨迹作为地图保存在永久存储器中,并由算法用于重新定位车辆姿态,以实现车辆的自动规划。在此过程中,实时摄像机图像被搜索特征,并与训练地图中的帧相匹配。如果实时图像中的特征与地图匹配,优化模块可以估计车辆的当前位置,相对于轨迹训练期间的位置。

3. 技术挑战

根据我们的经验,我们在下面简要列出了部署该系统所涉及的实际挑战。

  • 照明或天气条件的变化会导致场景在视觉上有所不同。例如,如果在白天/夜晚或夏季/冬季等进行建图和定位,则算法可能会显著降低,因为特征对应性会减少。

  • 住宅区可能具有相似的结构,这使得难以匹配独特的特征。因此,需要通过更专业的功能或更高层次的语义来增强系统。

  • 大多数当前一代汽车无法访问云基础设施,因此必须在汽车的嵌入式系统上进行建图。因此,在轨迹结束时,驾驶员需要额外的等待时间才能完成地图的全局捆集调整。

  • SLAM方案需要良好的初始化,从而可以有效地匹配沿轨迹的特征。这通常由有噪声的GPS信号完成,这可能导致不可靠的重新定位。

  • 由于对象的移动,场景中的结构变化非常常见,因此必须动态更新地图以纳入这些新变化。

  • 汽车摄像头通常具有滚动快门,必须对其进行补偿,尤其是在相对较高的速度下。

  • 通过利用多个相机之间的度量距离来解决尺度模糊性,但是由于估计中的噪声,仍然存在尺度漂移的可能性。

4. 结果

测试车辆由四个100万像素RGB鱼眼摄像头和190◦ 如图1所示的水平FOV和Velodyne HDL-64E激光雷达。GNSS(NovAtel Propak6)和IMU传感器(SPAN-IGM-A1)用于提供厘米级精度的地面实况标注。对于每个对应的图像帧获得的具有六个自由度的车辆姿态被转换为具有一些滤波的序列,以去除异常值和平滑噪声,集合中的每个元素在照明、天气条件和场景中对象的存在方面都有变化,这些场景是在我们位于爱尔兰的测试区拍摄的(如图8所示),旨在测试各种停车场景。

基于环视相机的视觉SLAM在自动泊车系统上的应用_第8张图片

图8:我们的自动停车测试轨迹,其中数据集被捕获用于评估

表1显示了我们数据集中少数选定场景的结果,这些场景在时间/天和横向/角度偏移方面都有变化,导致视频序列中的照明和结构变化。重定位率受到训练和回放场景之间变化量的影响。场景6具有最具挑战性的场景,因为照明和横向偏移都存在较大差异,因此其重定位率相对较差。

基于环视相机的视觉SLAM在自动泊车系统上的应用_第9张图片

总结

在本文中,我们提供了一个工业化训练轨迹的自动泊车系统的概述,讨论了经过训练的轨迹泊车用例,并演示了如何使用视觉SLAM方案扩展当前的泊车系统,并详细描述了视觉SLAM方法,并列出了商业部署中遇到的实际挑战,在未来的工作中,我们计划探索一个统一的多任务网络来执行视觉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方法介绍

如果你对本文感兴趣,请后台发送“知识星球”获取二维码,务必按照“姓名+学校/公司+研究方向”备注加入免费知识星球,免费下载pdf文档,和更多热爱分享的小伙伴一起交流吧!

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

扫描二维码

                   关注我们

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

合作方式:微信“920177957”(需要按要求备注) 联系邮箱:[email protected],欢迎企业来联系公众号展开合作。

点一下“在看”一起告别2022迎接2023吧

基于环视相机的视觉SLAM在自动泊车系统上的应用_第10张图片

你可能感兴趣的:(人工智能,计算机视觉)