基于改进LeNet-5的牛奶生产日期识别研究

2020-07-15 05:04王雪丽
计算机技术与发展 2020年7期
关键词:生产日期卷积神经网络

雷 飞,孙 康,王雪丽

(北京工业大学 信息学部,北京 100124)

0 引 言

牛奶作为营养价值很高的饮品,已经成为了人们生活中不可或缺的一部分。随着人们健康意识的提升,人们对牛奶的安全性也有了更高的要求。显而易见,牛奶包装上的生产日期和保质期是直接关系牛奶是否安全的重要标准之一[1]。

生产日期指产品在工业流水线上完成全部工序后,经过检查并包装成为可上市售卖的成品时的日期。当前牛奶厂家主要通过喷码机来实现牛奶生产日期的喷印,喷印过程快速,且成本低廉。但在喷印过程中,难免会发生生产日期缺印、错印等现象。针对此类现象,传统人工检测生产日期的方式,不仅检测效率低下,还会增加生产成本[2]。因此对牛奶生产日期识别的研究具有重要的现实意义和广阔的应用前景。

字符识别传统算法如最近邻算法[3]、模板匹配[4]、支持向量机[5]等,对复杂分类问题的数学表示能力有限,存在识别率低、处理速度慢等问题,不能满足现实生产过程中牛奶生产日期识别的需求,因此急需一种新的方法来解决上述问题。

卷积神经网络(convolutional neural networks,CNN)正是一种满足牛奶生产日期识别需求的新方法,它是一种层与层之间局部连接的深度神经网络。作为深度学习热门的研究方向之一,卷积神经网络已经被成功应用于车牌识别[6]、货车列车车号识别[7]、行人检测[8]等多个领域中。文中首先阐述了卷积神经网络和LeNet-5[9]的结构,之后对LeNet-5模型的改进进行了详细说明,使其能够很好地应用于牛奶生产日期识别中。并设计了实验方案,对比了改进后的LeNet-5模型与传统BP神经网络识别算法的性能,得到了改进后的LeNet-5在识别率上更优的结论,并对进一步的研究工作进行了展望。

1 卷积神经网络

卷积神经网络是人工神经网络的一种,是引起人们广泛重视的一种高效识别方法[10-14]。卷积神经网络能够将图像直接作为网络输入,避免了前期图像处理工作,是一种端到端的学习网络模型,通过常用的梯度下降算法来训练参数,训练好的卷积神经网络能够从图像中学习到某些特征,并且能够将图像的特征进行提取和分类。

卷积神经网络是一个多层的神经网络,其基本结构包含输入层、卷积层、池化层、全连接层及输出层。

1.1 输入层

卷积神经网络的输入层能够直接接收二维图像,并且能够主动提取输入图像的数据特征、学习分类器,无需人为参与,大大减少了人工预处理过程,有助于学习与当前分类任务最为有效的视觉特征。

1.2 卷积层

卷积层是卷积神经网络的基础核心,主要用作图像的特征提取。通过一个可学习的卷积核对上一层的特征图进行卷积,再经过激活函数,就能够获得新的特征图。之后继续对特征图进行卷积,特征之间继续组合卷积多个特征图的值[15]:

(1)

1.3 池化层

卷积层之后紧跟着的是池化层。池化层通过减少网络参数的方式来加快计算速度,并且也有一定防止过拟合的作用。一般地,池化层的形式如下式所示[15]:

(2)

1.4 全连接层

卷积神经网络的全连接层连接在多个卷积层和池化层之后。全连接层能够重组卷积层或池化层中具有类别区分性的部分信息。一般地,全连接层的形式如下式所示[15]:

(3)

其中,xl代表全连接层l的输出,wl代表全连接网络的权重系数,bl代表全连接层l的偏置项。

1.5 输出层

卷积神经网络的输出层,以全连接方式进行传递。最后一层隐含层可以是卷积层或池化层,所得到的多个二维数据矩阵被重新组合成一维向量,与输出层以全连接的方式进行相连。该结构能够发掘最后提取的特征与分类结果之间的映射关系,在复杂的运用中,输出层可设为多层全连接。

2 LeNet-5及其改进

2.1 LeNet-5模型基本结构

LeNet-5模型是由Yan Lecun等人于20世纪90年代提出的一种卷积神经网络模型,最初设计用于手写数字的识别,是卷积神经网络前期发展中最有代表性的实验系统之一。LeNet-5模型共有7层(不包括输入层),其中第1、3和5层是卷积层,第2和4层是池化层,第6层是全连接层,第7层是输出层。其具体结构如图1所示。

图1 LeNet-5模型结构

2.2 LeNet-5的改进

因为LeNet-5模型是针对手写数字识别设计的网络,且考虑到网络结构的复杂性不仅对模型训练和识别时间有影响,而且对硬件设备要求极高,很大程度上影响到了识别系统的通用性和实用性。因此,文中对LeNet-5进行了改进,删除了其C5层,将池化层S4直接与全连接层相连。改进后的LeNet-5结构如图2所示。

图2 改进后的LeNet-5结构

如图2所示,改进后的LeNet-5输入层输入的是28×20像素大小的牛奶生产日期数字图片。之后为第一个卷积层C1,它包含6个24×16大小的特征图,其中特征图是由一个5×5的卷积核与输入图像卷积之后,通过激活函数输出得到的。在牛奶图像卷积过程中,由于同一特征映图上的神经元权值相同,因而网络可以并行的学习,卷积层的结果将作为池化层S2的输入,S2层的特征图中的每个神经元以一个2×2大小的区域同C1层的特征图相连,通过池化层后的特征图个数不发生改变,大小缩小为原先的一半。

C3是第二个卷积层,S4则是第二个池化层,它们与C1、S2基本对应一致。FC包含256个神经元,与S4层进行全连接,并得到输出的输出层。输出层包含10个神经元,分别对应数字0至9,并采用Softmax函数进行多分类,其具体公式如下所示:

(4)

其中,x表示全连接层的输出。在激活函数方面,最初的LeNet-5模型采用的是Sigmoid函数:

(5)

Sigmoid函数也被称为Logistic函数,它被用于隐含层神经元的输出,其取值范围为(0,1)。

Sigmoid函数在特征相差比较复杂或是相差不是特别大时效果比较好,但易发生梯度消失的情况,从而导致无法完成深层网络的训练。所以文中采用ReLU函数代替Sigmoid函数作为激活函数,其中ReLU函数为:

R(x)=max(0,x)

(6)

相比Sigmoid函数,ReLU函数只需要一个阈值就能得到激活值,计算复杂度低,并且能够加快随机梯度下降算法的收敛速度。

3 实验与分析

3.1 生产日期识别流程

文中提出的基于改进LeNet-5的牛奶生产日期识别方法主要包括两部分:网络训练和识别测试。其中,网络训练主要是对图像数据集训练实现CNN分类模型;识别测试主要是对待识别的牛奶生产日期图像输入训练完成的模型进行识别,具体流程如图3所示。

图3 改进LeNet-5的识别流程

3.2 实验数据

编程采用Python3.6结合TensorFlow框架对改进后的卷积神经网络LeNet-5模型进行了仿真实验,同时为了验证改进LeNet-5的性能,收集到了实际来自不同品牌牛奶的生产日期图像数据共200个,利用生产日期分割后的单个数字分别建立了1 000个训练样本集和200个测试样本集。部分牛奶生产日期图像如图4所示。

图4 部分牛奶生产日期数据

3.3 图像预处理

分割后的牛奶生产日期是不同数字的单字符图像,文中利用边框扩充背景像素的方式,使其满足模型输入层要求。同时牛奶生产日期多为点阵字符,图像经过二值化处理后,日期各个点是分离的,不利于识别。为此针对点阵字符的特点,采用数学形态学中膨胀和细化的方式,使得点阵字符近似连接,便于图像的训练及识别。如图5所示,左侧为牛奶生产日期点阵字符,右侧为该字符连接后图像。

图5 牛奶生产日期点阵字符连接图

3.4 实验结果

训练学习首先要设置训练参数,其中学习率alpha和迭代次数epochs很大程度上决定了卷积神经网络的整个训练效果。学习率alpha是使用随机梯度下降算法时梯度前面的系数,该参数不能置得太大或太小,参数设置过大,易导致算法无法优化;参数设置过小,则会发生优化过慢及掉入局部最优的现象。

迭代次数epochs表示的是系数更新之前遍历训练样本集的次数,同样该参数不能置得太大或太小,参数设置过大,易导致训练时间过长且效果并无显著提升;参数设置过小,则训练深度不够。文中在实验中将alpha设置为0.01,epochs设为32,每次训练样本batch为32张,每个epoch需要训练100次,总迭代训练3 200次。图6为参数设置完成后,改进LeNet-5网络训练集的损失函数曲线。从图中可以看出,迭代次数与损失函数值之间成反比,即迭代次数越大,损失函数值越小。并且在迭代250次上下时,训练模型能够得到较小的损失函数值,代表训练已经有了充分收敛。

图6 损失函数变化曲线

3.5 对比实验

为了验证改进LeNet-5模型的识别性能,与传统的BP神经网络识别算法进行了牛奶生产日期识别的正确率和识别耗时的比较。其中BP神经网络隐含层取450个节点,学习率采用0.01,对比结果如表1所示。

表1 改进LeNet-5与BP算法识别性能比较

从表1可以看出,相较于BP神经网络,改进LeNet-5网络模型的识别率有着明显的提升,但在运算速度上差异还是较为显著的,但是基本能够满足实际应用情况。

4 结束语

提出一个用于牛奶生产日期识别的改进卷积神经网络LeNet-5模型,主要是针对牛奶生产日期字符特点,对LeNet-5模型结构、激活函数以及网络中各层特征图的大小和数量进行了改进,在保证识别正确率的同时,加快了训练和识别时间。与传统BP神经网络识别算法相比,改进后的LeNet-5模型识别方法拥有更高的准确率,并且识别速度能够满足实际应用需求。在下一步的工作中,将继续对识别模型进行改进,并增大训练集图像样本,以进一步提高识别率,并尝试将其应用于其他食品生产日期的识别中。

猜你喜欢
生产日期卷积神经网络
基于全卷积神经网络的猪背膘厚快速准确测定
基于神经网络的船舶电力系统故障诊断方法
MIV-PSO-BP神经网络用户热负荷预测
基于改进Hopfield神经网络的对地攻击型无人机自主能力评价
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
生产日期“易除抹”不是个小问题
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
含多个生产日期食品的外包装标注分析与修改建议