电子说
传统拓扑地图
我们先了解下传统拓扑地图,这是从地图app里截出来的图,从这张图我们可以得到很多信息:
◆ 拓扑信息:我们可以从地图里辨认出北清路的主干道,以及了解到北清路能延伸向哪些其他道路等,这些都是人们可辨认的拓扑信息。
◆ 各类 POI(信息点):我们能看到许多 POI 信息,包括中关村壹号-A1座,拉卡拉大厦等。
◆ 地图的用户是人。
◆ 米级精度:地图精度是米级别的,对于人类使用这已经足够了,因为人会自觉判别周围的环境,做出自己的变化。
但是这些信息对于自动驾驶的车辆来说,是不是必要的、准确的或者足够的呢?
一个自动驾驶典型场景
上图展示了一个典型的驾驶场景——假设我们正在驾驶的车辆是后面的白车,可以看到我们前方有辆自行车,那么对于白车而言,可以有两个决策:跟车或者变道。
对于自动驾驶车辆来说, 它作出变道决策需要知道很多具体的信息:
◆ 在哪条车道上以及当前车道的具体位置。
◆ 是否有隔壁车道,如果没有车道你是变不过去的。
◆ 是否允许变道,车道的类型,车道线是虚线还是实线,变道距离是否足够长,变道后是否能够达到终点。
自动驾驶车辆不能像人一样做出各种复杂的动作,这时就需要有一些先验的约束条件,那么这些先验信息都可以从地图中来。
HD Road Graph如何应用于自动驾驶
HD Road Graph (高精道路图)也是高精地图的一部分,又叫做拓扑地图。HD Road Graph 以厘米级精度来描述道路细节,主要包含:车道类型、车道连通性、交通标注/交通灯、人行横道、道路几何特征、其他语义信息。
大家可以看一下上图左侧,每一条路都已精细到车道,包括直行或左转的车道,当然也包括周边的一些几何信息。总体上你会发现高精地图上的信息要比传统地图大很多。
感知系统+高精地图
高精地图在自动驾驶里有很多应用,首先是与感知系统相结合。例如,高精地图里会描述红绿灯所在位置,当自动驾驶车辆到达路口后,可以根据当前的位置,更加准确地识别前方的红绿灯。
上图左边是一个普通的道路场景,而右边则是安装有几十盏红绿灯的特殊场景(其实现实情况基本不存在),在这种极端情况下,人类都很难分辨在哪个路口对应哪盏红绿灯。但如果前期在离线地图上就能把这个对应信息验证准确,无疑将对自动驾驶的安全性、可靠性起到很大帮助。
决策规划+高精地图
我们再来看下高精地图在决策规划方面的应用。前面我提到了一个典型驾驶场景,以及在此情况下,自动驾驶车辆的行驶需要得到一个全局的路径信息以及变道所需要的信息。
上图右侧的地图强调了绿化带,这其实为自动驾驶提供了语义信息。而地图里包含的语义信息将帮助自动驾驶做出更好的行驶决策。
还是以绿化带为例,当自动驾驶车辆能够提前知道旁边是绿化带,它便可以做一些先验的决策,例如可以提前判断在行驶中是否有行人、车辆直接从对向车道穿过来。这不仅提升了决策的准确性,也使得系统性能得到提升,因为自动驾驶车辆此时不需要过多关心对面车道的物体,计算量也因此减少。通过上面的例子,你会发现先验信息对自动驾驶决策来说必不可少,并且非常关键。
高精地图生成与发布
当前高精地图生成发布用到的流程(Pipeline)一般分为以下几个环节:
◆ 数据收集,地图信息的采集。
◆ 数据清洗/聚合。
◆ 自动化识别,把地图里的必要信息处理出来,包括车道线、红绿灯、十字路口等等各种信息。
◆ 人工检查/标注,现有的算法还做不到100%的自动抽取,所以仍会加入人工检查和标注的环节。
◆ 后处理和验证,整个数据出来之后,还需要进行后处理和验证。处理的最终目的是保证提供的地图信息是准确的,假设一个红绿灯位置标错了或者自动识别错了,那可能会导致路测过程中会出现安全隐患,所以验证环节是很重要的部分。
◆ Release(发布),验证通过后,将会进行数据的发布(Data Release),所有数据会纳入统一的管理中,每一版本Release的地图的质量已得到严格验证。
这是一个常规的发布流程。现实中整个路网结构是不断往外扩张的,且周围环境会有变化,所以也会有增量的更新。
成本与挑战
前面简单介绍了整个HD Road Graph的生成发布流程,我们来看下HD Road Graph可能会遇到的问题与挑战。
成本
◆ 厘米级别的精度:需要各类传感器(LiDAR、Cameras、GNSS/IMU),上图右边是苹果的地图车,大家可以看到上面装了很多传感器,显然制造这样一辆高精地图车辆的成本不低。
◆ 数据量:海量存储资源和计算资源。
◆ 覆盖范围:当地图从局部区域逐步向外扩张,例如从中关村壹号附近地区,扩张到海淀区,再到北京市,甚至是半个中国,这其中涉及的硬件成本和人力成本等,都会相应增加。
复杂性挑战
第二个是高精地图的复杂性带来的挑战。复杂性体现在地图Data Model(数据模型)需要包含三部分信息:
◆ 语义信息,从上图里的标志牌示例图可以看出,目前道路存在各式各样的交通标记。因此,高精地图需提高语义信息的准确性,并且尽可能提高覆盖度。
◆ 空间信息,上图中的立交桥是以复杂闻名的西直门立交桥——有人说,即使借助导航软件,你都未必能够从纵横交错的道路中准确找到下一条你要行驶的车道。因此挑战就是如何能够把整个空间信息描述好,集成到地图中去。
◆ 时间信息,北京有一些潮汐街道,早高峰和晚高峰走的方向是不一样的;或者某些公交车道在早高峰的时候只允许公交车行驶,其他车辆禁止使用。这类时间信息也需要包含进地图里。
当三类信息准确地整合进高精地图时,决策规划模块和感知模块才能有效地运作。
拓展性挑战
◆ 自动驾驶车辆每行驶一公里会产生GB级别的原始数据,处理这些数据会使得功能架构面临很大的挑战。
◆ 地图更新方面,从“天”级别到“小时”级别再到“分钟”级别的更新,对应的整体功能架构是不一样的。
实时性挑战
交通管制、环境变化等怎么反馈到HD Road Graph上?假设今天某条路修路,对于人类驾驶员而言,他可以选择绕过这条路。对于自动驾驶而言,这样的信息如何反馈到行驶过程呢?是靠人去反馈,还是系统自动去识别?得到反馈之后,怎么实时更新到地图数据里?
所以说,自动驾驶需要打通offline(线下)到online(线上)的环节,及时更新到我们正在运行的自动驾驶车辆里去。
全部0条评论
快来发表一下你的评论吧 !