APP下载

图像识别中的卷积神经网络应用研究*

2021-02-23张玉红白韧祥孟凡军王思斯

新技术新工艺 2021年1期
关键词:池化层图样图像识别

张玉红,白韧祥,孟凡军,王思斯,吴 彪

(1.吉林建筑大学 电气与计算机学院,吉林 长春 130118;2.长春设备工艺研究所,吉林 长春 130012;3.吉林省乔富建设股份有限公司,吉林 长春 130000)

当今社会的计算机技术不断发展,图像识别技术在许多领域中得到了应用。1950年,手写的字体可以通过图像识别技术进行识别。1965年,人们开始着手数字化图像领域的识别研究。数字化图像有下述几种优势:便于缩减存储空间,不易失真,图片处理起来比较容易等。这些优点促进了该领域的发展。目前对图像识别的方法有统计模式识别、结构模式识别、模糊模式识别和深度学习[1]。

深度学习是人工智能中十分重要的部分,且最早在图像处理中得以成功应用。在1989年加拿大教授 Yann Le Cun与其小组成员提出卷积神经网络并得以应用。卷积神经网络是带有卷积结构的多层网络,它解决了深层的神经网络占用内存和内部参数多的问题,同时也缓解了模型在训练时出现的图像过拟合现象。刚一问世,卷积神经网络就在小规模图片集上获得了当时世界上最好的成绩,但受限于当时的理论及技术水平,在随后相当长一段时间内,卷积神经网络领域没有得到太多的进展。2012年10月,加拿大教授Hinton与自己的小组成员在Image Net竞赛中应用了卷积神经网络技术,这使他们获得了竞赛的最好成绩。通过这次竞赛他们使神经网络在图像识别领域有了实质性的突破,这次之后,卷积神经网络模型能够识别和理解一般的自然图片的内容[2]。

针对图像识别,传统的识别方法包括统计模式识别、结构模式识别和模糊模式识别。这些传统的识别方法有自适应性能差的缺点,如果待识别的图像存在比较大的残缺或者有比较强的噪声干扰,则传统的识别方法就无法得到预期的结果。而深度学习则刚好弥补了传统识别方法的这些劣势,它大大提高了图像识别准确率和模型在线运算速率,并且降低了提取待识别图像特征的工作[3]。通过综合考虑,本文在图像识别中加入了卷积神经网络技术。

1 卷积神经网络

卷积神经网络的结构是根据大脑神经元而设计,其本质就是将一个个简单的神经元连起来,利用每个底层的神经元提取图像的信息,然后将许多这样的神经元结合起来提取一个十分复杂的图像信息,最终获得图像的高级语义特征[4]。图片中提取的高级语义特征种类越多,则越可以体现图片的主要内容,同时反映出对图片的识别和理解能力也越强。

卷积神经网络结构主要包括卷积层、池化层和全连接层。

1)卷积层。卷积层的运算是卷积神经网络的重要组成部分,其主要作用是图像特征的提取和抽象。而卷积层的核心则是卷积运算,卷积运算时,图像应该先转换成数值矩阵,然后再进行运算。假定有一个尺寸为6×6的图像,每一个像素点里都存储着图像的信息。定义一个卷积核(相当于权重),用来从图像中提取一定的特征(见图1)。卷积核与数字矩阵对应位相乘再相加,得到卷积层输出结果(见式1)。

图1 特征值的卷积运算18×1+54×0+51×1+55×0+221×1+75×0+35×1+24×0+204×1=429

(1)

卷积核的取值在没有以往学习的经验下,可由函数随机生成,再逐步训练调整。当所有的像素点都至少被覆盖一次后,就可以产生一个卷积层的输出(卷积步长为1)(见图2)。

图2 卷积层的输出

卷积层输出值越高,就说明匹配程度越高,越能表现该图片的特征。

2)池化层。池化层的作用主要是减少参数的数量,提高计算速度,并增强所提取特征的鲁棒性,同时防止过拟合现象的发生,池化层一般放于卷积层之后,缩减模型的大小,降低特征维度。

最常见的2种池化层的形式:最大池化和均值池化。

以最大池化为例,池化层输入的4×4矩阵,选用的池化层尺寸大小为2×2,池化步长为2,则最后可以得到2×2的池化输出(见图3),图中粗线方框代表一次最大池化运算。

图3 池化层的输出

3)全连接层。卷积层和池化层的工作就是提取特征,并减少原始图像带来的参数。然而,为了生成最终的输出,需要应用全连接层来生成一个等于所需要的类的数量的分类器。

全连接层的工作原理和之前的神经网络学习很类似,需要把池化层输出的张量重新切割成一些向量,乘上权重矩阵,加上偏置值,然后对其使用ReLU激活函数,用梯度下降法优化参数即可。

本文设计的神经网络结构包括5个卷积层、3个池化层和3个全连接层[5-6]。待识别图片可以通过卷积层和池化层来提取图片中的特征,而全连接层是把二维的特征图变为一维的特征向量。卷积神经网络模型在预训练时存在2个过程,即前向传播与反向传播。

1)前向传播。每一层输出的特征如下:

(2)

2)反向传播。通过前向传播对样本的预测与网络期望值的输出来确定模型内部的参数。定义网络的目标函数:

(3)

2 试验准备与结果分析

本文基于开源框架TensorFlow和Keras进行试验研究。试验配置:i5-4200U CPU和AMD Radeon HD 8600M series显卡[7]。

2.1 数据集

数据集共分为3类,包括60张训练模型优化模型参数的训练集、10张检测训练模型每次训练结束后训练效果的验证集和10张测试图样识别模型的测试集。选择2张图样,其中用红绿蓝三色图作为正确的图样(见图4);用非红绿蓝三色图作为错误的图样(见图5)。分别在不同角度拍摄40张照片,每张图样取30张拍摄的照片作为训练网络参数的训练集,再各取5张照片作为检测训练模型训练结果的验证集,则每张图样剩余的5张照片作为测试集。

图4 用作正确的图样

图5 用作错误的图样

2.2 试验过程

本次训练中通过40个epoch来更新学习率,在训练开始时设一个较大的学习率,随着学习过程中系统总误差的减小,学习率也逐渐减小,每当完成一次epoch训练,将最佳权重保存至特定的文件,以便后期神经网络模型的部署,训练过程中使用随机梯度下降法对训练系统进行优化,同时使用minibatch训练加快模型收敛。训练模型流程图[8-12]如图6所示。在完成40个epoch训练后,保存了训练中的最佳权重,在模型预测中则直接调用已保存的最佳权重进行模型预测参数初始化,开始对图片进行预测。待测图片识别流程图如图7所示。

图6 训练模型流程图

图7 图片识别流程图

在训练开始之前,先加载需要训练的图片,对训练集进行预处理,包括图片归一化、图片通道统一等,然后进行模型的搭建并进行训练,即开始前向传播和反向传播,反向传播采用随机梯度下降法进行优化,每完成一次优化则进行一次判断是否结果更优,如果更优,则更新相关的权重,否则判断是否完成所有epoch训练,如果未完成则返回训练模型继续训练,否则整个模型训练完成。

在神经网络模型预测中,先加载已经训练完成的模型参数,加载图片分类的标签值,以便模型后续预测结果输出,然后在用户端传入需要分类的图片,系统得到待识别的图片后,显示进行图片的预处理,将相关的参数进行统一化,使用已经加载的神经网络进行预测,最后输出当前图片的识别结果,完成整个图像识别的流程。

2.3 卷积神经网络的训练结果及分析

本次设计的训练模型在训练过程中模型训练的迭代次数最大为40,选用的块大小为128,通过采用GPU模式来加速神经网络的训练,在训练模型中加入了Dropout正则化[13]对系统进行优化处理来防止训练过程中发生过拟合现象,同时对数据集照片进行图集扩充,如:旋转、缩放、翻转等,模型对扩充以后的数据集在训练过程中也无发生过拟合现象。由损失函数曲线图(见图8)可知,训练模型训练到后期时,随着模型学习率逐渐降低,损失函数也保持稳定下降,当卷积神经网络的训练模型在迭代次数达到25次时,损失函数的曲线就开始逐渐趋向于稳定。而根据模型训练的准确率曲线图(见图9)可知,在刚开始几次中,训练模型的准确率偏低,这是由于模型训练迭代次数较少而导致的模型参数没有得到最优化,不过在模型训练迭代次数逐渐增加的过程中,同时模型数据集的识别率也逐渐提高,当卷积神经网络训练模型在更迭次数达到25次时,模型的准确率曲线图也逐步趋于稳定。综合2张曲线图可知,该模型迭代25次时达到模型的最佳迭代次数。通过采用一种基于卷积神经网络而设计的训练模型,其准确率可达到96%。

图8 损失函数下降曲线

图9 训练模型识别准确率曲线

3 结语

本文基于卷积神经网络AlexNet设计的图像识别模型,对于小规模的图像分类,即使对数据加入旋转、缩放、翻转,预测时仍然保持稳定的精确度。但是面向大规模图像分类还有待提高,未来的工作将进一步调整网络框架、网络内部优化学习更精确的特征表达,使得该训练模型具有更好的应用前景。随着这一领域理论的不断深入研究,图像识别和理解中的卷积神经网络应用将会有更好的发展。

猜你喜欢

池化层图样图像识别
卷积神经网络模型研究分析*
基于卷积神经网络的纸币分类与点钞
基于深度学习卷积神经网络的人体行为识别研究
基于AutoCAD二次开发实现按序排图
基于Resnet-50的猫狗图像识别
高速公路图像识别技术应用探讨
图像识别在物联网上的应用
图像识别在水质检测中的应用
基于全卷积神经网络的SAR图像目标分类*
基于DWG DirectX的电子产品图样结构关系轻量化构建方法研究