高精地图:激光雷达点云与高精地图融合
高精地图:激光雷达点云与高精地图融合
定位精度和更新频率是高精定位的显著特征。
- 精度与频率:根据推算,高精定位需要实现≤25cm 的定位精度,更新频率≥100Hz,因此需要在一般导航定位方案的基础上,与激光雷达、摄像头等感知设备相结合。
- 解决方案:按照定位参考系的不同,分为绝对位置与相对位置两个维度,前者以 GNSS/ RTK 定位代表,后者结合高精地图,以点云或视觉匹配为核心。
- 实际应用:在实际应用中,是兼而有之的融合方案,例如百度 Apollo 以 GNSS 定位与点云匹配定位相融合,最终输出一个 6 自由度的位置和姿态信息。
实现该定位方案的三个关键环节:
l 高精地图的绝对坐标精度,以及包含道路信息的丰富、细致程度;
l 摄像头、激光雷达等设备的感知能力;
l 匹配算法的性能。此外还有不依靠高精地图支持,单纯通过视觉里程算法实现定位的思路。据高德高精地图团队谷小丰透露,高德基于“激光雷达+摄像头”的相对位置定位方案,能够实现平均误差 9cm 的定位精度。
相对位置与绝对位置代表,思考高精定位的不同视角,在实际运用中是兼而有之。自动驾驶汽车在实际行驶过程中,会遭遇各种路况环境,比如卫星信号中断、视线模糊、激光雷达反射遮挡等,以及尚未遭遇到的“长尾案例”。为实现 L3 及更高级别的自动驾驶,仅仅依靠某一定位方案远远不够,而需要多传感器、多系统的融合定位方案。
相对位置:点云匹配与视觉定位
绝对位置定位以地球为参考系,相对位置定位以当前驾驶场景为参考系。相对位置定位思路,与人类驾驶过程更为类似:人类驾驶员在驾驶过程中,通过视觉观察周围场景中的物体,包括建筑、路缘、标志线等,经过比对判断车辆,在当前场景中的位置。
类似地,自动驾驶汽车通过高清摄像头、激光雷达等感知设备获取周围场景内物体的图像或反射信号,与事先采集的高精地图数据,进行匹配,从而获取对车辆当前位置的精确估计。
相对位置定位可以分为(激光雷达)点云匹配和视觉定位两大技术路线。点云匹配以激光雷达为核心:激光雷达向外发射激光脉冲,从地面或物体表面反射,形成多个回波,返回到激光雷达传感器,经处理后的反射数据称为点云数据。
采集到的点云数据与高精地图进行匹配,以实现汽车在当前场景的高精定位,目前主流的匹配算法,包括概率地图与 NDT (正态分布变换)算法两种,代表玩家如 Google、HERE、TomTom。
视觉定位以摄像头为核心,分为两种路径:视觉匹配与视觉里程定位。视觉匹配通过提取图像中的道路标识、车道线等参照物体与高精地图进行匹配,实现精准定位,代表玩家如特斯拉、Mobileye、英伟达。基于视觉里程算法的定位技术,以双目摄像头为主,通过图像识别,以及前后两帧图像之间的特征关系,计算车辆当前位置。
但该方案依赖摄像头的成像质量,在光线不佳、视线遮挡等环境下定位可靠性有待考量,一般不会单独使用。不管是点云匹配还是视觉定位,在实际运用中,都并非单纯依靠某一种感知设备,而是实现包括 GNSS/RTK 定位、IMU、雷达在内多套子系统的融合。
绝对位置与相对位置互为结合,互为补充
高精度定位由多个定位导航子系统交叉组成,彼此之间相互冗余。按照百度 Apollo的划分,适用于自动驾驶汽车的定位技术,可由六部分组成,分别为:惯性导航(定位)、卫星定位、磁力导航(定位)、重力导航(定位)、激光点云定位、视觉定位。不同部分之间优势互补,定位结果之间相互重叠以矫正误差,提高定位精度和鲁棒性。
地面标识种类繁多:实际场景中地面标识种类繁多,在内容、颜色、形状、尺寸等方面均有不同分布。
颜色:比如黄色、红色、白色等
形状:箭头形、各种文字数字形状、条形、多条形、面状、丘状等
尺寸:国标定义的标准箭头长度为9m,但也存在1m~2m甚至1m以下的地面标识元素,尤其减速带,人行道等,尺寸差异会更大,反映到图像中像素个数,以及长宽比,均会有较大差异。
图1. 部分地面标识
磨损压盖多:地面元素长年累月受车辆、行人等碾压会造成磨损,经常存在的堵车等场景,更是加大了地面要素被遮挡的可能。从激光雷达获取的点云数据,由相机获取的可见光图像数据的质量,均参差不齐,对地面标志识别,带来了极大的挑战。
常见的问题如下所示,示例如图2所示。
地面标识磨损:地面标志由于磨损褪色、掉漆导致不完整或者严重不清晰
采集环境问题:遮挡(施工、车辆)、由于环境改变引起的材料激光反射率差异,可见光不清晰(雨天、逆光等)。
图2. 自然场景下拍摄的地面标识
4. 识别起步
地面标识识别,将地面标识这部分区域提取出来,则最直观的是对其进行阈值分割、骨架提取、连通域分析等传统方法。首先获取点云中地面点集合,接着获取集合中高反射率部分的骨架集合,然后对每个局部骨架区域,计算强度截断阈值,最后对区域进行连通区域搜索,以及附加降噪措施等。
另外也尝试了GrabCut等算法在地面标志上的提取,GrabCut算法对前景和背景分别聚类,得到k组类似的像素集合,对前景和背景,分别进行高斯混合模型(GMM)建模,判断像素属于地面标志还是背景。在提取疑似地面标识区域后,再经过机器学习模型(SVM等),进行细分类以获得更好的识别效果。
图3. 传统提取方法识别结果
由上图可以看到,对于一些前后景区分比较好的地面标识提取的比较好,但是针对有磨损、模糊、前景背景相似、背景复杂等情况均效果欠佳,容易漏召回且位置精度不高,鲁棒性不强。
5.深度学习时代
2012年Hinton团队提出的Alexnet网络,赢得了2012年图像识别大赛冠军,相比传统方法获得显著提升,CNN在图像领域有了明显优势。近几年,基于深度学习的检测识别技术,得到了很大发展。
深度学习时代是数据和硬件驱动的时代,结合部分人工标注以及自动化生成,拥有百万级的数据,而且各种场景的数据还在不断丰富,结合算法探索与创新,取得了越来越好的技术与业务效果。
目前检测识别技术主要分为两大方向:Two-Stage(如RCNN系列)和One-stage(SSD、YOLO等)。Two-Stage网络优势在于效果整体较好,识别位置较精确,对小目标检测也有一定的竞争力。
One-stage检测识别方法优势,在于处理速度较快。高精地图不仅需要较高的识别性能、也需要有足够高的识别位置精度,选择了准确率较高的Two-stage大方向。
1)R-FCN检测
结合位置敏感得分图(position-sensitive score map)和位置敏感降采样(position-sensitive roi pooling)等操作,R-FCN算法在目标检测识别上,获得了较高的性能和位置精度,选择了R-FCN检测算法,实现对地面标识的检测识别。
R-FCN算法基于深度学习的方法,通过学习大量实际场景样本,在泛化性上取得了比较大的提升,自动化识别,对于不同场景的识别能力有所提高,地面标识召回率,得到了较大的改善。算法示意图如下所示:
图4. R-FCN算法示意图
以下为一些地面标识检测识别示例:
图5. R-FCN算法地面标识识别示例
引入深度学习,极大的改善了高精地图地面标识,自动识别的性能,地面标识召回得到了很大提升,美中不足,R-FCN存在着一个弊端,输出的最终检测位置,基于地面标识类别的得分,往往得分最高的位置,不一定跟实际位置最贴合,在位置预测精度上,R-FCN并不完美。
2)级联检测器
随着深度学习的发展,业界对目标检测识别位置精度的要求不断提高,更多高精度检测识别算法被提了出来,如Iou-Net等。
适时采用了更加先进的识别算法,获得更加精准的位置精度,满足产线业务需求,结合级联检测,利用Deformable-Conv自适应感受野等技术,提升算法识别精度。
算法不同于传统算法,对roi进行一次预测回归,得到最终位置,而是通过级联的形式,不断修正预测的位置和实际位置的偏差,每经过一个级联回归器,算法识别结果均会更加贴合真值,非常有利于提高识别精度,契合高精地图,对目标位置精度的高要求,最后在召回和位置精度上,达到更好的效果。
图6.级联检测算法原理图
以下为一些算法识别结果示例:
图7. 级联检测算法识别示例
通过引入级联形式的检测识别模型,令高精产线自动识别能力,在识别精度上,得到了不错的提升,但对自动识别位置精度提升的挖掘是无止尽的,有了以下的方案。
3)级联检测 + 局部回归
设想一下,如果在地面标识区域,进行局部的位置回归,网络就能够聚焦到更加细微的地面标识区域,最终得到更加接近边界的位置。结合实际在做地面标志识别时,将容易造成精度问题的部分单独做位置精修,得到了更加精细的位置。
以下为部分算法识别结果示例:
图8. 算法识别示意图
采用检测+回归技术方案,实现了更加好的位置检测精度,让离“真实世界”更进了一步。其缺点是技术方案流程较长,不够简洁美观。
4)基于角点的检测
基于角点回归的目标检测方法,使用单个卷积神经网络,预测两组热力图,表示不同物体类别的角的位置,将目标边界框检测为一对关键点(即边界框的左上角和右下角),每个检测到的角点的嵌入向量。角点用于确定目标位置,嵌入向量用于对属于同一目标的一对角点,进行分组。
此种方法简化了网络的输出,通过将目标检测为成对关键点,消除了现有的检测器设计中,对特征层需要大量anchors的弊端,大量anchors造成了大量的重叠,以及正负样本不均衡。同时为了产生更紧密的边界框,网络还预测偏移,以精细调整角点的位置。通过预测热力图、嵌入向量、偏移,最终得到了精确的边界框。
图 9 角点检测示意图
由于在检测任务中,需要获取相同尺寸的特征图,对目标进行位置回归、类别分类等,算法会进行量化,降采样等操作,不可避免会有精度上的损失。这个弊端带来的最大影响,就是经由检测回归出的位置不够鲁棒,在某些情况下,出现或多或少的偏移。
5)级联检测 + 分割精修
随着语意分割技术的不断成熟,基于深度学习的语意分割,已经能够将输入图像,进行像素级的分类,精度也越来越高,图片中要素的轮廓越来越精细。
采用以resnet 为主干的分割模型,结合了自适应感受野、多尺度融合、Coarse-Fine融合、感兴趣区域注意力机制等技术,实现了对地面标识的像素级分割。
为了获取地面标识的实体信息,仍然用检测来确定地面标识大致位置,最终由对应区域的地面标识分割语义信息,获取最终精确的地面标识位置。
图10.地面标识分割示意图
以下为部分检测结合精修示例图:
图11. 分割精修示例
语义分割的引入,使得地面标识的识别位置精度,得到了改善,解决了由检测带来的,识别位置精度不鲁棒的问题,使得高精地图地面标识自动化效果,上了一个新的台阶。
但是这种方法稍显繁琐,而且检测和分割任务,需要耗费大量GPU资源,一张图片,需要同时多次GPU运算,加上后续的CPU后处理融合,才能够得到最终的结果,如果能够将这些步骤优化,必然能够简化流程,节省大量运算资源。
6)PAnet
基于以上考虑,采用了基于PAnet的检测识别算法。传统的实例分割模型,各层中的信息传播不够充分。PAnet较好的解决了这些问题,充分融合了coarse、fine特征,不仅有自顶向下的特征融合,还结合了自底向上的特征融合,在高层特征中,充分融合进了底层的强定位特征,解决了浅层特征信息丢失的问题。
结合了自适应特征降采样,将不同特征层进行融合提取roi特征做预测,添加额外mask前景背景分类分支,使得预测mask更加精确,结合对于目标检测位置精度,有比较大的收益。分割和检测任务结合,能够互相促进取得更好的结果。
图 12 PAnet 示意图
以下为一些算法的识别结果示例。可以看到,算法对部分磨损模糊的地面标识,也有了一定的宽容度,位置精度有了巨大的改善。(图中地面标识外框为检测得到的大概位置,内框为根据像素级分割得到的位置,取内框为地面标识最终位置)。
图 13 检测识别实例
采用上述方案,需要将点云投影为2D空间,中间有一定的归一化量化操作,不可避免的会损失一些信息,在一些点云反射率较低的地方,容易造成目标丢失。如果能够在原始3维点云上,提取这些问题就迎刃而解。
7)基于3维点云的目标检测
基于上面的考虑,探索原始点云上的3D物体检测,3D点云识别,各种真实世界应用的一个重要组成部分,如自主导航、重建、VR/AR等。与基于图像的检测相比,激光雷达提供可靠的深度信息,可以用于精确定位物体,表征形状。
探索了多种3维点云识别算法,比如基于bird-view、voxel等的3维点云识别。由于PointRCNN在原始3维点云目标检测上的良好表现,采用基于PointRCNN的方法,提取地面标识,整个检测框架包括两个阶段:第一阶段将整个场景的点云分割为前景点和背景点,自下而上的方式,直接从点云生成少量高质量的3D proposal。
第二阶段在规范坐标中,修改候选区域获得最终的检测结果,将每个proposal经池化后,转换为规范坐标,以便更好地学习局部空间特征,同时与第一阶段中全局语义特征相结合,用于预测Box优化和置信度预测。
图 14 3维点云检测
7. 效果与收益
大数据的支撑使得算法,拥有更好的鲁棒性与识别能力。结合算法中各种策略,以及多种数据源(点云、可见光等),在不断提升地面标识识别精度,其位置精度在Ground Truth 5cm范围区间内达到99%以上,召回也达到了99.99%以上,各项指标都得到了稳步提升。
上述方案已经正式上线,并处理了大量数据,准召率都达到了生产作业的要求,同时算法对人工作业产线的效率提升,作用日益提高。以下是部分效果图:
图15. 地面标识检测效果图
8. 总结
高精地图被称作自动驾驶系统的“眼睛“,与普通地图最大的不同点,在于使用主体不同。普通导航地图的使用者是人,用于导航、搜索,而高精地图的使用者是计算机,用于高精度定位、辅助环境感知、规划与决策。高精地图对地图要素,不仅需要极高的召回率,还需要非常高的位置精度。
高精地图中要素的识别,对技术提出了比较高的要求,纵观整个高精地图产业发展,地图制作逐渐从纯人工,过渡到半自动乃至全自动。期间识别技术,也不断得到发展与完善,从手动构造特征到自动特征、从2维识别到3维以及更高维识别、从单源识别到多源融合等。
目前,高精地图多采用人工作业,人工作业质量和效率始终是一个矛盾点,相比之下,机器自动识别,有着更高的效率、更低的作业成本,不亚于人工的作业质量。自动识别的应用,必将加速高精地图构建,推动高精地图产业发展。高精度地面标识识别技术,已经在高德高精地图内部得到应用,有效提升了数据制作效率与制作质量,为高德构建高精地图,提供坚实的技术支撑。
参考链接:
http://news.eeworld.com.cn/mp/ICVIS/a95793.jspx
https://www.cnblogs.com/amap_tech/p/11857909.html