当前位置: 首页 > news >正文

基于单目和低成本GPS的车道定位方法

文章:Map-Matching-Based Localization Using Camera and Low-Cost GPS For Lane-Level Accuracy

作者:Rahmad Sadlia, Mohamed Afkirb, Abdenour Hadida, Atika Rivenqa, Abdelmalik  Taleb-Ahmeda

编译:点云PCL

来源:2021 The Authors. Published by Elsevier B.V

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

公众号致力于分享点云处理,SLAM,三维视觉,高精地图相关的文章与技术,欢迎各位加入我们,一起交流一起进步,有兴趣的可联系微信:920177957。本文来自点云PCL博主的分享,未经作者允许请勿转载,欢迎各位同学积极分享和交流。

摘要

对于自动驾驶系统来说精确的车道定位是执行复杂驾驶的必要条件,传统的基于GNSS的方法通常不够精确,无法进行车道级定位以支持无人驾驶的功能,虽然基于激光雷达的定位可以提供精确的定位位姿,然而,激光雷达价格仍然是这种解决方案成为广泛应用的一大问题,因此,在这项工作中,我们提出了一种低成本的车道级定位解决方案,使用基于视觉的系统和低成本GPS实现高精度的车道级定位,实验表明,所提出的方法实现了良好的车道级定位精度,优于仅基于GPS的解决方案。

主要贡献

在这项工作中,作者提出了一种低成本的车道级定位解决方案,使用基于视觉的系统和低成本GPS实现高精度的车道级定位。本文的主要贡献是:

  • 提出了一种基于视觉的低成本定位系统;

  • 提出结合地图匹配方法和低成本GPS,实现高精度车道级定位;

  • 在实时和真实环境中进行广泛的实验。

一般来说,基于高精地图的定位方案主要步骤:创建参考地图,找到相应的路段,并在地图上进行定位。

a641de6ecef3d0a3821879adbb8de11b.png

图1.给出了所提出方法的框架

主要内容

在这项工作中,作者提出了一种使用地图匹配技术获得高精度的车道级定位的方法。图1给出了所提出方法的框架,提出的方法有三个输入:相机、GPS和参考地图,构成轨迹的GPS点如下所示:

d99980e338c6136a28c1650b368ec3c2.png

其中px和py分别表示经度和纬度坐标,w是当前GPS时间戳,参考地图位置r可以定义如下:

8c627b314fcf5bc94271c8831fc5a4c6.png

其中rx和ry分别表示经度和纬度坐标,j是参考点的位置编号,GPS提供车辆当前位置,并创建25mx25m区域的本地搜索地图,从参考地图中选择本地地图的参考点,该参考地图的点落在当前GPS位置当前所在的区域内,因此,其时间戳rw可以定义如下:

9b75c569b21b42df3d155f27c4aae672.png

其中k是参考点在局部地图中的位置编号,使用简单的最近点算法计算并比较这些点与当前本地GPS位置之间的距离,然后使用滑动窗口技术,如图2所示

75d3ca693abd3205f8471936012da84f.png

图2.使用滑动窗口的地图匹配过程的图示

搜索从当前GPS获取的位置与参考地图中车辆通过的位置之间的最近临近点(CP),使用欧几里得距离计算距离,最小距离则被选择为车辆的最合适位置,对应窗口的最近点由以下关系确定:

3ab2e667914afcd0aee3ca136e7c3dbf.png

同时,相机提供要由车道分割算法处理的图像序列,使用车道线分割,可以得到车辆相对于中间车道的位置。

A.创建参考地图

参考地图是利用谷歌专业创建的,现在可以免费使用,我们首先创建中心车道路线并将其保存为KML格式,然后,我们提取该路径的坐标并将其存储为中心车道的参考地图,图3显示了使用Google Earth Pro创建的参考地图。

ec285324852db1a3862a28b0caf6f02c.png

图3.显示了使用Google Earth Pro创建的参考地图

B.找到相应的路段

道路是多条线的,通常左右道路边界由两条多线表示,分隔车道的道路标记也用多条线表示,多车道线特征的单车道称为路段。该方法的一个重要步骤是从输入图像定位相应的路段,对于这项工作,采用LaneNet来生成车道线分割,使用LaneNet的二值图像输出并执行后处理,LaneNet的结果是基于路段数量的多线形式,为了获得相应的车道,LaneNet的输出需要进一步处理,以找到正确的路段,即车辆当前通过的路段。为此,我们使用一种简单的技术,包括线的霍夫变换,以获得图像上的多条线,将图像分成左右两侧,然后选择左侧的一条线和右侧的一条,它们的底部位置最接近图像的底部中心,这两条线应该是相应车道的边界。图4显示了获取相应路段的过程示例。

65e38917af01409cacc372c38ae85f4b.png

图4.找到车辆当前位置相应路段的过程

C.参考地图上的车辆定位

在实现最近点地图匹配方法后,我们估计车辆的最终位置,即相对于中间车道的位置。图5清楚地说明了车辆中心和中间车道之间的关系

574eb3ed1033e8621adb09580b1a2db3.png

图5.说明如何获得车辆中心和中间车道之间的偏离距离

车辆中心相对于中间车道的估计距离公式如下:

43d60f242c60a4097dae10fed279c887.png

式中,d_m是车辆中心相对于中间车道的估计距离,单位为米,Lanewith_m是车道宽度,单位为m,(x2− x1)p_x是以像素为单位的车道宽度,d_px是车辆中心相对于以像素为中心的车道的估计距离,使用车辆中心与中心车道之间的估计距离,进行车道级别定位,如图6所示:

e3072a92899d2a2a071629b8ff35708f.png

图6.基于地图匹配估计车辆位置的图示

实验与结果

我们提出的方法在850米长的道路上进行了测试,该道路由两条车道组成,每条车道宽3.5米,使用安装在测试车顶部的低成本GPS接收器测量车辆的当前位置,在进行实验时,我们没有使用高精度GPS作为地面实况数据,这样,我们测量了从中间车道到车辆中心的距离偏差。通过假设车辆大部分时间应位于中间车道,测量了车辆相对于中间车道的位置,作为我们的性能指标。表1显示了GPS定位和使用我们提出的方法获得的估计位置之间的比较的初始结果,实验的定性结果如图7所示。

84b8b0085d6f14921f869daa2b99deb5.png

图7.所提出方法的定性的定位结果

根据表1,测量的GPS位置比估计位置具有更高的方差和更高的平均值,这表明GPS测量不够精确,无法定位车辆的精确位置,与实测GPS相比,我们提出的方法估计的位置具有较小的均值和方差值,这表明所提出的方法比唯一的GPS方法工作得更好。

50f13e93fa031568e591a47a00e9e3a4.png

表1.使用提出的方法获得的GPS定位和估计位置之间的性能比较

这也表明,大多数情况下,车辆沿着中间车道行驶,比较结果也可参见图8,很明显,提出的方法比仅使用GPS更准确地进行车辆定位。

a567633fd2cdbc1d224fb18bd8c16948.png

图8.a)使用唯一的GPS系统和b)提出的方法的车辆中心和中间车道之间的偏差直方图

总结

在本文中,作者提出了一种低成本定位系统的解决方案,使用基于视觉的系统结合地图匹配方法和低成本GPS实现高精度车道级定位,一般来说,需要三个主要步骤:创建参考地图,找到相应的路段,并在地图上定位车辆。提出的方法用于实时测量车辆相对于中间车道的位置,初步结果显示与测量的GPS定位方案相比性能更好。

更多详细内容请查看论文原文。

资源

自动驾驶及定位相关分享

【点云论文速读】基于激光雷达的里程计及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”(需要按要求备注) 联系邮箱:dianyunpcl@163.com,欢迎企业来联系公众号展开合作。

点一下“在看”你会更好看耶

68928449bda3a5ad4afe1051fea4b55e.gif

相关文章:

  • MyBatisPlus——多表查询——多条件查询——分页查询
  • 面向跨模态匹配的噪声关联学习
  • Java中的反射
  • java毕业设计旅游网站设计mybatis+源码+调试部署+系统+数据库+lw
  • Java基础进阶-序列化
  • 02.3 线性代数
  • java毕业设计木材产销系统的生产管理模块mybatis+源码+调试部署+系统+数据库+lw
  • Nuxt - 自定义页面布局,<Nuxt /> 个性化多套模板(一个项目内既要有用户正常浏览的普通页面,又要存在后台管理系统布局的页面)
  • java毕业设计拉萨旅游自助民宿平台mybatis+源码+调试部署+系统+数据库+lw
  • 微信公众号查题搜题功能系统平台
  • 王道计算机组成原理课本课后习题错题总结
  • cefsharp 最新稳定版104.4.240 (chromium-104.0.5112.102)
  • Unity开发3
  • spark(day02)
  • 【我不熟悉的css】05. csc中使用变量,:root伪元素的应用
  • [译] 理解数组在 PHP 内部的实现(给PHP开发者的PHP源码-第四部分)
  • 《Java编程思想》读书笔记-对象导论
  • Angularjs之国际化
  • HTML-表单
  • JS笔记四:作用域、变量(函数)提升
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • Sass 快速入门教程
  • SegmentFault 2015 Top Rank
  • 阿里云前端周刊 - 第 26 期
  • 闭包--闭包作用之保存(一)
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 关于Android中设置闹钟的相对比较完善的解决方案
  • 观察者模式实现非直接耦合
  • 前端面试题总结
  • 如何解决微信端直接跳WAP端
  • 我看到的前端
  • 智能合约Solidity教程-事件和日志(一)
  • Linux权限管理(week1_day5)--技术流ken
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • #if 1...#endif
  • #Z0458. 树的中心2
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (C++20) consteval立即函数
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (一)Neo4j下载安装以及初次使用
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转)visual stdio 书签功能介绍
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • (转载)Linux 多线程条件变量同步
  • (转载)PyTorch代码规范最佳实践和样式指南
  • **PHP二维数组遍历时同时赋值
  • ..回顾17,展望18
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .NET 4.0中使用内存映射文件实现进程通讯
  • .NET CLR Hosting 简介