基于改进卷积神经网络的红枣缺陷识别
2021-09-21张忠志薛欢庆范广玲
张忠志 薛欢庆 范广玲
(1. 吉利学院,四川 成都 641423;2. 大庆师范学院,黑龙江 大庆 163712;3. 东北石油大学,黑龙江 大庆 163311)
目前中国对红枣缺陷的检测方法大多通过人工进行筛选,劳动强度大且效率低,而且红枣的品质受分拣人员的影响较大,难以满足中国食品安全相关标准的要求[1]。研究人员对食品缺陷检测技术进行了研究,并取得了一定的成果。杨森等[2]提出了一种基于轻量级卷积网络的马铃薯外部缺陷无损检测与分类方法,当训练率为0.000 001时,网络模型的整体性能最好,训练精度为98.88%。与传统方法相比,轻量级网络模型平均表现出较好的识别效果,平均识别率为96.04%。张思雨等[3]提出了一种将机器视觉与自适应卷积神经网络相结合的花生质量检测方法,该法对花生常见缺陷的平均识别率为99.7%,比传统的深度网络具有更高的收敛速度和识别精度。海潮等[4]提出了一种基于机械视觉检测红枣表面缺陷的方法,其颜色空间模型使用Blob分析算法将红枣与背景分离,并识别红枣上的表面缺陷,准确率在90%以上。然而,上述食品缺陷检测方法的研究往往局限于单一缺陷,识别准确率和效率不高,在实际应用中无法满足要求。
针对目前红枣人工缺陷识别技术的现状,研究拟提出一种用于红枣缺陷自动识别的多分类方法,通过双分支深度融合卷积神经网络(Double branch deep fustion convolutional neural network,DBDFCNN)进行缺陷识别。采用双分支卷积神经网络结构,分支1结合迁移学习策略进行预训练,分支2基于轻量级网络融合特征图提取红枣图像的特征信息。通过对比实验验证该方法的优越性。旨在为食品缺陷检测方法的研究提供一定的依据。
1 系统概述
红枣缺陷检测系统结构如图1所示,其工作原理:进料机构可将枣从混乱状态转变为单一进料状态,将枣有序地引入输送机的辊列中[5]。输送系统可实现红枣的自动翻转,在正向运输的同时,可以在摄像机采集范围内查看枣的各个侧面,进行全方位采集,获取红枣的全部表面信息[6]。图片处理系统经过处理后将结果传到分拣系统,分拣系统通过封嘴将不同缺陷枣移动到指定位置,利用挡板进行收集,正常红枣会自动落入输送带末端的储存箱中,实现红枣缺陷的分选。
图1 系统结构
2 缺陷识别方法
在食品图像检测识别领域,种类繁多、特征相似、数据集匮乏等问题提高了对模型迁移能力的要求,限制了传统深度学习模型的应用[7]。因此,提出一种双分支深度融合卷积神经网络用于自动识别红枣中的缺陷。
2.1 深度融合卷积神经网络
轻量级网络 SqueezeNet以1×1卷积核来代替部分3×3的卷积核,减少了卷积神经网络模型的训练参数,压缩了网络模型的大小[8]。 同时,通过延迟池化层来获得更大的特征图,使识别的准确率得到极大的提高。SqueezeNet 网络结构如图 2所示,主要由卷积层、池化层、Fire 模块、激活层 ReLU 组成。其中Fire 模块是 SqueezeNet 网络的核心部分[9]。文中红枣输入图像数据大小为227×227,卷积层Conv1卷积核大小为7×7,步长为2,卷积层Conv10的卷积核大小为1×1,步长为1,通过Conv10代替全连接层进行分类[10]。输出为红枣分类结果,分为5类,对应红枣的各类别。 SqueezeNet网络参数如表1所示。
图2 SqueezeNet网络结构
表1 SqueezeNet网络参数
为了进一步提高模型识别的准确率,对轻量级网络进行改进,将Fire模块的3个卷积层Squeeze 1×1、expand 1×1、expand 3×3通过Concat层进行融合,形成融合模块(Fusion module),并将相邻Fusion模块提取的特征信息进行融合,融合后的特征图作为下一层网络的输入[11]。增加了特征图在网络中的分支数量,使网络的特征信息更加丰富[12]。在卷积操作后,都会加入一个 BN 批量标准操作层,并使用 PReLU 函数代替 ReLU 函数作为网络激活层。深度融合卷积神经网络的结构如图 3所示。
图3 深度融合卷积神经网络结构
使用Fusion模块与Fire模块进行替换,相邻Fusion模块进行特征融合,所以称为深度融合卷积神经网络[13]。该网络的结构由2个卷积层、8个Fusion模块、4个池化层和1个Dropout层组成[14]。在每次卷积操作之后,进行 BN 批量标准操作层和PReLU激活层,8个Fusion模块两两进行融合(2 和 3、4 和 5、6 和 7、8 和 9),通过融合优化特征信息流[15]。
每一层特征数据输入之前都要进行归一化处理,均值0,方差1。如果BN层输入有d维数据X={x1,x2,x3,K,xd},则批量数据特征均值如式(1)所示,方差如式(2)所示[16]。
(1)
(2)
2.2 双分支深度融合卷积神经网络
在深度融合卷积神经网络的基础上,提出了一种DBDFCNN结构来解决红枣缺陷识别问题。如图4所示,DBDFCNN 网络是双分支结构,第1个分支使用训练好的SqueezeNet网络模型对文中模型进行预训练。 第2个分支通过Fusion模块提取枣图像的特征信息[17]。
图4 双分支深度融合卷积神经网络结构
DBDFCNN结构的设计是在卷积神经网络结构中使用迁移学习策略,利用训练好的SqueezeNet网络模型对DBDFCNN网络模型进行预训练,提高了网络训练整体收敛速度[18]。 同时拓宽了网络结构的宽度,提高了DBDFCNN模型的分类精度和泛化能力[19]。
3 结果与分析
3.1 试验参数
相机:mer-503-20gc-p型,北京大恒图像视觉有限公司;
镜头:m0814-mp2型,日本康标达公司;
计算机:联想启天M435型,联想(北京)有限公司;
Halcon:德国MVtec公司;
Visual Studio 2018:微软公司。
网络输入层红枣图像的大小统一裁剪为227×227,该数据集包含干条、黄皮、霉变、破头和正常枣(各2 000张),分为训练集和测试集,训练集和测试集比例为1∶1[20]。最大迭代数为10 000,学习率为0.000 1。DBDFCNN网络参数如表2所示。
表2 参数设置
对不同卷积神经网络性能对比分析,以验证DBDFCNN网络模型的有效性。与传统缺陷识别方法和改进的卷积神经网络方法进行比较,验证该方法的优越性[21]。图5为红枣的分类图。
图5 红枣分类图
3.2 试验分析
从图6(a)可以看出,迭代0~500时DBDFCNN网络模型识别准确率快速上升,在500~3 000时上升较为缓慢,之后准确率趋于稳定,最终稳定在99%以上。从图6(b) 可以看出,迭代0~500时DBDFCNN网络模型的损失值迅速下降,在500~3 000时下降缓慢,之后趋于稳定。
图6 DBDFCNN网络的准确率和损失值变化
使用DBDFCNN网络模型对红枣图像测试集数据进行识别和分类,测试集中共有5 000张红枣图片,分5种类型,每种类型各1 000张。表3为DBDFCNN网络模型识别结果。
由表3可知,网络模型识别准确率分别为99.8%,99.6%,99.4%,98.7%,100.0%,总体分类准确率为99.5%。
表3 识别结果
为了验证DBDFCNN网络模型的有效性,将网络模型与SqueezeNet网络模型进行对比分析。迭代次数设置为10 000,干条、黄皮、霉变、破头和正常枣各2 000张为试验集进行实验验证。由图7可知,文中网络模型的分类准确率和网络学习速度都优于SqueezeNet网络模型,而且网络收敛速度快,损失值小,网络学习速度快。
图7 不同网络的准确率和损失值变化
通过红枣数据集对DBDFCNN网络和SqueezeNet 网络进行训练和测试,准确率分别为96.2% 和 99.5%。每张红枣图像的平均分类和识别时间分别为3.7,8.2 ms。
由表4可以看出,SqueezeNet网络模型的分类识别时间相对较短,且其准确率较文中网络模型低了3.43%。虽然文中网络模型增加了红枣缺陷分类所需的时间,但仍能满足红枣分类识别的工程应用。
表4 不同网络模型对比
为了验证DBDFCNN算法的优越性,将其与网中网卷积神经网络(Network in network -convolutional neural networks,NIN-CNN)算法[22]和粒子群优化的最小二乘法支持向量机(Particle swarm optimization-least squares support vector machine,PSO-LS-SVM)算法[23]进行比较。PSO-LS-SVM算法用于提取和识别红枣单一特征,未进行多种缺陷分类。而DBDFCNN算法和NIN-CNN算法针对不同枣品质实现多分类,相比于传统识别方法,在识别准确率和效率上都有一定的提升。从表5可以看出,传统的红枣缺陷识别和检测方法仅关注缺陷的存在与否,不会对缺陷进行分类。卷积神经网络的出现解决了红枣缺陷的多分类问题,网络通过原始图片进行训练,无需复杂的图像预处理操作,分类识别准确率较高,DBDFCNN网络模型的识别准确率达到99.5%。
表5 不同识别方法对比
4 结论
基于双分支深度融合的卷积神经网络的红枣缺陷识别方法,提高了网络学习速度和收敛速度,具有较好的分类识别效果。相比于SqueezeNet网络,文中提出的网络模型将红枣缺陷分类准确率提高了3.43%,识别准确率达到99.5%。鉴于试验设备和数据规模,文中研究仍处于起步阶段,仅进行试验分析,后期将不断提高该方法的性能。