用于识别前方车辆的卷积神经网络的设计及优化

(整期优先)网络出版时间:2022-04-23
/ 2



用于识别前方车辆的卷积神经网络的设计及优化

石川 1,胡宇迪 1,张少祖 1,杨垒 1

1.湖北汽车工业学院 汽车工程学院,湖北 十堰 442002

摘 要:利用MIT和KITTI车辆图片数据库制作数量充足的训练样本和测试样本,对样本进行镜像化和灰度化等处理。然后运用MATLAB平台搭建了用于检测车辆前方目标的深度卷积神经网络,使其能够区分前方的车辆和行人,帮助车辆在面对不同目标时做出不同的决策。对卷积神经网络的参数进行反复调试,使网络性能得到明显提升,识别率达到95%以上。

关键词:汽车试验;卷积神经网络;测试系统

中图分类号: 文献标识码: 文章编号:


0引言


卷积神经网络是机器学习和图形分类领域的一个重点研究方向。卷积神经网络能够模拟人类的视觉系统,自动提取图像特征并通过反复的训练学习,对图像进行分类。与其它分类器的算法相比,卷积神经网络具有相对较高的识别准确率,且对图像的平移、扭曲和旋转有一定程度的适应能力。将卷积神经网络应用于车辆前方障碍物的识别和分类上能够有效避免道路交通事故的发生。

1 训练样本的制作

1.1 图像灰度化处理

本文所设计的卷积神经网络用于车辆前方障碍物的分类,因此在搭建网络前,需要准备足够多的训练样本和测试样本。采用的训练样本来自两个大型样本库:MIT数据库和KITTI数据库。

MIT数据库中有500张已经分割好且灰度化的车辆图片,原始大小为128*128。MIT数据库中的500张车辆图片对于制作训练样本是远远不够的。图1为KITTI数据库的原始图片。

62636638a3fa7_html_b0eeb71fc40c5ad4.jpg

图1 KITTI数据库的原始图片

KITTI数据库的原始图片是具有3个颜色通道(RGB)的彩色图像。色彩会对卷积神经网络的训练带来麻烦。常用的图像灰度化的方法是将3个彩色通道的数值加权到0~255的灰度值,

1.2制作MATLAB样本库

为了保证卷积神经网络的识别率及训练速度,首先将所有样本图片的大小限制到50*50。本文在图像灰度化阶段,使用Photoshop将黑白图片输出成50*50大小。然后制作基于MATLAB的样本集,用于初始化网络时程序能够快速读取大量图片。

1.3制作正负训练样本的标签

卷积神经网络的训练需要提供正样本和负样本。正样本包括了卷积神经网络所要识别和分类的物体,正样本分为人和车两个大类。负样本的作用是帮助卷积神经网络更好地学习正样本图片的特征,提高识别的准确率,因此负样本应尽量包含多种类的物体。

2 卷积神经网络的设计

2.1卷积神经网络的结构设计

本文拟采用LeNet-5模型搭建卷积神经网络,该模型中共有8层网络,分别为:第一层为输入层。输入量是打乱顺序的50*50大小的图像灰度值及其对应的标签。第二层为第一次卷积层。暂定该卷积层的特征图数量为6个,卷积核大小为7*7。第三层为第一次池化层。暂定该池化层的缩放倍数为2。第四层为第二次卷积层。暂定该卷积层的特征图数量为12个,卷积核大小为5*5。第五层为第二次池化层。暂定该池化层的缩放倍数为3。第六层为全连接层。暂定该全连接层的输出节点个数为100个。第七层为全连接层。暂定该全连接层的输出节点个数为200个。第八层为输出层。该输出层的输出节点个数固定为3个。

在确定好卷积神经网络的结构后,搭建工作只完成了10%。接下来要调试网络中的各种参数。其中需要调节的参数有:反向传播算法中的学习率;激活函数的选择;第二层卷积层中特征图的数量和每个卷积核的大小;第三层池化层的缩放倍数;第四层卷积层中特征图的数量和每个卷积核的大小;第五层池化层的缩放倍数;全连接层的数量和输出节点数。

2.2不同激活函数对卷积神经网络性能的影响

对使用不同的激活函数的卷积神经网络进行比较,通过比较网络训练后的识别率的高低,选择最合适的激活函数。进行比较的激活函数有Sigmoid激活函数、Tanh激活函数和ReLU激活函数。每个卷积神经网络进行充分的训练学习,使识别率稳定下来后再进行比较,保证了识别结果的可靠性。表1为不同激活函数对应的卷积神经网络的识别率。

表1不同激活函数对应的卷积神经网络的识别率

62636638a3fa7_html_221800892d22ff15.jpg

由表1可以看出,Sigmoid与Tanh激活函数的识别率相同且相对较低,这是因为使用这两种激活函数的卷积神经网络产生了梯度消失的问题,使网络的训练陷入停顿。为了提高它的识别效率,避免神经细胞的死亡,需要将ReLU函数进行优化和变形。

3 卷积神经网络的最终结构与训练结果

整个卷积神经网络采用Leaky ReLU激活函数,学习率固定为0.0006。经过1000次以上的迭代,该卷积神经网络的最终识别率为95.3%

62636638a3fa7_html_979acf33121e0d8a.jpg

图2 1000次迭代的误差曲线图

由图2,一次正确的卷积神经网络的训练,错误率的下降分为4个阶段:第一阶段,因为权值的随机赋值,错误率一开始是一个随机值,然后在前10个左右的迭代内迅速下降到22.8%左右。第二阶段,卷积神经网络开始学习负样本的部分特征,错误率从22.8%开始迅速下降,直至10%左右。第三阶段是卷积神经网络训练中最漫长的阶段,错误率从10%左右继续下降。第四阶段,错误率在一个很低的值附近上下波动,不再下降。此时卷积神经网络训练完成。

4 结论

本文对卷积神经网络的参数进行反复调试,找到一组使网络性能相对较好的参数,使识别率达到95%以上,能够应用于实际检测。最后针对MATLAB程序和卷积神经网络进行优化,使调试参数的效率更高。


参考文献

[1] 楚敏南. 基于卷积神经网络的图像分类技术研究[D]. 湘潭大学, 2015.

[2] 邓柳, 汪子杰. 基于深度卷积神经网络的车型识别研究[J]. 计算机应用研究, 2016, 33(3):930-932.

[3] 张文桂. 基于深度学习的车辆检测方法研究[D]. 华南理工大学, 2016.

[4] 康磊. 基于卷积神经网络的前方车辆障碍物检测算法研究[D]. 华南理工大学, 2016.

[5] 刘进锋. 一种简洁高效的加速卷积神经网络的方法[J]. 科学技术与工程, 2014, 14(33):240-244.



基金项目:湖北汽车工业学院大学生创新创业训练计划项目DC2021061;DC2021069

作者简介:石川(1995-),男,硕士研究生,从事智能汽车方面的研究 E-mail: 2586145681@qq.com