进阶课程⑳丨Apollo感知之旅——机器学习与感知的未来

自动驾驶感知中的机器学习最大问题在于系统对模块的要求与普通的机器学习不同。

 

从自动驾驶安全性角度考虑,系统对感知的准确率、召回率和响应延时要求很高。例如在自动驾驶中的感知机器学习出现一些障碍物的漏检、误检会带来安全问题。漏检会带来碰撞,影响事故;误检会造成一些急刹,带来乘车体验的问题。同时要求低延时,如果一秒以后才获得感知结果,可能无人车已经碰上障碍物。

 

 

上周阿波君为大家详细介绍了进阶课程⑲Apollo感知之旅——感知算法」。

 

感知算法根据使用的传感器不同而不同。根据激光雷达Lidar点云感知,详细介绍了两个检测算法启发式的Ncut深度学习算法CNNSeg。对于视觉感知,深度学习了检测和分割技术、跟踪技术,2D-to-3D技术以及多相机融合技术,以及红绿灯检测算法、Radar检测和超声波检测算法。

 

本周阿波君将与大家分享Apollo感知之旅——感知中的机器学习。下面,我们一起进入进阶课程第20期。

视频学习请戳「阅读原文

 

  以下,ENJOY  

机器学习里面存在一个普遍的假设,训练集和测试集是独立同分布的,如果测试和训练没有任何关系,测试效果是没有任何保证的。但是无人车感知的训练集是封闭的,而测试集是开放的。

 

测试是在开放道路进行的,如果遇到新的障碍物,在训练中从来没见过,怎么处理?例如,在城市道路上很少见到卡车,但是高速会遇到很多卡车,而且卡车上的东西也很多,如果机器学习模型没见过这些障碍物,很有可能带来一些错误。

 

无人车的安全需要可解释,出现一个Bad case需要说清责任,需要搞清Bad case是由什么原因导致的,以便改进。

 

自动驾驶中深度学习模型需要更好的可解释性,归结为如何评估模型让用户知道模型是安全的?模型更新后如何做回归测试?模型的应用边界在哪里?目前,大家认为可解释性可以通过测试来体现,如果大量测试得到相同的结果,那么原理是不是真正的可解释也就没那么重要。

 

 

在感知模块中,除了做基本的检测、分割之外,还有后处理阶段等由公式表示的几何计算问题,是不需要深度学习的。另外,Common  sense也不需要深度学习,而且深度学习的效果不好,我们需要其他算法。那么,深度学习模型带来一个结果,其他启发算法给一个结果,怎么来融合?现在主要是基于Double check来提升安全性,还需要其他方法来进行更好的融合。

 

除了深度学习还需要其他的机器学习方法。如果数据量小,特征很难从原始数据学习,深度学习的效果可能就受到影响,因此诸如SVM或者随机森林这些机器学习算法,可能需要结合场景选择。

 

 

如果在自动驾驶的研究中,发现某一类传感器在感知或者其他模块中具有很大的价值。那么,整个资本市场会投入很多人力、财力研发传感器。随着量产之后,传感器的成本就会大幅下降,更新换代就比较快。

 

 

深度学习已经证明了在感知中有很大的作用,但是计算量很大,专门研究车载AI芯片是对这一问题的很好解决方案。

 

现在很耗时的CNN模型以后都不是瓶颈,而且定制AI芯片的功耗可以足够低,满足车载需求。深度学习需要大量数据的问题,可以通过仿真来弥补。目前,点云仿真相对简单一些,图像仿真相对困难点。如果仿真这条路可以走通,那么仿真+深度学习不断循环迭代,是非常有前景的。

 

 

目前,自动驾驶都是在车上安装传感器进行感知,感知的范围、鲁棒性都有待提高。如果将这套传感器布置在道路上、灯上,让它们来感知,然后将实时结果传输给无人车。如果车上的传感器失灵,那么路面上的传感器会告知无人车障碍物信息,保证系统安全性。另外在驾驶环境中部署传感器可以拓展感知距离,做到足够安全,提前告知远处的信息。

 

 

 

part 6 课后思考

 

这里列了五个课后思考题:

 

  • 前面技术介绍时说的开放问题,大家可以思考。例如Corner  case的处理。

  • 前向和后向的安全感知距离如何计算?

  • 延时是如何来影响自动驾驶安全的?

  • ACC自适应巡航的功能是如何实现的?ACC这些功能主要是用哪些传感器来实现的?原理是什么?

  • 推导Pitch角对距离误差的影响,假设Pitch角标定的时候,有0.1度的误差,请推导对距离估计有多大的影响?

  •