Apollo 障碍物感知5大板块(推荐了解)

本文章来自: Apollo开发者社区     原创:阿波君     

环境感知在自动驾驶汽车应用中占据了核心地位。一辆车要实现自动驾驶,障碍物感知是最基础也是最核心的功能。

Apollo 障碍物感知系统分为 基于3D激光点云的障碍物检测、基于图像的障碍物检测红绿灯识别多传感器融合后处理等五大模块。

环境感知主要包括静态、动态目标检测和当前环境场景的语义分割。采用人工智能技术中的深度卷积神经网络,通过前期的数据训练获得预测模型,对车端传感器获取的实时数据进行特征提取和预测,从而得到复杂环境中物体位置、速度、类别等信息,进而帮助计算机精准地理解周边的环境态势。

Apollo的感知过程如下

首先车端传感器探测到信号,通过Obstacle Segmentation和Detection检测识别;

然后进行Tracking,最后输出Obstacle级别的感知结果。

Apollo采用算力强劲的GPU,实现了10Hz的感知频率。

TIPS

本次沙龙课程,我们有请到百度IDG主任研发架构师——王亮来详细讲解Apollo3.5技术架构。

王亮,IDG环境感知方向工程师。

Apollo 3.5 对环境感知能力进行了升级,王亮基于Apollo 3.5的硬件平台,为开发者全面解读Apollo 3.5环境感知技术方面的升级。

  以下,ENJOY  

                                        Apollo Roadmap

Apollo Roadmap:从简单城市道路、高速和封闭园区逐级递进,Apollo 3.5 目前已支持城市道路的自动驾驶,这与感知模块的重大升级密不可分。由于城市道路驾驶决策多变,因此对感知的建模能力要求更加精细和完善。在Apollo3.5中,重点提升的便是Multiview Perception(多视角感知)。

                                           Apollo 3.5多视角感知

点云感知方面,Apollo 3.5 使用了128线激光雷达。它能提供更远的检测距离,得到更准确、更稳定的3D位置、速度等等。同时使用围绕车身安装的低线数激光雷达(VLP16)对车周围的盲区进行了保护。

视觉感知方面,Apollo 3.5 升级了红绿灯检测,提供了360度环视的视觉感知能力,在一些情况下仅用视觉的感知系统也能实现自动驾驶闭环。

最后是多传感器融合,这次融合系统从安全的角度做了升级,在多传感器之间的信息互补、优势互补基础上,同时升级了感知的冗余层级,带来了分类、运动估计等效果提升。

感知模块主要可从三个维度进行剖析

  • 一是传感器和标定技术;

  • 二是算法,包括检测、分类等;

  • 三是数据,用数据不断支持感知系统升级。

                                             感知模块主的三个维度

Apollo3.5的传感器配置包括激光雷达、相机和毫米波雷达。车身周围安装有10个摄像头,可以兼顾检测距离和检测范围。车顶部的128线激光雷达和前后两个毫米波雷达,兼顾了后向的感知,用于支撑变道决策。三个低线激光雷达进行车周盲区的覆盖。配置如下图所示。

                                   Apollo 3.5 传感器配置

协同各传感器信息,首先需要对传感器进行标定,把不同类型、不同品牌、不同原理的传感器数据最终统一到车辆坐标系。

                                       多传感器标定

Apollo 3.0 研发了量产标定方案,与厦门金龙合作Apollo小巴项目时,搭建了整套标定系统。在如图所示的标定间内,车每次开到固定位置之后,产线工人即可完成一键标定,不需要工程师参与。右图展示的是整个标定过程当中的可视化辅助,用于安装质量检查。标定间的原理是利用三维建模,直接做到三维和二维的定位,解决了多摄像头和多激光雷达的标定方案,非常稳定高效。

                                                                                        标定间

下图是室外的GPS以及多激光雷达的标定场地。为了获取结构化数据,在场地中间部署了一些结构化的物体,提供一些边缘的信息,让标定更准确。右图是标定后的可视化效果,该方案可以实时给标定打分,解决了标定结果依赖人工确认的问题。

                                   室外GPS以及多传感器的标定

然而针对更多的普通开发者,如何进行标定?大部分开发者不会有条件搭一个标定车间。为此,在Apollo3.5,我们对标定算法进行了升级,更多地考虑了怎样在自然场景下做Lidar和Camera的标定、10个摄像头之间如何标定、以及毫米波雷达怎么和相机标定等问题。在Apollo 3.5 中,我们整合了许多标定任务的数据采集方式,最终融合在一个简单的采集过程中。用户只需要找到一段合适的可双向行驶的道路,往返行驶若干趟即可。采集程序将一些结构化的数据存下来之后,由Apollo平台负责标定。


 

Apollo3.5进一步AI化,引入多传感器融合的理念,同时对红绿灯策略进行了升级。下图是目前Apollo 3.5 的感知系统架构

视觉感知算法:实时的Camera视频帧经过预处理之后,完成包括车道线检测、障碍物检测在内的二维检测任务。借助车道线信息和地图信息,对3D进行约束,实现2D到3D的转换。

LiDAR点云感知算法:包括基于深度神经网络的3D障碍物检测,基于地图信息的3D跟踪和ROI滤波,得到3D检测结果。融合策略架构灵活,可以根据应用场景调整,结合Camera、LiDAR、Radar等多个传感器的检测结果,给出最终的障碍物输出。

                                       Apollo感知系统的架构

通过深度学习的方法,对大量的点云数据进行特征学习,分别执行障碍物分类和障碍物中心位置的回归,结合图算法可以进行障碍物检测,得到障碍物的位置和类型等信息。

           基于规则的3D Detector和CNN Detector - 分割能力

上图是点云障碍物检测的两种方法的障碍物分割结果对比。

基于规则的3D检测方法没有语义因袭,因此左图中障碍物比较多,并且没有类别信息。Rule-based方法使用底层信息对点聚类,通常有很多假阳性检测结果(false positive),例如黄色的框检出后会影响驾驶决策。另外,可以看到蓝色的自行车经过绿色车辆的时候,当他们距离非常近的时候,可能会错误地把他们合在一起,影响后续的规划。

右侧是用CNN训练得到的检测方法,首先直观上比较干净,只关注经人工标注过的感兴趣物体,如行人、车辆、自行车等。其次在经过车的时候,两团点云距离非常相近,通过大量标注数据学习,车和自行车可以很好地分割开。迁移到128线的激光雷达时,我们使用标注的数据对模型进行了优化。

                                   基于规则的3D Detector和CNN Detector - 聚焦前景

另一个基于规则的方法与深度学习方法对比的例子,显示了深度学习网络的在复杂路口的聚焦前景的能力。如上图,使用传统基于规则的检测方法,如果不利用地图信息过滤,很多检出信息并不是我们关心的,例如道路旁边的绿化带,树枝等,许多背景会检测成障碍物,影响驾驶的决策判断。右图为基于深度网络的检测方法,能够聚焦真正重要的信息,即影响车辆决策规划、驾驶策略的前景障碍物。

下图是使用128线激光雷达时,在路口的点云感知效果。绿色框是机动车;蓝色框是各种自行车、摩托车;红色框是行人。感知结果里可以清楚地看到120米之外的细节,许多交通信息都可以通过这个三维环境模型(3D Environmental Model)恢复出来,它支撑了Apollo 3.5城市道路的自动驾驶。

                                                 128线激光雷达点云感知效果

在二维图像上检测得到的障碍物需要投影到三维坐标系里才能进一步进行车辆行驶的规划。但仅有二维图像内的点很难得到三维信息。如下图,物体在一条光线上任意移动都满足图像的成像,因而无法确定这个框在三维空间中的角度和位置,这是三维感知的核心难题之一。针对这一问题,Apollo 3.5 经过大量的分析和探索进行了技术升级,主要有以下几个方面。

                                        2D3D的技术挑战

                                                2D到3D的技术挑战

首先标注数据,用于训练模型的数据如何标注才能支撑2D到3D的技术需求?图中举了6个标注例子。同样是标注一辆车,从最简单的二维,到增加车头车尾的信息,进一步把轮子标出来等等。但同时这个过程也是标注代价逐步提升的过程。

第二是标注信息完备,准确。训练出一个稳健的模型,训练的信息至关重要。实际应用中,不仅是框,还有许多其他信息需要模型学习得到,这对数据采集和标注的要求也很高。

第三,需要结合计算机视觉几何背景来进行数学推导,根据其原理反推,得到比较完整的三维模型。

下图是 Apollo 的前向障碍物检测效果。使用不同焦距范围的多相机组合,实现了广角相机感知范围广和长焦相机感知距离远的优势互补。

                                                          前向障碍物检测

下图是某次北京路测视频截图,左侧道路上隔离维修区域的锥桶能比较准确地回归到三维坐标系。前向视距达200米,对面驶来比较大的车,能够稳定地恢复出三维信息。

                                                2D 到 3D 示例

下图是前向广角和中焦相机,两侧鱼眼和环视广角相机的全图检测效果。Apollo 3.5针对环视相机进行了架构升级,其复杂度远大于融合两个相机。不仅要承载10个相机数据的处理调度,还要将检测结果统一到一个坐标系中。这就相当于使用一个高分辨率的360度传感器,以视频的帧率把障碍物、车道线等信息检测出来。

                                                                    十摄环视融合

数据无疑是驱动AI算法的核心。Apollo正在从最早的人工标注逐步转为自动化标注。一方面,结合检测和传感器融合等算法对数据进行挖掘,可以有效聚焦标注需求。与早期广撒网式的标注相比,数据挖掘之后的标注成本降低很多。另一方面是Auto labeling,用Auto labeling标注的数据稳定性比较好。使用标注的数据做训练和模型验证,最后再部署到车端,形成正向闭环

                                                          数据挖掘实例

以Apollo红绿灯检测为例,在通用数据集上,红绿灯检测的各种指标已经非常高。但遮挡、雨水淹没、坏灯以及频闪等问题对红绿灯检测仍然带来很大的挑战。通过数据挖掘获得这些样本并加入到训练集里面,在仅加入约1700帧数据后,召回率就获得了5个点的提升。

使用仿真技术可以帮助自动驾驶开发人员开发、测试和验证新的方法。仿真的技术有很多种,最重要的还是数据。

第一,数据仿真能够高效地合成海量数据。

第二,它是一个全闭环的模拟和测试系统,包括感知和规划,便于验证。

第三,可以导入带ground truth的数据,加速感知验证的效率。

第四,可以动态的增加数据维度,天气、交通、路面情况等因素,快速地验证现实中不容易遇到的情况。

                                         Game Engine Simulation

希望对你有帮助。

发布了178 篇原创文章 · 获赞 373 · 访问量 30万+

猜你喜欢

转载自blog.csdn.net/qq_41204464/article/details/102935442