百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

高精度地图:自动驾驶的向导_高精度地图 自动驾驶

myzbx 2025-09-01 09:48 20 浏览

来源:智能汽车设计 作者:Dr. Li

高精度地图是伴随着自动驾驶而生的,是目前研发L3及以上自动驾驶技术的标配。高精度地图是以厘米级精度来描述道路细节的数据集。与传统导航地图不同的是,高精度地图除了能提供的道路(Road)级别的导航信息外,还能够提供车道(Lane)级别的导航信息。无论是在信息的丰富度还是信息的精度方面,都远远高于传统导航地图。


01 国内外高精度地图发展概述

Waymo早在2009年就在为自动驾驶构建地图。随后,由于大算力芯片以及深度学习技术的蓬勃发展,自动驾驶技术能落地的场景也变得越来越丰富,同时自动驾驶技术本身带来的巨大商业价值,吸引了越来越多的国内外玩家进入该领域,进行深入研究来实现各类场景的落地。高精地图作为自动驾驶技术中的重要环节,在定位、感知、规划甚至端到端的自动驾驶算法中都能提供技术支撑,越来越多的企业加入了高精度地图制作行业来加速自动驾驶快速落地。

除了Here、TomTom等传统图商先后加入到高精地图制作外,自动驾驶技术公司Mobileye,Tesla等在自研高精度地图上也投入了大量精力。国内厂商紧随其后,2013年,国内图商四维图新、高德、宽凳科技等加入高精度地图的制作,同时,自动驾驶技术公司百度、Momenta等为满足L3级别的自动驾驶的要求也开始了高精度地图的制作和使用。


高精度地图在自动驾驶中的作用主要体现在如下几个方面:

感知:红绿灯感知、车道线感知、超视距感知等大大简化了自动驾驶过程中后续预测以及规控算法设计的复杂度。

路径规划与决策:使用高精度地图提供的信息提前进行路径规划,同时根据障碍物所在车道位置或者红绿灯等信息预测障碍物可能的运行轨迹,从而提前做出预判和决策。

安全:在雨雪、大雾等极端天气下,各传感器可能会出现一定失效或者感知结果不准确,高精度地图可以有效的进行信息的补充,从而保证自动驾驶汽车行驶过程中的安全性,同时,在一些如多层立交、隧道等复杂的道路场景下,利用高精度地图,结合视觉毫米波雷达、激光雷达等无源定位的无源传感器,实现自主定位,这种融合定位的方式会大大提升定位的准确性,也会进一步提升自动驾驶的安全性。


02 高精度地图制作方案对比

目前高精度地图的生产制作主要是两种方式,一种是采用摄像头这种纯视觉的生产方式,代表的公司Deep Motion、宽凳科技、Momenta等初创公司,纯视觉的生产方式除了大大降低生产成本,还会使得高精度地图制作的周期大大降低,加速高精度地图众包方案的落地,但是对算法技术的创新有较高的要求。另一种主流的方案是采用以激光雷达为主的高精地图采集方案来进行高精度地图的生产(图2为高精度地图采集车示意图以及实物图),代表公司有很多,例如Waymo、百度、四维图新、高德等,采用激光雷达为主,摄像头为辅的方案相对来说技术比较成熟,可以综合利用各个传感器的优势进行算法的研发,简化了后续算法研发的复杂度。但是生产制作成本高,生产周期长,同时不利于众包更新高精度地图方案的落地。


03 高精度地图制作技术发展趋势

高精度地图可以分为两个层级:静态高精度地图和动态高精度地图。受限于芯片算力以及制作成本的考虑,目前的高精度地图制作都是围绕静态高精度地图展开的,其组成主要包括车道线信息、方向箭头信息、道路标志牌信息、道路属性信息等。在静态高精度地图图层之上,动态高精度地图主要包括道路上发生的实时动态信息,主要包括随时间变化的交通标志(如红绿灯状态、潮汐车道等)、道路交通信息(道路拥堵情况、事故发生情况、道路施工情况、交通管制情况、天气情况、路面积水情况等)。目前高精度地图的生成一般涉及到的技术为数据采集、栅格图预处理、数据标注、检测识别、自动矢量化等生产流程,如图3所示。

  • 数据采集技术:一般利用多传感器GPS、IMU、轮速计、激光雷达或者摄像头融合技术计算出当前采集车的位置信息,让后将该位置信息以及激光雷达/摄像头的扫描信息写入到地图数据中。
  • 栅格图预处理:这里主要涉及点云拼接、栅格图融合以及伪影去除等。
  • 数据标注:利用标注工具对需要识别的元素按照一定的规则进行标注。
  • 检测识别:这里主要是利用深度学习算法进行检测和识别,提供目标元素的语义以及位置信息。
  • 自动矢量化:按照一定的精度要求,给出利用点线以及多边形所描述目标物体的坐标信息。这里主要涉及数据采样、多边形拟合等传统图像数据处理算法。

可以看出整个流程还是相当繁琐的,同时制作成本也是相当高的。加上后期的地图更新和维护成本也会是相当复杂和价格高昂,这些都大大限制了其使用范围,尤其是在自动驾驶领域大规模的落地使用和更新。

因此,为了解决在自动驾驶技术落地高精度地图使用的问题,产生了实时局部高精度地图生成的技术路线。相比较传统的高精度地图生成,该技术路线主要体现在高精度地图生成的实时性以及空间范围的局部性(只产生处在当前车辆周边环境的高精度地图信息以供自动驾驶使用)两个方面,如图4所示。

2021年,实时局部高精度地图技术路线主要是利用多视图摄像头/激光雷达采集到的图像数据利用神经网络进行特征提取并利用相机外参投影到鸟瞰图视角下,在鸟瞰图视角下进行解码操作得到车道线的分割信息以及车道线方向信息,在经过后处理操作得到矢量地图,如图5所示。

2022年,实时局部高精度地图技术路线迎来了比较大的变化,第一个比较大的变化是整个实时局部高精度地图生成变成端到端的方式,不再需要根据车道线的分割结果等进行矢量化后处理操作。第二个比较大的变化是,transformer网络结构被广泛地使用在图像或者激光雷达数据特征图的编解码阶段直接输出矢量化的地图数据,包含道路线的关键点信息,关键点之间的起始顺序以及拓扑结构信息。比较有代表性的工作有VectorMapNet(如图6所示)、该方案将不同模态(如摄像头图像和激光雷达点云)生成的特征转换为鸟瞰图特征后,再聚合到一个公共的BEV特征空间中;然后,基于transformer的网络结构进行车道线的关键点预测,最后利用注意模块建模生成关键点之间的拓扑连接关系。

MapTR(如图7所示)的方案首先是对原始图像进行语义特征提取,之后转换为鸟瞰图特征,采用transformer变体结构,使用分层级的query embedding机制结构化地编码地图要素的信息,最终输出地图要素的语义类别和节点位置。特斯拉的Lanes Neural Network(如图8所示)则更加面向工程化一点,Lanes Neural Network不仅用到了图像信息,而且其用到了导航地图的文本信息,例如车道线的数量、宽度、拓扑连接关系等属性描述,通过嵌入操作和视觉图像的特征信息统一到同一个特征张量空间输入到transformer网络结构进行解码输出,这也是文本与图像信息首次进行特征融合被用在局部高精度地图自动生成构建中。

其大概的过程如下:首先是视觉特征作为输入,利用transformer结构,网络会先预测关键节点的粗略位置,再以粗略位置所在的局部范围进行更精确的位置预测,然后预测该节点的语义信息,最后预测节点的连接拓扑关系,如分叉/并道/曲率参数等。网络会以这样自回归的方式将所有的车道线节点进行生成(按照一定顺序,如自上而下,自左到右)。


04 高精度地图制作技术发展趋势

从目前的技术发展路线来看,未来自动驾驶所需的高精度地图使用方式无论从制作成本、使用的便利性以后续更新的实时性角度考虑,很大概率会使用这种局部实时构建高精度地图的方式,感知数据输入会分为纯视觉(多视图)以及视觉与激光雷达融合输入的方案,但都是在鸟瞰图视角下利用transformer网络结构对多源数据(摄像头、激光雷达)进行感知特征的统一表征,同时为了提高车道线关键点之间拓扑结构关系描述的准确性以及更多的高精度地图元素输出,带有地图文本描述的信息会越来越多的加入到网络结构中,利用transformer网络结构将这些特征信息进行交互得到更准确的位置信息以及更多的高精度地图元素输出,而不局限于只有车道线、人行横道线等有关高精度地图线信息元素的矢量化输出。

通过将视觉感知、文本、语音等不同模态数据,通过映射到同一语义空间进行特征对齐后,利用transformer网络结构进行特征交互学习得到统一的多模态特征,灵活的根据不同的下游任务进行特征解码操作也将是未来很多AI模型训练的一种方式。


参考文献:

[1]
https://ryanadex.github.io/2019/06/04/opendrive/

Opendrive地图数据解析

[2] Q. Li, Y. Wang, Y. Wang, and H. Zhao. Hdmapnet: A local semantic map learning and evaluation framework. arXiv preprint arXiv:2107.06307, 2021

[3] Yicheng Liu, Yue Wang, Yilun Wang, and Hang Zhao. Vectormapnet: End-to-end vectorized hd map learning. arXiv preprint arXiv:2206.08920, 2022a

[4] Liao B, Chen S, Wang X, et al. MapTR: Structured Modeling and Learning for Online Vectorized HD Map Construction[J]. arXiv preprint arXiv:2208.14437, 2022.

[5] Thinkautonomous.ai, “A Look at Tesla’s Occupancy Networks”,
https://www.thinkautonomous.ai/blog/occupancy-networks/

[6] 地图采集车的那些事 | 载车篇

https://zhuanlan.zhihu.com/p/367189697

相关推荐

如何设计一个优秀的电子商务产品详情页

加入人人都是产品经理【起点学院】产品经理实战训练营,BAT产品总监手把手带你学产品电子商务网站的产品详情页面无疑是设计师和开发人员关注的最重要的网页之一。产品详情页面是客户作出“加入购物车”决定的页面...

怎么在JS中使用Ajax进行异步请求?

大家好,今天我来分享一项JavaScript的实战技巧,即如何在JS中使用Ajax进行异步请求,让你的网页速度瞬间提升。Ajax是一种在不刷新整个网页的情况下与服务器进行数据交互的技术,可以实现异步加...

中小企业如何组建,管理团队_中小企业应当如何开展组织结构设计变革

前言写了太多关于产品的东西觉得应该换换口味.从码农到架构师,从前端到平面再到UI、UE,最后走向了产品这条不归路,其实以前一直再给你们讲.产品经理跟项目经理区别没有特别大,两个岗位之间有很...

前端监控 SDK 开发分享_前端监控系统 开源

一、前言随着前端的发展和被重视,慢慢的行业内对于前端监控系统的重视程度也在增加。这里不对为什么需要监控再做解释。那我们先直接说说需求。对于中小型公司来说,可以直接使用三方的监控,比如自己搭建一套免费的...

Ajax 会被 fetch 取代吗?Axios 怎么办?

大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发!今天给大家带来的主题是ajax、fetch...

前端面试题《AJAX》_前端面试ajax考点汇总

1.什么是ajax?ajax作用是什么?AJAX=异步JavaScript和XML。AJAX是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX可以使网页实...

Ajax 详细介绍_ajax

1、ajax是什么?asynchronousjavascriptandxml:异步的javascript和xml。ajax是用来改善用户体验的一种技术,其本质是利用浏览器内置的一个特殊的...

6款可替代dreamweaver的工具_替代powerdesigner的工具

dreamweaver对一个web前端工作者来说,再熟悉不过了,像我07年接触web前端开发就是用的dreamweaver,一直用到现在,身边的朋友有跟我推荐过各种更好用的可替代dreamweaver...

我敢保证,全网没有再比这更详细的Java知识点总结了,送你啊

接下来你看到的将是全网最详细的Java知识点总结,全文分为三大部分:Java基础、Java框架、Java+云数据小编将为大家仔细讲解每大部分里面的详细知识点,别眨眼,从小白到大佬、零基础到精通,你绝...

福斯《死侍》发布新剧照 "小贱贱"韦德被改造前造型曝光

时光网讯福斯出品的科幻片《死侍》今天发布新剧照,其中一张是较为罕见的死侍在被改造之前的剧照,其余两张剧照都是死侍在执行任务中的状态。据外媒推测,片方此时发布剧照,预计是为了给不久之后影片发布首款正式预...

2021年超详细的java学习路线总结—纯干货分享

本文整理了java开发的学习路线和相关的学习资源,非常适合零基础入门java的同学,希望大家在学习的时候,能够节省时间。纯干货,良心推荐!第一阶段:Java基础重点知识点:数据类型、核心语法、面向对象...

不用海淘,真黑五来到你身边:亚马逊15件热卖爆款推荐!

Fujifilm富士instaxMini8小黄人拍立得相机(黄色/蓝色)扫二维码进入购物页面黑五是入手一个轻巧可爱的拍立得相机的好时机,此款是mini8的小黄人特别版,除了颜色涂装成小黄人...

2025 年 Python 爬虫四大前沿技术:从异步到 AI

作为互联网大厂的后端Python爬虫开发,你是否也曾遇到过这些痛点:面对海量目标URL,单线程爬虫爬取一周还没完成任务;动态渲染的SPA页面,requests库返回的全是空白代码;好不容易...

最贱超级英雄《死侍》来了!_死侍超燃

死侍Deadpool(2016)导演:蒂姆·米勒编剧:略特·里斯/保罗·沃尼克主演:瑞恩·雷诺兹/莫蕾娜·巴卡林/吉娜·卡拉诺/艾德·斯克林/T·J·米勒类型:动作/...

停止javascript的ajax请求,取消axios请求,取消reactfetch请求

一、Ajax原生里可以通过XMLHttpRequest对象上的abort方法来中断ajax。注意abort方法不能阻止向服务器发送请求,只能停止当前ajax请求。停止javascript的ajax请求...