基于交叉并行卷积神经网络的货物列车车厢号识别系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于交叉并行卷积神经网络的货物列车车厢号识别系统

Freight train number identification system based on

cross-parallel convolutional neural network

王豪男,丁军航,许华胜

WANG Hao-nan, DING Jun-hang, XU Hua-sheng

(青岛大学 自动化学院,青岛 266071)

摘 要:现有的车厢号识别系统常存在着效率不高、改造困难、维护复杂等缺陷。利用深度卷积神经

网络设计货物列车车厢号自动识别系统。通过搭建深度卷积框架LPCNN,缩减模型结构,采取交叉并行的数据传输方式,对图片集进行训练测试,识别的最终结果表明该系统与现有的Alex-Net模型对比,参数的数量仅需其1/50,且识别结果精度和准确率得到有效提升。

关键词:交叉并行卷积神经网络;车厢号;定位识别中图分类号:TP391.4 文献标识码:A 文章编号:1009-0134(2019)03-0004-03

收稿日期:2018-07-05

基金项目:山东省自然科学基金(2016ZRBO1585);青岛市博士后人员应用研究项目(2616021)作者简介:王豪男(1994 -),女,山东烟台人,硕士研究生,研究方向人工智能与检测识别。0 引言

车厢号是区分不同车厢的标志,在铁路货物运输系统中,准确的识别和记录车厢号,对运输费用的结算、铁路系统的安全稳定运行等具有十分重要的意义,对于货物列车车厢号的识别问题,国内外已有典型解决方案,由Jang 等设计的两阶段识别法[1],借助模板匹配以及人工的神经网络来达到预期效果、国内的有通过射频识别的技术建立起车厢号的电子标签记录系统等[2]。传统的识别方法大多采用人工干预设计的特征,且包含分割图像,边缘提取等繁琐的步骤,对周围环境、图片质量要求较高,设计出来的系统常存在着效率不高、改造困难、维护复杂等缺陷。卷积神经网络在训练的过程中通过卷积层以及下采样层,自动学习图片的最优特征,通过更新神经元之间的权重与偏执确立模型,在一定程度上,缩短了识别所需的时间,极大的提高测试识别的准确率,并且整个系统更为灵活,便于后期的调试维护。

1 卷积神经网络

卷积神经网络(Convolutional Neural Network ,CNN )是一种前馈的拓扑结构,它主要包括重复交替的卷积层、池化层以及全连接层[3],通过互联多层的平面对获取的子特征进行阶梯式处理,经过多次迭代操作反向调整优化权重和偏置,从而将视觉系统进行模型化,使其对输入数据的要求更低,具有更好的鲁棒性和泛 化力。

1.1 稀疏链接

在传统的神经网络结构中,一层内的每个神经元对下一层所有的神经元节点都是采用全部连接的形式,从而导致网络中整体参数的数量较多,计算量太大,而CNN 则较之前做出了改进,新增了旧网络不包含的层级[4],通过感知局部的区域,加强邻层神经元节点的局部有效连接来学习原始图像的局部空间联系特征,进而能够有效的减少学习网络需要计算、调整的参数个数,提高设计系统的运

行速度。

图1 稀疏链接

1.2 池化层

原始的输入图片经过卷积层学习到局部联系的特征之后,就要进入池化层进行图像的压缩处理,即合并在逻辑结构上相似的子样特征[5],与传统将全部的特征纳入分类层相比,这种操作主要有两方面的优势,一是实现了对特征的降维处理,一幅图像中不可避免地包含诸多对系统运行无用的内容,池化层就可以有选择性地保

留关键部分的信息,有效的减少系统后期数据处理的计算规模;二是能够归一化特征尺度,不论原始的输入图像大小如何,经过池化层后都会得到相同大小的池化特征,提高系统对空间位移变换的鲁棒性。

图2 池化层

2 搭建轻量级交叉并行卷积框架

物体的检测、分类、识别一直是数字图像处理领域较为热点的研究方向,现已经有RCNN、Fast RCNN 等诸多模型结构,这些模型大多先进行物体的分类过程,然后再利用回归器完成边框预测,并且存在网络结构大,参数存储空间需求大,系统运行不迅速等劣势。轻量级交叉并行卷积神经网络是最新提出的一种检测方法,它合理调整网络深度及每层卷积核大小,缩减网络结构,将物体的检测问题视为回归类问题,并且在一个独立的网络结构中同时完成物体检测和目标分类两个任务,将神经元活跃的卷积池化层采用模型并行,而权值计算数量庞大的全连接层采用数据并行,它是一个端到端的网络,输入原始视频,经过一次推断,就可以得到相应的物体所处位置以及所属类别,很大程度上化简了模型的复杂度,缩短识别时间,更有利于模型在实际场景中的泛化运用。

由于我们要识别的数字类别只有十个,自己制作的数据集数量也只有20000张左右,如果直接采用原模型(PCNN)原本具备的11个卷积层[6],就会出现层数过多、数据集过小的不匹配问题,进而导致欠拟合的现象,会大大降低定位、识别的准确率,基于此,我们做出了改进,缩小卷积层数及卷积核的大小,采用轻量级的五层卷积神经网络,包括并行的三个卷积池化层与两个全连接层,与此同时,采用卷积层交叉并行的思想,用2×2的池化层进行下采样,最后将两个并行通道的特征图连接融合传入到全连接层,具体的网络结构如图3所示。

3 训练、测试模型

在进行系统训练时,首先将图像归一化尺度为448×448进入输入层,输入的图像会被切分成7×7个小方格区域,每个小方格只负责预测该方格内是否包含目标、目标所属类别、边框的位置及大小[10],经过卷积、池化层完成目标检测和属性分类,每个小方格会预测出2个预选框,10个类别,最后通过非极大值抑制算法,就是寻找局部像素点的最大值,把其余点的灰度值强制置0,输出维度为7×7×(2×5+10)的向量。

3.1 交叉熵损失函数

神经网络中常用的损失函数是二次代价函数,其表达是如下:

(1)

其中C表示代价函数(cost function),n表示样本数量,x表示具体的样本。

Y表示样本实际值,a表示样本预测值。a=(z),

,(z)是激活函数,可以输出样本的

预测结果,z代表神经元的输入,w

j

是权值参数。b是偏置值。

与偏置参数的收敛速度与激活函数的梯度成正比[7],对于S型如Sigmoid激活函数,常常会出现初始参数值与目标值相差很大,但由于梯度太小,收敛速度就十分的慢,为了解决这个问题,我们采用交叉熵损失函数,作为优化器的优化目标,它的表达式如下:

(2)

(3)

(4)

改进后的损失函数,参数的收

敛速度只关系到样本的预测值与实际

值的差,激活函数本身的梯度问题就

不会对其产生负面的影响。

图3 交叉并行卷积网络结构

相关文档
最新文档