背景
今日来,自动驾驶越来越火,但是很多人依旧对于自动驾驶行业的算法内容不清晰,对于国内外自动驾驶方针和路线的选择不了解。纯视觉方案和雷达探测器方案只是表层的区别,本质上意味着什么依旧不清楚。
本文,将从小白理解出发,浅谈国内外自动驾驶算法的原理和现状。希望可以给广大读者有更好的参考,也希望中国的自动驾驶可以更上一层楼
自动驾驶算法路线选择
现如今,自动驾驶算法主要有两条路径可供选择
- 端到端的纯视觉神经网络 & 端到端的自动驾驶算法(特斯拉)
- 端到端的视觉神经网络和雷达探测器数据 & 基于规则优化的路径规划算法(国内一众厂商)
可见,主要区别在于是否使用纯视觉方案和雷达探测器,以及是使用端到端自动驾驶算法还是规则优化的路径规划算法。
课题1:纯视觉方案 雷达探测方案 究竟导致了什么?
纯视觉方案
对于纯视觉方案,就是采用强大的端到端的视觉卷积神经网络来获取当前帧序列的识别结果
优点如下:
- 成本较低
- 依赖于大数据训练,可以不断升级迭代,随着数据量的增高、摩尔定律下算力的提高,模型能力将会在后续产生爆炸性的增长
- 给后续模型的输入较为统一,为后续模型的构建和训练带来便利。
可能读者第一个想到的缺陷就是无法识别距离......很不幸的是,这其实是可以识别距离的,对于人类来说,人类也可以通过双眼识别距离,此乃双目视觉的知识,即对于两个平行摄像头进行采集,图像位置差距越大的物体距离越近,差别越小的物体距离越远......
当然也有相应的缺点如下:
对于大雨等极端天气,会给视觉方案带来干扰,虽然可以通过各种去噪方式进行优化,但是干扰就是干扰,效果必然下降。
所以在大雨天气,各位驾驶特斯拉的车主在自动驾驶的时候,可需要注意距离......
视觉&雷达方案
该方案除了使用视觉方案之外,还使用雷达进行距离检测
优点如下:
- 对于距离的检测非常精确(暴雨天气依然会有干扰,但是相对于纯视觉方案,干扰较低)
- 摄像头数量减少,给模型训练减负,使得模型更好拟合......
- 对技术力要求相对降低
当然相较于纯视觉方案也存在一些缺点
- 成本较高
- 无法完全利用大数据和算力优势
- 多输入格式给后续模型带来一定困难
总而言之,在目前为止,纯视觉方案和视觉&雷达方案都各有优势,但是在未来发展潜力方向,我更倾向于纯视觉方案。
课题二:端到端的自动驾驶算法和基于规则优化的路径规划算法
基于规则优化的路径规划算法
算法原理可以简单理解为定义规则&路径优化。一个简单例子如下:
- 场景A(前方无车辆,无红绿灯,导航输入为前进) ----> 输出为加油门
- 场景B(前方无车辆,红绿灯左转红灯,导航输入为左转) ----> 输出为刹车至停车
- 场景C(前方障碍物,距离30m,当前车速40km/s) ----> 输出为急刹车
......
可以看到,此种算法需要厂商不断加入规则。假设当前有规则500条,此时在实际运行中,会强制归类为一种场景,并执行对应场景的操作。然而可惜的是在实际场景中,车辆运行风云变幻莫测,很容易就出现新的情况未被收录。此时贸然使用对应的策略,就会导致事故发生。要解决也很简单,对于新情况再进行一个规则的设定和导入即可......
对于上诉方案,优点如下:
- 成型速度快
- 对于技术力要求不高,但是对于劳动力要求很高(哭死)
- 完美适配上一个阶段的输入结果
当然也有一些缺点,如下:
- 无法利用广大的大数据进行赋能
- 对于规则的把握和设定很重要
- 需要对实际驾驶场景进行反复不间断的验证测试,否则很容易出现未被考虑到的规则
基于端到端的自动驾驶算法
该算法则是纯视觉方案的算法进阶。该方案并非是第二个神经网络,而是在卷积神经网络的输出层后再加了几层前馈神经网络全连接层,用以输出对应的操作信息。也就是说从视觉到输出操作是一个整体,端到端。
优点:
- 很好的利用大数据和算力优势!也就是说相当于司机开1km,对应的驾驶数据就会给到云端进行模型训练,模型就会优化1km。
- 随着时间和算力的增长,效果将会非常恐怖。
- 不存在没有考虑到场景的情况
- (一种是实际场景进行训练,一种是工程师思考设定规则再到实际中验证)
缺点:
- 成型较慢
- 前期投入较大,数据收集、模型构建、模型训练
总而言之,对于自动驾驶算法的部分,我更倾向于端到端的模型。
总结
国内厂商选择的方式成型快,但上限低。
端到端的方式成型较慢,但是一旦预训练完成,将会疯狂迭代成长。
但是其实......勤能补拙,不断加规则,总有一天也能应付99%的情况