APP下载

基于改进的卷积神经网络的钢号识别

2018-06-13任伟建陈建玲孙勤江

吉林大学学报(信息科学版) 2018年3期
关键词:个数像素卷积

任伟建, 宋 月, 陈建玲, 任 璐, 孙勤江

(1. 东北石油大学 a. 电气信息工程学院; b. 黑龙江省网络化与智能控制重点实验室, 黑龙江 大庆 163318;2. 中海石油(中国)有限公司天津分公司 渤海研究院, 天津 300452;3. 海洋石油工程股份有限公司 设计公司, 天津 300450; 4. 中海石油(中国)有限公司 天津分公司, 天津 300452)

0 引 言

石油管线作为油田物资中的一个重要组成部分, 随着油气田开发建设、生产规模不断扩大, 物资管理任务进一步加重, 管线管理的要求也进一步提高。虽然目前已经有仓储管理信息系统, 但针对管线身份识别大多还是通过人眼识别的方式。人眼识别在一定程度上被认为是最可靠的方式, 但该方式无法避免地存在人为抄写错误以及工作量巨大等缺点。近年来, 学者们提出了运用神经网络进行钢号识别的方法。王静钢[1]首先提取了钢号图像的网格特征、 交叉点特征等特征矢量, 然后输入3层BP神经网络进行识别。这类识别方法是先用一个手工设计的特征提取器提取输入数据中相关的有用信息得到一组特征向量, 再利用一个可训练的分类器, 如神经网络等对这些特征向量进行分类识别[2]。该方法相对人工抄写的方式一定程度上解放了人力, 但提取到的特征向量很大程度上决定了识别效果, 并且手工设计图像特征不仅费时而且效率不高。

随着计算机的发展, 基于深度学习的模式识别已成为机器视觉和人工智能领域中研究的热点, 被广泛应用于工业、 医学等诸多领域中[3]。卷积神经网络作为深度学习模型的一种, 是最常用的一种模型结构。早在1998年, Lecun等[4]提出了LeNet-5模型, 成功将其应用于银行支票手写数字识别任务中, 获得了很好的效果。2012年, Krizhevsky等[5]提出AlexNet模型, 在图像分类比赛中以巨大优势获得第1名, 因此很多学者开始将卷积神经网络作为研究焦点。随后, 新的卷积神经网络模型不断被提出。目前对卷积神经网络的研究呈现两种趋势, 一种是增加卷积神经网络层数, 构成深度卷积神经网络; 另一种是优化卷积神经网络的结构。虽然构建更深层次的网络可以达到更好的实验效果, 但深度网络却需要更长的训练时间、 更多的计算资源和训练技巧。Saxe等[6]指出卷积神经网络的结构本身是网络能提取多层次、 多尺度特征的主要因素。所以设计特征学习能力更强的卷积神经网络结构成为广大学者的研究重点。联和卷积神经网络与递归神经网络就是一种典型[7]。Socher等[8]结合卷积神经网络与递归神经网络提出了一种新的深度学习结构, 卷积神经网络学习原始图像的浅层特征并作为递归神经网络的输入, 利用递归神经网络学习高层特征, 在彩色-深度图像识别中取得了很好的识别率; 骆健等[9]在文献[8]的基础上增加卷积神经网络的输入, 提出多尺度卷积递归神经网络, 经过局部对比度标准化和采样后作为递归神经网络的输入, 提取更加抽象的高层特征。虽然文献[8,9]中提到的方法都获得了很好的效果, 但这些方法都只是用递归神经网络代替一部分的卷积神经网络提取高层特征, 而忽略了卷积神经网络本身学习高层特征的能力。

为提取输入图像的多样性高层特征, 笔者提出一种改进的卷积神经网络结构, 在卷积神经网络中引入递归神经网络, 输入图像先经过第1级卷积神经网络, 通过卷积操作和采样操作后提取原始图像的浅层特征, 再输入由卷积神经网络和递归神经网络组成的第2级网络学习高层特征, 最后将这两种网络学习到的特征融合后输入到分类器中进行分类。改进后的网络既能利用卷积神经网络学习高层特征, 同时还利用递归神经网络学习低层特征的组合特征, 将两种特征融合后能够有效进行识别。为提高网络识别精度和训练速度, 减少网络过拟合, 笔者拟利用迁移学习理论解决小样本集数据在卷积神经网络训练中样本不足的问题。

1 卷积神经网络

近年来, 基于卷积神经网络的模式识别快速发展, 其高效的识别方法引起广泛重视。传统的模式识别模型是先用一个手工设计的特征提取器收集输入数据中相关的有用信息得到一组特征向量, 然后利用一个可训练的分类器对这些特征向量进行分类识别。卷积神经网络的分类模型与传统模型的不同之处在于卷积神经网络将特征提取与分类识别集于一体, 将特征提取过程隐藏于网络中, 即输入为原始图像, 输出为分类结果, 因此得到了广泛的应用。

卷积神经网络每个卷积层后一般都有一个采样层连接, 卷积层实现特征提取, 采样层对提取到的特征进行采样实现数据降维。卷积神经网络改变了以往的全连接方式, 采用局部连接不仅降低了参数数量, 同时更利于学习数据的局部特征。同时每层的独立神经元共享一个权值, 大幅降低了可学习的参数数量, 采样层通过连续采样操作不仅实现特征降维而且能实现对输入图像的旋转、 平移、 伸缩等变换的不变性。

1.1 卷积层

(1)

1.2 采样层

采样层即对输入特征图进行采样操作, 有K1个输入图, 就有K1个输出图, 只是每个输出图都变小了。表达式为

(2)

采样方式包括均值采样、 最大值采样等, 设采样层的核大小为k×k, 则采样层计算方式如下

(3)

最大采样f(x)=max(x[i,i+k][j,j+k])

(4)

1.3 LeNet-5卷积神经网络结构

图1为经典的LeNet-5卷积神经网络模型结构示意图[4]。

图1 LeNet-5卷积神经网络结构示意图Fig.1 Sketch map of LeNet-5 convolution neural network structure

该网络主要包含输入层、 3个卷积层、 2个采样层、 1个全连接层和输出层。其中Input层为输入层, C1、 C3及C5是由卷积神经元组成的卷积层, S2和S4是由采样神经元组成的采样层, F6是全连接层, Output为输出层。网络输入层的输入图像是经过归一化的32×32像素大小的图像。

C1层。每个神经元都是由卷积核与输入图中的局部邻域连接得到, 用6个不同的可学习的卷积核与输入图像分别进行卷积操作则得到6个不同的特征图。卷积层通过局部连接可以学习到数据的局部特征。卷积核大小为5×5像素, 卷积步长为1, 所以每个特征图的大小为(32-5+1)×(32-5+1)像素, 即特征图大小为28×28像素。

S2层。对C1层中的每个特征图的小区域进行子抽样以实现数据降维, 并且通过选择连续范围进行采样操作, 即使图像有小的形变, 采样的结果依然相同。这样保持了对于输入图像的旋转、 平移、 伸缩等变化的不变性。S2层与C1层有相同个数的特征图, 特征图中的每个单元由C1中相对应特征图的2×2像素邻域采样得到, 且不重叠采样, 所以此层每个特征图的大小为14×14像素。

C3层。每个神经元同样采用局部连接的方式与S2层的多个特征图相连。C3层增加特征图个数为16个, 以补偿S2层采样带来的特征损失并且获得更多不同的特征。卷积核大小为5×5像素, 步长为1, 所以特征图的大小为10×10像素。C3层中特征图与S2层中特征图的连接方式如表1所示, 表1中“X”表示有连接。由表1可见, C3层的前6个特征图都是与S2层中3个相邻的特征图连接, 接下来的6个特征图都是与S2层中4个相邻的特征图连接, 随后的3个都是以不相邻的4个特征图连接, 最后一个与S2层中的所有特征图连接。

S4层。其功能与S2层相同, 对C3层相应特征图进行2×2像素区域的采样操作, 得到16个5×5像素的特征图;

C5层。将特征图增加至120个, 每个单元与S4层的全部16个特征图的5×5邻域相连, 得到120个大小为1×1特征图, 构成了S4和C5之间的全连接。

F6层。包含84个神经元, 每个神经元与C5层120个特征图全部相连, 将学习到的特征表示映射到样本标记空间。

最后的输出层由欧氏径向基函数单元组成, 每个单元代表一个类别。在手写体识别任务中, 识别数字0~9共10个类别, 所以输出层单元为10个, 分别输出对应数字的概率。

表1 C3与S2层的连接方式

2 改进的卷积神经网络结构

卷积神经网络将特征提取与分类识别集于一体, 因此得到了广泛应用。文献[8,9]将卷积神经网络与递归神经网络结合得到了很好的效果, 但都是用递归神经网络代替一部分卷积神经网络提取高层特征, 而忽略了卷积神经网络本身学习高层特征的能力。

2.1 递归神经网络

图2 递归神经网络结构示意图Fig.2 Sketch map of recursive neural network structure

递归神经网络类似于卷积操作和采样操作的结合, 通过重复使用同一组权重和选择接受域达到逐层降低特征维度的目的, 其结构示意图如图2所示。其中K1为第1级网络输出的特征图个数。最底层的特征图大小为4×4像素,xi(i=1,2,…,16)为底层特征图单元, 设接受域为2×2像素, 连接权重为W, 第2层网络特征图的每个单元pi(i=1,2,…,4)与底层特征图的2×2像素接受域相连, 最终得到2×2像素大小的特征图, 其中p1的计算公式如下

(5)

同理, 第2层特征图再经过一层递归神经网络后得到1×1像素大小的特征图。

2.2 改进后的卷积神经网络结构

笔者对经典卷积神经网络结构进行优化, 主要包含以下两方面:

1) 设计两级网络模式, 在第2级网络中引入递归神经网络。递归神经网络能学习有效的组合特征, 将其与卷积神经网络结合有助于网络提取多样性的特征。

2) LeNet-5用于手写数字识别中分类数目为10类, 所以输出神经元为10个。笔者实验数据采集于管库中的钢管线, 主要用于油气、 天然气输送。其钢号不仅包含0~9的数字, 还包含大写字母, 所以将输出层神经元改为36个。

改进后的网络结构示意图如图3所示。在卷积神经网络的第一个采样层后引入多层递归神经网络, 原始图像经过第1个卷积层和采样层后得到图像的浅层特征, 然后将这些浅层特征同时输入卷积神经网络和多层递归神经网络中学习更高层的特征, 最后将学习到的特征进行融合后输入到分类器中进行分类。

R1层。与卷积神经网络的采样层S2连接, 设经过S2层后得到的特征图大小为m×m像素, 连接这些特征图向量作为递归神经网络的R1层输入, 设递归神经网络数量为K2个, 选择接受域为l×l像素且接受域不重叠, 则特征图经过R1层网络后维度变为m/l×m/l像素。

R2层。与递归神经网络R1层连接, 同样是连接R1层特征图向量作为R2层输入, 则特征图经过R2层递归神经网络后维度变为m/l2×m/l2像素。依次类推, 直到特征图变为1×1像素大小。

图3 改进的卷积神经网络结构示意图Fig.3 Sketch map of improved convolution neural network structure

2.3 迁移学习

卷积神经网络通常采用有监督的误差梯度下降方法进行训练, 当训练样本足够大时, 网络能产生非常强的性能。但当训练样本不足时, 卷积神经网络则表现出对大量样本的依赖特性, 形成过拟合或欠拟合网络。目前为止, 钢号数据还没有建立像人脸、 手写字符一样的公共库, 所以用于实验的数据大多来自实验者的亲自采集, 给相关实验工作带来巨大困难。迁移学习理论的研究可以很好的解决卷积神经网络因训练样本不足而导致网络过拟合的问题。

迁移学习是一种机器学习方法, 文献[10]给出迁移学习的定义: 给定一个原始领域DS和一个原始学习任务TS, 一个目标领域DT和一个目标学习任务TT, 迁移学习的目标是使用DS和TS中的知识, 帮助改进在DT中的目标预测函数的学习, 其中DS≠DT或TS≠TT, 即运用已有的知识对相关领域的不同问题进行求解。在卷积神经网络中, 迁移学习就是要把在特定数据集上训练得到的“知识”成功运用到新的领域[11]。笔者利用迁移学习理论解决卷积神经网络针对钢号小样本集训练样本不足的问题。MNIST数据集是由Google实验室和纽约大学柯朗研究所共同建立的一个手写数字数据库, 包含60 000张用于训练的手写数字图像, 10 000张测试图像[12]。手写数字与笔者要分类的钢号图像在形状和线条上存在着很高的相似性, 并且卷积神经网络在手写数字识别任务上一直表现优秀。所以可以将训练手写数字网络得到的知识运用到钢号识别分类中。其迁移学习流程如下: 1) 首先利用MNIST数据集对卷积神经网络初始化参数进行训练; 2) 将钢号图像输入训练好的网络模型中提取特征; 3) 利用提取后的特征再对网络进行训练、 微调, 实现卷积神经网络在MNIST数据集上的知识迁移。迁移学习理论的运用不仅解决了小样本集训练过程中容易引起网络过拟合的问题, 同时提高了训练速度和识别精度。

3 实验研究

笔者的实验是在Windows7 32位系统Intel i7-4790 CPU、 4 GByte内存的计算机上进行的, 在Matalab R2010a平台上实现算法的编码。

3.1 样本预处理

利用文献[13]中的图像定位分割方法将采集到的钢号图片分割为只含有单个字符的钢号样本数据。由于钢号样本属于小样本集, 所以还要对实验样本进行扩充。样本扩充技术主要通过对原始样本进行操作从而生成合理的虚拟样本, 并将它们添加到原始训练样本集, 达到扩充训练样本集的目的, 使分类器的泛化能力提高[14,15]。为模拟不同的拍摄条件, 笔者对钢号图像训练样本进行了平移、 旋转和水平翻转等几何变换。除了通过几何变换进行样本扩充外, 在输入样本中添加噪声同样可以提高学习方法的泛化能力, 所以笔者还在钢号训练样本中分别加入了高斯噪声、 椒盐噪声和泊松噪声生成虚拟样本[16]。笔者用于实验的图像共36类1 800张, 每类图像50张, 经过水平翻转、 上下左右平移5个像素、 左右旋转45°、 加入高斯噪声、 椒盐噪声和泊松噪声等样本扩充后有19 800张虚拟样本。其中17 000张作为训练样本, 2 800张作为测试样本。

由于自然图像易受到光照、 遮挡等不利于识别因素的影响, 图片质量可能会很差, 影响到最终的分类结果[14-16]。为使分类效果得到改善, 提高分类精度, 需对数据进行预处理。

1) 将扩充后的图像缩放成统一大小。笔者将训练样本统一大小为36×36像素。

2) 彩色图像对识别的影响不大, 为减小计算量, 将彩色图像转化为灰度图像。

3) 将所有图像进行均值和方差归一化。

4) 白化。零成分分析(ZCA: Zero Component Analysis)白化方式有着尽可能的接近原始数据的优点, 并可降低数据的冗余性, 所以笔者采用ZCA白化。

3.2 实验及结果分析

笔者将第1级卷积神经网络的卷积核大小设为5×5, 步长为1, 卷积核个数为6, 则卷积后的特征图大小为32×32像素。采样层采样方式为均值采样, 接受域为2, 最终第1级输出6个大小为16×16像素的特征图。将16×16像素的特征图输入第2级网络, 第2级网络包含卷积神经网络和2层递归神经网络。设递归神经网络的个数为K2=30个, 递归神经网络接受域为4×4, 经过2层运算变为1×1。第2层卷积神经网络的卷积核接受域设置为5×5, 步长为1, 卷积核个数设置为K3=16个。卷积后的特征图尺寸为12×12像素, 采样接受域设置为2×2, 采样后的特征图尺寸为6×6, 将卷积神经网络输出的特征图与递归神经网络输出的特征图进行特征融合后直接用于分类器进行分类。实验结果如表2所示。

表2 钢号识别率对比

由表2可见, 笔者提出的方法得到了较高的识别率。第2级采用递归神经网络比采用卷积神经网络的识别率高1.76%, 证明递归神经网络能学习到有效的高层特征。笔者方法对比第2级只采用卷积神经网络和第2级只采用递归神经网络的识别率分别高出3%和1.24%。说明多样性的高层特征对识别精度有积极的影响。

表3选取了一些图像的识别结果。由表3可见, 网络对于光照强度不同或图像移动的情况下依然具有好的识别能力。但是对于图像(4)中存在像素损失的数据没有正确的识别, 这类样本需额外进行处理以突出样本特征。

表3 图像识别结果

为确定网络结构对识别率的影响, 笔者还研究了递归神经网络个数和C3层卷积核个数对识别率的影响。实验过程和结果如下。

1) 固定C3层卷积核个数K3=16, 将递归神经网络的个数K2从5以增量5变化到45, 识别率如图4所示。从图4中可见, 在一定范围内随递归神经网络的个数增加, 错误率也随之降低, 当K2=30左右时达到饱和, 错误率不再明显下降。递归神经网络的个数和训练时间的关系如表4所示。由表4可见, 随递归神经网络个数的增加, 训练所需时间也有所增加, 在K2值较小时, 随K2的增加, 训练所需时间缓慢增加, 当K2>35时, 再增加K2的数目, 时间消耗增幅变大。

表4 递归神经网络个数对训练时间的影响

2) 固定递归神经网络个数K2=30, 变化C3层卷积核个数K3, 从8以增量2变化到20, 得到的识别结果如图5所示。由图5可见, 当K3=12时错误率就降到了4.23%, 比卷积神经网络的错误率降低了1.52%, 由此可见, 利用递归神经网络提取图像的多样性特征是有效的。C3层卷积核个数与训练时间关系如表5所示, 当K3取8、10、12时相比表4训练时间明显缩短, 说明引入递归神经网络后, 不仅识别精度提高了, 同时还加快了训练速度。随K3的增加, 识别率上升, 但同时训练的时间成本也越来越大。

图4 递归神经网络个数对识别率的影响曲线 图5 C3层卷积核个数对识别率的影响曲线图 Fig.4 Effect of recursive neural network number on recognition rate Fig.5 Effect of convolution kernel number in C3 layer on recognition rate

K38101214161820训练时间/min51.7753.2954.9658.3762.3268.9779.52

4 结 语

笔者在经典网络的基础上改进卷积神经网络, 通过引入递归神经网络与卷积神经网络并行学习高层特征, 增加了特征的多样性。针对钢号样本数据的特点, 采用几何变化以及加噪声的方式对样本集进行扩充, 并利用迁移学习理论, 将MNIST数据集训练网络学习到的知识迁移应用于钢号识别中, 以提高训练的精度和速度, 减少网络过拟合。实验证明, 改进的卷积神经网络在钢号识别任务中获得了较高的识别率。笔者的试验是采用Matlab平台进行的, 为加快训练速度下一步应研究基于深度学习框架的实验方式。并且激活函数、 网络层数、 采样方式的选择等也一定程度上影响网络的性能, 也应进一步进行研究, 以寻找适合钢号识别的最优网络。

参考文献:

[1]王静钢. 无缝钢管标记识别系统的设计与实现 [D]. 北京: 北京邮电大学软件学院, 2008.

WANG Jinggang. Design and Implementation of Marker Recognition System of Seamless Steel Tubes [D]. Beijing: College of Software, Beijing University of Posts and Telecommunications, 2008.

[2]王志瑞, 闫彩良. 图像特征提取方法的综述 [J]. 吉首大学学报: 自然科学版, 2011, 32(5): 43-47.

WANG Zhirui, YAN Cailiang. Method of the Image Feature Extraction [J]. Journal of Jishou University: Natural Science Edition, 2011, 32(5): 43-47.

[3]刘建伟, 刘媛, 罗雄麟. 深度学习研究进展 [J]. 计算机应用研究, 2014, 31(7): 1921-1930,1942.

LIU Jianwei, LIU Yuan, LUO Xionglin. Research and Development on Deep Learning [J]. Application Research of Computers, 2014, 31(7): 1921-1930,1942.

[4]LECUN Y, BOTTOU L, BENGIO Y, et al. Gradient Based Learning Applied to Document Recognition [J]. Proceedings of the IEEE, 1998, 86(11): 2278-2324.

[5]KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet Classification with Deep Convolution Neural Networks [C]∥Neural Information Processing Systems Conference and Workshop(NIPS). USA: Curran Associates, Inc, 2012: 1106-1114.

[6]SAXE A, KOH P W, CHEN Z, et al. On Random Weights and Unsupervised Feature Learning [C]∥International Conference on Machine Learning. USA: Curran Associates, Inc, 2011: 1089-1096.

[7]周飞燕, 金林鹏, 董军. 卷积神经网络研究综述 [J]. 计算机学报, 2017, 40(7): 1-23.

ZHOU Feiyan, JIN Linpeng, DONG Jun. Review of Convolutional Neural Network [J]. Chinese Journal of Computers, 2017, 40(7): 1-23.

[8]SOCHER R, HUVAL B, BHAT B, et al. Convolutional Recursive Deep Learning for 3D Object Classification [C]∥Conference and Workshop on Neural Information Processing System. USA: Curran Associates, Inc, 2012: 665-673.

[9]骆健, 蒋旻, 刘星, 等. 多尺度卷积递归神经网络的RGB-D物体识别 [J]. 计算机应用研究, 2017, 34(9): 1-7.

LUO Jian, JIANG Min, LIU Xing, et al. Multi-Scale Convolutional-Recursive Neural Networks for RGB-D Object Recognition [J]. Application Research of Computers, 2017, 34(9): 1-7.

[10]PAN S J, YANG Q. A Survey on Transfer Learning [J]. IEEE Transactions on Knowledge and Data Engineering, 2010, 22(10): 1345-1359.

[11]李彦冬, 郝宗波, 雷航. 卷积神经网络研究综述 [J]. 计算机应用, 2016, 36(9): 2508-2515,2565.

LI Yandong, HAO Zongbo, LEI Hang. Survey of Convolution Neural Network [J]. Journal of Computer Applications, 2016, 36(9): 2508-2515,2565.

[12]陈浩翔, 蔡建明, 刘铿然, 等. 手写数字深度特征学习与识别 [J]. 计算机技术与发展, 2016, 26(7): 19-23,29.

CHEN Haoxiang, CAI Jianming, LIU Kengran, et al. Deep Learning and Recognition of Handwritten Numeral Features [J]. Computer Technology and Development, 2016, 26(7): 19-23,29.

[13]孟洁, 程永强. 图像定位及分割在车辆牌照识别中的应用 [J]. 信息通信, 2015(9): 159,160.

MENG Jie, CHENG Yongqiang. Application of Image Location and Segmentation in Vehicle License Plate Recognition [J]. Information & Communications, 2015(9): 159,160.

[14]张琪. 卷积神经网络在车标识别技术中的研究及其小样本下的处理策略 [D]. 安徽: 安徽大学电子信息工程学院, 2016.

ZHANG Qi. Research on Vehicle Logo Recognition Technology Based on Convolution Neural Network and Processing Strategy on Few Samples [D]. Anhui: Shool of Electronic Information Engineering, Anhui University, 2016.

[15]于旭, 杨静, 谢志强. 虚拟样本生成技术研究 [J]. 计算机科学, 2011, 38(3): 16-19.

YU Xu, YANG Jing, XIE Zhiqiang. Research on Virtual Sample Generation Technology [J]. Computer Science, 2011, 38(3): 16-19.

[16]何鹏程. 改进的卷积神经网络模型及其应用研究 [D]. 大连: 大连理工大学计算机科学与技术学院, 2015.

HE Pengcheng. Research of Improved Convolution Neural Network Model and Its Application [D]. Dalian: School of Computer Science and Technology, Dalian University of Technology, 2015.

猜你喜欢

个数像素卷积
像素前线之“幻影”2000
基于3D-Winograd的快速卷积算法设计及FPGA实现
怎样数出小正方体的个数
卷积神经网络的分析与设计
等腰三角形个数探索
怎样数出小木块的个数
“像素”仙人掌
从滤波器理解卷积
怎样数出小正方体的个数
基于傅里叶域卷积表示的目标跟踪算法