Apollo 自动驾驶感知技术分享

 

感知技术是什么?

 

感知属于自动驾驶核心技术,我们可以将汽车上的感知与人类感官进行一个类比:人有感知,通过感官器官获取外界信息,传达感知功能区,把形象化的东西抽象成概念性或者更高层的语义,供我们思维记忆、学习、思考或者决策,让我们运动控制功能区,让我们身体对外界进行反馈。无人车类似这样的结构,这是强相关的东西,我们无人车也是一样。

 

下图所示这辆车是 2016 年 12 月乌镇演示车队的其中一台,它有传感器、雷达、摄像头,这是覆盖比较全面的设置,包括视觉、触觉、嗅觉等信息。它需要大脑处理,大脑是无人车里的感知功能模块。

 

 

由于感知范围是广泛的,它依赖于人工驾驶或者自动驾驶需要的环境匹配,工况复杂度越高,感知复杂度越高。自动驾驶不同级别里,感知的复杂度也不同。Apollo 目前开放的定位是 Level3 或者 Level4,感知、决策、控制是三位一体的过程。

 

感知与传感器系统紧密结合,获取外部环境信息,比如有没有障碍物,障碍物的距离、速度等,把数据交给感知处理模块,我们会收集信息,构成人开车时理解的环境。

 

这些信息会被我们决策模块进行分析和提取,在周围环境车辆行驶状况下,下一步怎么走才是安全的。控制模块会让车向前行,感知模块获得新的信息,不停循环,应对更新的环境状态,实现整体良性的循环。

 

 

核心:感知用来做什么?

 

感知的输入跟环境相关。只要符合条件,都可以被列为感知。在 Level3 和 Level4 里定义的细分任务,把输入输出具体化。

 

 

障碍物检测,包括人、车、石头、树木等。上图是点云输出,下图是图像感知示例。Level3 检测结果障碍物,对于 Level4 来说,不仅知道这是车,而且可以将其按大车、小车分类,因为大车和小车的开车方式不一样。不同的车,做出的决策规划不一样。你可以超小车,但无法超大车。

 

我们需要一个很细的障碍物分类,这根据输入的不同划分,有点云分类和障碍物中的分类。著名例子是红绿灯的识别,你需要判断交通灯的颜色。障碍物检测分类,我们得出障碍物信息,这样有利于我们做后续决策。

 

我们要知道每个障碍物可能运行的轨迹,它会不会超车、插入车道或者无故变线,这需要障碍物跟踪。障碍物跟踪是很重要的模块。我们要运用障碍物,也有对场景的分析,我们点云也用到这个。

 

我们在图像级别会做类似的分割,目的是我们做场景建模和语义化的描述。我们有很多任务,每个任务输入是多源的,包括激光雷达、图像等。如果要用 Apollo 搭建感知系统,如何选择传感器、传感器配置?希望它做什么任务。

 

 

这是三种基本传感器的效果对比,LiDAR 是激光雷达,Radar 是汽车通用毫米波雷达,Camera 是摄像头。绿色代表做得好,黄色代表做得普通,红色代表做得差。最后,说明了三种传感器融合效果是最好的。

 

那么 ,感知系统开放模块怎么做?

 

点云感知。开放了 LiDAR 点云检测,可以判断点云里的每个点是否为障碍物,障碍物的类型是什么。

 

感知框架。用的是深度学习,它可以做到精准检测和识别。而深度学习非常耗费计算量。需要依靠搭建的车载智能系统,来支撑深度学习模型,以达到毫秒级感知。

 

高精地图。先以当前的激光雷达作为坐标系核心,把地图中的点投到坐标系里。然后建立快速的表格,根据感知的距离扩大坐标区域。之后对俯视图进行网格化,网格化参数可以在 Apollo 进行配置。最后输送给障碍物检测。

 

障碍物检测。分为特征抽取、点云检测、点云聚类、后处理、闭包提取。特征抽取,就是建立一个网格,每一个网格提取的信息对应一个值,每一个网格都有一个特征,拼接形成一张图;点云聚类,是用可信的网格做结果预测;后处理,是由于预测不准,对障碍物的判断会存在误差,所以要通过后处理来精确障碍物。闭包提取,是据朝向补全障碍物的形状。

 

障碍物跟踪。与障碍物检测相结合,检测结果和历史障碍物进行信息匹配,得出新障碍物列表。并且输出下一帧以什么速度怎样行驶,得出列表。

 

视觉感知。Apollo 之前版本的视觉感知数据,主要是红绿灯的数据。已发布的0 同时开放红绿灯检测和识别算法,可以作为视觉感知的典型代表。

 

红绿灯识别。是根据当前车的位置查找高精地图,判断前方是否有红绿灯。如果有,高精地图会返回红绿灯的物理位置,同时采集视频图像。如果并排很多灯,需要准确判断影响决策的灯。

收藏 评论(1)
分享到:
共1条回复 最后由筱Myselfkv 回复于2019-08-23 08:06
#2 筱Myselfkv 回复于2019-08-23

棒棒哒

0