【论文阅读2】机器学习辅助高精地图制作

Machine Learning Assisted High-Definition Map Creation

2018 42nd IEEE International Conference on Computer Software & Applications

​ 今天主要完成一篇机器学习辅助高精地图制作的一篇综述paper阅读记录。本文主要对高精地图制作流程中的关键部分,对主流算法进行了一些介绍,内容非常全面。

​ HD Map是高精度,包含全面的几何信息以及道路网络和周围环境语义的数字地图。,为自动驾驶汽车系统的几乎所有其他模块提供关键输入,包括定位、感知、预测、运动计划、车辆控制等。尽管在不使用HD Map的情况下是否能构建全自动驾驶汽车系统(HAD System)的争论一直存在,但我们所知的现有的HAD系统都无法在不使用某种HD Map的情况下在城市环境中运行。

image-20200305215959783

主要贡献

本文的贡献有两个方面:

  1. 首先,它提供了业界使用的HD Map创建过程的完整工作流程摘要。
  2. 其次,它详细介绍了机器学习技术,这些技术用于协助行业从业人员以及学者创建高清地图。

介绍

传统方法构建高清地图需要大量的手动标注工作。本篇文章首先介绍了高清地图的特点和层次划分。 然后,我们介绍了HD Map创建的工作流程; 最重要的是,介绍了用目前业界正在使用的机器学习技术,来最大程度地减少高清地图创建过程中的手动标注工作。

在高精地图制作过程中,从数据中提取语义信息耗时且价格昂贵,此部分工作的自动化对于提升高精地图制作效率和质量尤为重要。一般基于启发式和基于机器学习的方法都用于这部分的工作。

  • 基于启发式方法可以参考以下文章:
  1. Semi-automated extraction and delineation of 3D roads of street scene from mobile laser scanning point clouds. 2013
  2. Semiautomated extraction of street light poles from mobile LiDAR point-clouds.2015
    Recognizing Street Lighting Poles from Mobile LiDAR Data. 2017
  3. Automatic Detection and Classification of Pole-Like Objects for Urban Cartography Using Mobile Laser Scanning Data. Sensors, 2017
    1. Detection and Classification of Pole-like Objects from Mobile Mapping Data. 2017
  • 基于图像的方法可参考:
  1. https://www.mapillary.com/
    1. Making Bertha drive—An autonomous journey on a historic route. 2014
  2. https://lvl5.ai/

基本概念

特点

  1. 高精度,通常在5-20cm
  2. 丰富的几何信息和语义,包含车道模型,红绿灯信息,以及其他道路元素
  3. 数据新

层次划分

依据地图数据结构和用途,层次划分也不一样,一般包含以下四层

2D反射率地图(2D Orthographic Reflectivity Map)

依据是不同材料在激光的照射下具有不同的红外反射强度。在组合了相同区域的多次扫描数据并将强度值纹理化为点之后,反射率贴图实际上可能看起来像真实感。反射率地图广泛用于定位。可参考以下论文

  1. Map-Based Precision Vehicle Localization in Urban Environments. In Robotics: Science and Systems 2007
    1. Automatic laser calibration, mapping, and localization for autonomous vehicles 2011
  2. Making Bertha drive—An autonomous journey on a historic route. 2014
    1. Lane marking based localization using highly accurate maps. 2013

数字高程模型(DEM)

DEM是一种3D模型,可对驾驶环境表面的3D形状进行建模,例如路缘的高度,坡道或丘陵路的坡度/陡度等,可用于定位,感知,运动规划和车辆控制。

车道/道路模型

车道/道路模型是一个非常重要的矢量化层,包含车道段和道路段的语义。 道路模型包括不属于车道的道路部分,例如道路边缘。 但是,由于我们始终会始终将自动驾驶汽车始终以车道为中心,因此实际上,自动驾驶汽车只需要处理车道模型,除非在极少数情况下需要在车道边界之外行驶。

静态图层

这通常是一个通用层,用于存储行驶环境中这些静态元素的语义以及其他层中未捕获的预计算(例如,交通信号灯及其与车道的关联,道路障碍物,在交通许可时的最佳路径等)。

高精地图制作流程

一般分为以下四步,数据采集、高精地图生产、质量控制和验证、更新和维护

数据采集

传感器LiDAR scanner(s), cameras, GPS, IMU (Inertial Measurement Unit), Wheel Odometer等

采集的数据一般分为两部分

  • HD Map Data:主要来源与激光和视觉数据,包含丰富的几何信息和语义。

  • Auxiliary data(辅助数据):包含GPS/IMU/Wheel Odometry数据,用于精准估计采集车的位姿。

高精地图制作

地图制作是离线过程,一般分为以下四步

image-20200305215959783

传感器融合和位姿估计

得到采集车精准的位姿是地图生产的关键,受限于GPS/IMU/wheel odometry等传感器的特性,我们无法直接得到实时的位姿,通过使用图优化的SLAM融合不同传感器的数据,可以通过离线优化来估算准确的位姿。

地图数据融合和数据处理

有了精准的位资,我们可以融合激光和图像数据,因此依然需要使用每秒几帧(通常低于10帧/秒)的高分辨率的图像。在数据融合期间,对点云的多次扫描进行对齐和校准以获得更密集的点云。 点云和相机图像相互配准,因此我们可以使用点云直接获取对象的3D位置,并使用注册图像识别语义,因为点云提供3D位置,但通常在图像时过于稀疏,无法显示符号含义 ,图像在这些方面做得很好,但不提供3D信息。

剩下数据处理的工作包括道路模型构建,不相关/动态/较远物体去除、纹理化以生成逼真的正交图像(texturing to generate photorealistic orthographic images )。

3D障碍物检测

LiDAR点云包含3D位置信息,并且可以使用基于几何的方法或在3D点云上进行深度学习,对点云进行3D对象检测, 我们还可以通过三角剖分从图像中检测3D对象的位置。

语义/属性提取

最后一步也是最重要的是,从数据中提取语义和属性,包括道路/车道模型构建,交通标志识别及其与车道关联,路标语义提取,以及各种道路元素检测。

质量控制和验证

更新和维护

机器学习辅助制图

HD Map创建过程的以下方面使机器学习技术成为提高HD Map创建效率和HD Map质量的自然选择。需要大量人力,大规模海量数据,与其他自动驾驶任务共享的问题。

Human-in-the-Loop机器学习

image-20200305224013745

说半天不明白作者讲啥…

现在我们已经有标记好的数据,研究人员/工程师可以训练有监督的机器学习模型,该模型用于对剩余或新收集的未标记数据进行分类。为了使“Human-in-the-Loop”机器学习发挥作用,我们必须具有一个关键要素:机器学习模型预测的置信度估计(而评估不同类型机器输出的置信度的主题估计神经网络预测的置信度分数的几种方法值得一提,包括使用蒙特卡洛的贝叶斯方法,具有对抗训练的基于熵的置信度和基于距离的置信度)。一旦获得了机器学习模型输出的置信度分数,就可以将高置信度的输出直接保存到HD Maps中,并将低置信度的输出发送给操作员进行判断,然后将这些低置信度的结果的手动标签放入HD地图,并在下一次迭代中反馈以重新训练机器学习模型。从某种意义上说,“Human-in-the-Loop”机器学习是一种主动学习。

机器学习辅助制图应用

机器学习主要是用来提升语义和属性提取。

位姿估计

传统方法,可以基于滤波器,图优化SLAM,vslam的方法,参考以下

  1. A tutorial on graph-based SLAM. 2010
  2. Past, present, and future of simultaneous localization and mapping: Toward the robust perception age.2016
  3. FastSLAM: A factored solution to the simultaneous localization and mapping problem. 2002

近期有基于深度学习方法来根据图像,来解决姿态估计的问题。一个例子是PoseNet [18],它是一种改进的GoogLeNet,用于估计6自由度位姿。 它用仿射回归器(affine regressors )代替softmax分类器,并在最终的完全连接层输出姿态矢量。 尽管PoseNet的性能在用于制作HD Maps上不能令人满意,但这毕竟是朝着应用深度学习解决姿势估计问题的方向迈出的第一步。

  1. Posenet: A convolutional network for real-time 6-dof camera relocalization. 2015
    1. Image-based localization using LSTMs for structured feature correlation 2016

车道/道路标记提取

路标包括,lane boundaries, lane divider lines, arrows, crosswalk (zebra crossing) markings, speed limit texts, lane type markings 等,一般从点云数据中提取,用启发式或者时基于规则的方法,我们只讨论机器学习方法。参考以下文章

Learning hierarchical features for automated extraction of road markings from 3-D mobile LiDAR point clouds 2015

在使用反射率阈值从路面点提取小规模道路标记(箭头和矩形)后,使用深度玻尔兹曼机对小规模道路标记(箭头和矩形)进行分类,然后使用PCA进一步区分人行横道(垂直堆叠的矩形)与虚线车道线(水平排列的矩形) ; 作者报告的召回率为93%,准确度为92%。 百度使用CNN从点云生成的反射率成像中提取图像,并通过使用具有解池功能un-pooling 的多个反卷积层,生成的高清地图可以达到令人印象深刻的分辨率(高达1cm x 1cm的精度),像素级召回率及其像素级精度。 方法分别为93.80%和95.49%[21]

交通信号灯关联

交通信号灯映射功能是映射交通信号灯的位置,并将它们与相应的车道相关联,以便它可以在运行时加快自动驾驶汽车的交通信号灯状态检测。 Google使用基于图像的方法来关联交通信号灯。 他们首先通过SLAM离线优化或通过预先构建的HD Maps实时定位来获得准确的位姿,然后根据它们与路口的接近程度过滤掉大多数不包含交通灯的图像,然后使用机器学习的分类器来检测图像中的交通信号灯,然后使用迭代过程从同一交通信号灯的多个图像中对3D位置进行三角剖分,并按相同的3D位置关联图像组,直到收敛为止。 结果表明,他们的方法可以映射95%〜99%的交通信号灯,且位置误差小于15 cm

Traffic light mapping and detection. ICRA 2011

交通标识关联

交通标志映射通常以两种方式完成:
1)基于图像的方法,类似于上述交通信号灯的映射方式;
2)基于融合图像点云数据的方法:
该想法是首先使用3D点云检测交通标志的位置,并使用已注册的图像识别交通标志的语义(如今,CNN可以轻松地以出色的性能来完成此操作)。 下面文章使用支持向量机直接从3D点云中检测所有类型的交通标志(不读取其内容),精度为89%,但他们的工作无法识别标志的内容(除非他们通过独特的方式检测停车标志 形状)

Towards fully autonomous driving: Systems and algorithms 2011

道路边界提取

道路边缘提取是构建矢量化车道/道路模型的任务。 传统上,此任务是由操作员通过可视化工具手动标注路缘的。 还有一些主要基于路缘点与路面高程差异的启发式方法的自动化技术[23,24],也有一些基于密度和坡度变化的启发式技术[23]或其他启发式技术[25]。 一些使用深度学习的作品已经出版,但尚未发表[26]。

  • Mapping curbstones in airborne and mobile laser scanning data. 2012
  • Lidar-based road and road-edge detection. 2010
  • Semi-automated extraction and delineation of 3D roads of street scene from mobile laser scanning point clouds. 2013
  • Road edge detection on 3D point cloud data using Encoder-Decoder Convolutional Network.2017

灯杆提取

灯杆是一种有助于定位的道路元素,尤其是在路面没有太多特征的时候。 历史上,检测灯杆的许多工作都是通过基于几何的启发式方法或使用能量函数来完成的,例如 [27]。 使用机器学习的作品也表现良好; 通常,在通过基于几何的方法识别候选对象之后,将机器学习模型用于对类杆状对象进行分类。 例如,[28]使用高斯混合模型从候选对象中识别出灯杆,整体表现达到了90%的真实正向率; [29]使用线性判别分析和支持向量机对包括照明灯杆在内的不同类型的杆状物体进行分类,达到了90%以上的精度。 [30]使用随机森林对杆状物体进行分类,灯杆的精度和召回率分别达到94.8%和97.5%

  1. Semiautomated extraction of street light poles from mobile LiDAR point-clouds.2015
  2. Recognizing Street Lighting Poles from Mobile LiDAR Data.2017
  3. Automatic Detection and Classification of Pole-Like Objects for Urban Cartography Using Mobile Laser Scanning Data. 2017
  4. Detection and Classification of Pole-like Objects from Mobile Mapping Data.

HD Map更新

​ 为了及时更新HD Map,至少需要处理两个问题:及时收集新的HD数据并从新数据中检测修改。为了收集新数据,通常将测绘工具发送到任何地方以不断地重新收集数据是不经济的。尽管自动驾驶公司可以依靠在道路上进行测试的自动驾驶汽车来收集高质量的新数据,但覆盖范围仍然存在疑问;一些HD Maps供应商与汽车制造商合作,从收集的配备有各种传感器的智能汽车中获取新的地图数据。

​ 当前,许多高清地图构建者也正在采取众包的方式,其中的挑战在于确保数据质量满足高清地图的需求。输入新数据后,必须进行道路变化检测和道路事件(例如道路封闭)检测。训练机器学习模型以从图像中检测道路事件的问题在于,道路事件的训练数据可能相对较少(正例与负例之间的数据不平衡)。为了解决这个问题,通常使用转移学习来利用预训练的模型。人们可能还会尝试使用来自联网车辆或移动设备的汇总GPS轨迹来检测交通模式的变化,从而推断出道路变化的可能性。

点云深度学习方法

​ 在对点云数据进行机器学习时,在针对特定任务进行手工特征设计之前,首先将点云转换为其他表示形式(例如,体素化或投影到透视图)。在提出PointNet,PointNet ++,VoxelNet等建议之前,几乎没有任何工作可以训练更通用的机器学习模型直接从点云数据结束。
​ PointNet是一种深度网络架构,可以直接从点云进行端到端培训。点云作为N(点数)乘D(维)2D矩阵输入到网络。事实证明,当数据损坏时,PointNet非常强大。 PointNet的缺点是无法学习局部结构,因此很难推广到大规模场景。它具有一个分类网络和一个分割网络,其性能与之前从点云中学习到的深层网络(转换为其他形式的表示形式)相比,具有同等的性能或稍好一些。
​ PointNet ++ 在PointNet上进行了改进。它是一个层次神经网络,将PointNet递归应用于输入点集的嵌套分区。分层点集特征学习类似于ConvNet的多层卷积操作:PointNet ++提取局部特征,以捕获来自小邻域的精细几何结构。这些局部特征将进一步分组为较大的单元,并进行处理以生成更高级别的特征。在ModelNet40数据集上进行测试时,PointNet ++的3D形状分类精度达到91.9%。
​ VoxelNet由Apple引入,是直接在3D点云上的另一种端到端可训练的深度神经网络体系结构。它提出了一种新颖的体素特征编码器,可将点云转换为描述性的体积表示,然后再馈入RPN(区域提议网络)以生成检测。 VoxelNet曾经是KITTI汽车检测基准测试中的领先分类器。

-------------    本文结束  感谢您的阅读    -------------
胡想成 wechat
欢迎关注个人公众号!
您的支持,是我装逼的最大动力!

本文标题:【论文阅读2】机器学习辅助高精地图制作

文章作者:胡想成

发布时间:2020年02月27日 - 15:02

最后更新:2020年07月18日 - 23:07

原始链接:xchu.net/2020/02/27/43hdmap-creation/

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0许可协议,转载请注明出处!