CNN在自动驾驶中的不同结构

1. 引入

真实的驾驶场景,是根据一些测量值,来预测汽车的油门、刹车、方向盘角度的过程。这些测量值可能包括:汽车速度,加速度,转向角,GPS坐标,陀螺仪角度等值,当然也少不了摄像机拍摄的车辆前方的图像。这其中CNN最擅长做的,是图像数据的处理,包括物体识别(行人,车辆,车道,交通标志),也包括回归(方向盘角度预测)。

自动驾驶领域另CNN大放光彩的,是Intel发布的一篇paper[1]:End to End Learning for Self-Driving Cars。下面本文会从这篇paper开始,讲解End to End Self-Driving与其他自动驾驶方法的不同,paper中的重要思想,以及业界针对这个话题的其他创新,和不同的CNN结构。这些巧妙的CNN结构,能帮助我们扩宽视野,发现CNN的美妙。

2. End to End Self-Driving

传统的自动驾驶,是分为感知、检测、决策控制、赛道识别等等多个步骤,并且传统自动驾驶需要综合考虑汽车速度,加速度,转向角,GPS坐标,陀螺仪角度等测量值,最终才能做决策(控制方向盘角度和油门)。

End to End Self-Driving的测量值只有一个,就是车辆前方的图像;输出值也只有一个,就是方向盘角度。整个过程如下图所示:

在这里插入图片描述

从图中可以看到,相比于传统自动驾驶方法,End to End Self-Driving的输入量、输出量都减少了,整个驾驶过程也简化了很多。那问题来了,是什么样的CNN结构具有能预测角度的魔力呢?paper[1]中也给出了这个CNN的详细结构

在这里插入图片描述

这是一个含有5个C层的CNN:输入图像是一个3通道的彩色图像,图像像素值首先会被归一化为0~1之间的数值;然后通过5个C层,1个全连接层的作用后,输出方向盘角度值,这是一个回归问题。业界把这个CNN网络称为nvidia net,对nvidia net代码实现感兴趣的,[2]这里有一个该网络的keras代码实现开源项目(这个项目中作者也对nvidia net的参数进行也改进)。

3. 数据增强(Augmentation)

End to End Self-Driving任务中,我们有了CNN网络,那怎么对预测结果进行提高呢?除了模型超参数调优,数据增强Augmentation也是很重要的一个手段。Augmentation是利用图像预处理等手段,扩充/改变训练集,从而使模型“见多识广”。

paper[1]中的Augmentation,对图像经过了平移、旋转的方法来扩充训练集。根据笔者的理解,向上平移相当于模拟上坡场景,向下平移相当于模拟下坡;向左向右偏移后,汽车的转角也应做相应的增加;偏移后图像中产生的空白部分,可用图像的平均像素值代替。

以上就是paper[1]的方法,下面我们讲实现End to End Self-Driving的其它方法。

4. 角度预测场景中的其他CNN

关于End to End Self-Driving中的方向盘角度预测,Udacity曾经搞过一个比赛[3],就是通过车辆驾驶前方的图像,来预测方向盘角度。

这里[4]也给出了Udacity这个比赛的排名,[5]这里给出了部分模型的源代码。通过学习这些准确率高的模型,我们可以看到更多CNN的精彩用法。

autumn[6]的模型是将图像格式RGB转换为YUV,使用了边缘检测和霍夫变换,以及更深层的CNN(在[6]中也可以看到他的CNN结构代码)。

cg23[7]的模型是基于nvidia net,用 k-fold cross validation做了交叉验证,还对图像做了剪切(去掉图像上半部分天空),以及图像resize(减小分辨率)。

rambo[8]做的CNN模型比较有新意,具体如下所示

在这里插入图片描述

这个模型由3个CNN模型集成而成,图中每行是一个CNN。模型的输入为连续三幅图像(灰度图)的差分,输出为3个模型各自预测值的均值。

5. 总结

讲述了自动驾驶方法中,End to End Self-Driving方法如何运用CNN实现方向盘角度预测,了解了CNN在自动驾驶领域的威力。注意自动驾驶是一个需要考虑很多综合因素的过程,单纯的End to End Self-Driving不足以完成自动驾驶,因为真实的自动驾驶还需要考虑行人、交通规则、雨雪雾天等很多因素。

6. 参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值