【自动驾驶】自动驾驶地图构建方法与工具小结

自动驾驶地图构建小结

概述

制作流程主要利用定位与建图算法(组合导航,视觉、激光SLAM等),融合多种传感器数据,构建高精度、高分辨率的三维语义地图,将要素矢量化,构建要素间的关联关系,通过质检确保质量可靠,形成地图引擎(服务、API)以满足自动驾驶系统的需求。

底图构建

底图构建存在两大类方法,点云建图与视觉建图。

点云建图

一般面向高精度采集设备,采用高线束激光雷达,硬件成本高。

一般使用高精度组合导航进行点云拼接,多次采集同一环境需要进行多次点云的融合处理,如使用特征约束抑制点云发散。

目前,存在较多的开源方案实现了多传感器紧耦合的点云定位与建图。

视觉建图

参考Structure from Motion与Bundle Adjustment方法,易于处理重复采集问题,也常用于众包更新。

上述两种方法面对城市峡谷、隧道、高架桥下组合导航精度下降的场景,需要采用视觉或点云观测紧耦合IMU\GPS以提升定位和建图精度。

底图标注

手动标注

以Autocore Map Toolbox为例,流程如下(参考视频https://www.youtube.com/watch?v=WTRHPs8pN04)

a. 新建Unity工程,加入Map Toolbox插件

b. 导入点云PCD文件

c. 手动标准

d. 结果导出为矢量地图,osm格式(参考OpenStreetMap介绍)

自动标注

流程大致如下:

a. 路面提取

b. 路面要素提取(陆沿、车道线、路面标识、停止线、斑马线等)、非路面要素提取(交通标牌、红绿灯、路灯及灯杆)

c. 采用视觉检测补充点云中缺失的要素,需要已知相机内参、相机-LiDAR外参,作2D反投影3D提取要素

d. 对线段进行曲线拟合,同一要素内线段排序,连接端点,完成矢量化

e. 添加语义,添加语义及车道的关联关系,构建地图索引和数据存储,生成高精地图数据文件

f. 人工修补

g.人工质检

标注方法

无论自动标注或者手工标注的方法,均需标注软件,因为机器算法无法做到百分之百,而且实际道路由于路标遮挡、磨损等原因,都需用标注软件手工修正。

一个功能强大的标注软件是高精地图生产必不可少的一部分。

工具软件

名称 支持格式 商业
LGSVL Map Annotation Apollo OpenDrive、OpenDrive、VectorMap、Lanelet2 免费
Assure Mapping Tools Google Earth、KML、Opendrive、Lanelet2、Vector Map 免费
AutoCore MapToolBox Lanelet2 免费
RoadRunner OpenDrive 付费
相关推荐
橙子小哥的代码世界几秒前
【深度学习】05-RNN循环神经网络-02- RNN循环神经网络的发展历史与演化趋势/LSTM/GRU/Transformer
人工智能·pytorch·rnn·深度学习·神经网络·lstm·transformer
985小水博一枚呀2 小时前
【深度学习基础模型】神经图灵机(Neural Turing Machines, NTM)详细理解并附实现代码。
人工智能·python·rnn·深度学习·lstm·ntm
SEU-WYL3 小时前
基于深度学习的任务序列中的快速适应
人工智能·深度学习
OCR_wintone4213 小时前
中安未来 OCR—— 开启高效驾驶证识别新时代
人工智能·汽车·ocr
matlabgoodboy3 小时前
“图像识别技术:重塑生活与工作的未来”
大数据·人工智能·生活
最近好楠啊3 小时前
Pytorch实现RNN实验
人工智能·pytorch·rnn
OCR_wintone4213 小时前
中安未来 OCR—— 开启文字识别新时代
人工智能·深度学习·ocr
学步_技术3 小时前
自动驾驶系列—全面解析自动驾驶线控制动技术:智能驾驶的关键执行器
人工智能·机器学习·自动驾驶·线控系统·制动系统
IFTICing3 小时前
【文献阅读】Attention Bottlenecks for Multimodal Fusion
人工智能·pytorch·python·神经网络·学习·模态融合
程序猿阿伟3 小时前
《C++游戏人工智能开发:开启智能游戏新纪元》
c++·人工智能·游戏