基于轻量级卷积神经网络的苹果表面缺陷检测方法

2021-09-18 03:25周雨帆,李胜旺,杨奎河,白宇,宋子盈
河北工业科技 2021年5期
关键词:卷积神经网络

周雨帆,李胜旺,杨奎河,白宇,宋子盈

摘要:为了解决目前农业信息领域对苹果表面缺陷检测准确率低的问题,提出一种基于轻量级卷积神经网络的苹果表面缺陷检测方法。首先采集苹果缺陷样本图片制作实验数据集用于模型训练和测试;其次在AlexNet网络结构的基础上,引入深度可分离卷积代替原有网络中的标准卷积运算来进行图像特征的提取;最后利用全局平均池化方法代替原有网络中的全连接层,从而将卷积层输出的多个特征图以自身为单位进行映射得到特征点。实验结果表明:改进后网络对苹果缺陷识别精度达到了98.57%,较改进前提升1.55%;较改进前模型参数量减少99.3%、训练速度提高32.67%、FPS提高33.28%,改进后的轻量級卷积神经网络不仅减少了模型参数量和训练时间,而且提高了检测精度和速度。因此,新的检测方法在减少模型参数量的同时,还可保证模型的检测精度和效率,具有较强的工程实用性,可为苹果缺陷分类提供理论参考。

关键词:计算机神经网络;卷积神经网络;表面缺陷检测;深度可分离卷积;全局平均池化

中图分类号:TP391.41文献标识码:ADOI: 10.7535/hbgykj.2021yx05006

Apple surface defect detection method based on lightweight

convolutional neural network

ZHOU Yufan,LI Shengwang,YANG Kuihe,BAI Yu,SONG Ziying

(School of Information Science and Engineering,Hebei University of Science and Technology,Shijiazhuang,Hebei 050018,China)

Abstract:In order to solve the problem of low accuracy of apple surface defect detection in the field of agricultural information,a method of apple surface defect detection based on lightweight convolutional neural network was proposed.Firstly,apple defect sample images were collected to make experimental dataset for model training and testing;Secondly,on the basis of AlexNet network structure,depth separable convolution was introduced to replace the standard convolution operation in the original network to extract image features;Finally,the global average pooling method was used to replace the full connection layer in the original network,and the output feature maps of the convolution layer as a unit were mapped to get the feature points.The experimental results show that the recognition accuracy of the improved network is 98.57%,which is 1.55% higher than that before;Compared with the model before improvement,the model parameters reduce by 99.3%,training speed increases by 32.67%,and FPS increases by 33.28%.The improved lightweight convolutional neural network not only reduces the model parameters and training time,but also improves the detection accuracy and speed.Therefore,the new detection method can reduce the number of model parameters,as well as ensure the detection accuracy and efficiency of the model,which has strong engineering practicability and provides theoretical reference for apple defect classification.

Keywords:computer neural network;convolutional neural network;surface defect detection;depth separable convolution;global average pooling

随着人们生活质量的提高,消费者对水果的品质提出了更高的要求。但水果在生长、采摘、运输、储存过程中,不可避免地会产生缺陷和损坏,水果表面缺陷是衡量水果外观质量的重要指标。目前,水果表面质量检测多采用人工检测,通过培训工人识别复杂的表面缺陷,可以实现水果的筛选。但是该方法的采样率和准确率低,劳动强度大且效率不高,易受人工经验和主观因素影响[1]。苹果作为日常生活中常见水果,对苹果表面缺陷进行检测,对实现水果的自动分拣具有较强的实用性。

人类已步入人工智能的新时代,机器视觉与深度学习是人工智能的重要组成部分,它们的结合可以很好地代替人类完成目标对象的分类和识别任务[2]。早在20世纪70年代,国外学者就采用机器视觉技术对水果进行无损检测,并取得了一些成果[3]。在数据量和计算能力不断增加的背景下,深度学习以其卓越的建模和特征提取能力在各个领域得到了广泛应用。近年来,基于深度卷积神经网络的视觉检测方法经常应用在表面缺陷检测中,不仅提高了检测效率,而且大大提高了检测精度[4]。SUSTIKA等[5]探讨不同深度卷积神经网络架构对草莓分级系统(品质检验)精确度的影响,评估了现有不同类型的深层CNN架构。熊红林等[6]提出了一种基于多尺度卷积神经网络方法用于玻璃表面缺陷检测,该方法具有较高的识别精度。程春燕[7]构建了一种基于改进的残差网络的模型,用于脐橙质量自动分类,将脐橙图像分为高质量、良好、合格和不合格4种,准确率为92%。

随着神经网络规模的增大,在提高网络性能的同时也会消耗更多计算资源,这样的网络并不利于实际应用。因此,有必要设计更加轻量级的网络模型。HOWARD等[8]提出的MobileNet就摒弃传统的标准卷积,而使用深度可分离卷积,并采用步长为2的卷积代替池化操作,可以在不损失模型精度的情况下大大减少参数量和模型计算量。

综上所述,传统的卷积神经网络对缺陷检测能达到很好的效果,但同时网络中也存在着大量的冗余参数。为解决这个问题,本文提出了一个轻量级的卷积神经网络,利用深度可分离卷积代替标准卷积运算,利用全局池化方法代替全连接层,在减少模型参数量的同时又保证了模型的检测精度和效率。

1卷积神经网络

卷积神经网络(convolutional neural network,CNN)[9]是一种常见的深度学习模型,标准的卷积神经网络包括输入层、卷积层、激活层、池化层、全连接层和分类层。输入层用于获取数据并对其进行预处理;卷积层用于提取图像高级特征;激活层对卷积层的结果做非线性映射;池化层可以降低各个特征图的维度,用于降采样;全连接层整合卷积层提取的高级图像特征;分类层在模型最后部分输出每个类型预测概率[10]。

AlexNet是 KRIZHEVSKY等[11]提出的一个深度学习模型,曾在2012年获得了ILSVRC 视觉领域竞赛的冠军。图1给出了AlexNet的网络结构图,其中Input,Conv,Pool,FC,Softmax 分别代表输入层,卷积层,池化层,全连接层和分类层。

2改进的轻量级卷积神经网络

2.1深度可分离卷积

在深度可分离卷积(depthwise separable convolution,DSC)出现之前,神经网络大多是由不同尺度的卷积核组成,伴随着模型精度的提高,神经网络的深度和模型参数量也在不断增加[12]。谷歌于2017年提出的基于深度可分离卷积的MobileNet是一种专注于神经网络应用在移动端和嵌入式设备的轻量级神经网络。本文引入深度可分离卷积代替AlexNet中的标准卷积运算,可以在保证模型表达能力的前提下极大地降低了参数量。

在常规卷积算法中,输入H×W×C的特征图与N个尺寸为K×K×C的卷积和进行卷积计算,输出特征图为H×W×N,则计算量为H×W×K×K×C×N,参数量为K×K×C×N,卷积过程如图2所示。

深度可分离卷积核心思想是将一个完整的卷积运算分解为深度卷积(Depthwise Convolution)与逐点卷积(Pointwise Convolution)2个步骤。深度卷积是分别计算输入的每张特征图,一个卷积核负责一个通道,而一个通道只能被一个卷积核卷积,通道之间并没有信息交互,提取的是通道内部的特征信息。对输入的同一通道类进行尺寸为K×K的卷积,其计算量为H×W×K×K×C,参数量为K×K×C。

逐点卷积就是将深度卷积输出的特征图与通道数相同且大小为1×1的卷积核相卷积,该操作将特征图的各维度进行了结合。在这部分中,逐点卷积核的个数就代表着提取特征的个数。利用N个尺寸为1×1×C的卷积核对深度卷积输出的特征图进行通道融合计算,计算量为H×W×1×1×C×N,参数量为1×1×C×N,深度可分离卷积过程如图3所示。

2.2全局池化

在传统的卷积神经网络中,全连接层之前的卷積层负责图像的特征提取,得到特征后再接上全连接层,然后进行激活分类[13]。本文利用全局池化层来代替全连接层,将卷积层输出的多个特征图以自身为单位进行映射,映射结果为一个特征点。多个特征点便得到了与上述特征展开相似的一维向量,然后将其引入分类层中进行分类[10]。全局池化层除了保留了前面各个卷积层和池化层提取到的空间/语义信息外,还极大减少了模型的参数量,避免了过拟合问题[14]。全连接层和全局池化层的结构如图4所示。

全局池化包括全局平均池化(global average pooling,GAP)[15]和全局最大池化(global max pool-ing,GMP)2个类型。设xkij为卷积层中第k个特征图的第(i,j)个元素,最后一个卷积层的大小为m×n,GAP,GMP过程如式(1)和式(2)所示:

ykGAP=1mn×∑m-1i=0∑n-1j=0xkij ,(1)

ykGMP=max(xkij),(2)

式中:ykGAP是GAP层的输出;ykGMP是GMP层的输出。

2.3激活函数

采用ReLu激活函数[16]对卷积后的结果进行非线性映射,可以加快网络收敛速度,防止梯度消失,增强特征稀疏性和非线性表达能力[17],其函数表示为

f(x)=x,x≥0,

0,x<0。(3)

2.4批量归一化

在机器学习中,输入数据通常会进行归一化处理,使得每个特征的数值尺度在同一个层次上,这样可以加速梯度下降的收敛过程[18]。在本文的神经网络中,除了对输入数据进行归一化外,还采用批量归一化(Batch Normalization)算法[19]对卷积层的输出值进行归一化,避免出现梯度小或梯度爆炸的情况,同时还可以加快网络模型的收敛速度。

xkij代表第j层的第i神经元模型在训练第k条数据时的输出值;σij表示这批数据在第j层第i神经元处输出值的标准差;μij表示这批数据在第j层的i神经元处的平均输出值。批量归一化后的输出值ykij为

ykij=xkij-μijσij。(4)

神经元输出值的均值μij为

μij=1m∑mk=1xkij。(5)

神经元输出值的标准差σij为

σij=1m∑mk=1(xkij-μij)2+ε,(6)

式中:m是单个mini-batch包含样本个数;ε是一个很小的常数,为了防止分母为零。

通常,为防止变换后网络的表达能力下降,会对ykij进行进一步处理,增加2个学习参数γ和β,调整归一化的输出值为

y~kij=γykij+β。(7)

2.5损失函数

网络模型使用交叉熵(Cross Entropy)损失函数来衡量真实值和预测值二者间的误差,首先对网络最后一层的输出通过Softmax求出属于某一类的概率y^(i) ,然后将y^(i)和样本的实际标签y(i)做一个交叉熵。公式如下:

y^(i)=softmax(xi),

L=-∑iy(i)log(y^(i))+(1-y(i))log(1-y^(i))。(8)

2.6评价指标

实验采用准确率A(Accuracy)、精确率P(Precision)、召回率R(Recall)、F1 score和每秒帧数(frames per second,FPS)5个指标对算法模型进行评估,计算公式如下:

A=TP+TNTP+TN+FP+FN,

P=TPTP+FP,

R=TPTP+FN,

F1=2TP2TP+FP+FN,(9)

式中:TP(True Positive)為真正例,TN(True Negative)为真负例,FP((False Positive)为假正例,FN(False Negative)为假负例。

每秒帧数(FPS),即每秒内可以检测的图片数量,可用来评估算法的检测速度,值越大检测速度越快[20]。

3实验及结果分析

3.1数据集及预处理

构建深度学习模型并在苹果图像上进行训练,进而实现模型对苹果图像的缺陷检测和分类。实验所需要的苹果图片是由部分网上下载的图片和实景拍摄的图片组成,分为健康、机械伤、病虫害、褶皱、腐烂5个类别,共4 186张图片,如图5所示。利用Python脚本语言对图片进行处理并制作为数据集。划分实验数据集,其中70%为训练集,30%为测试集。

3.2实验模型设计

图6给出了改进后的轻量级神经网络架构示意图,可以看出在特征提取过程中,由于池化层的作用,特征图的尺寸不断减小,维度由于卷积核个数的增多不断增加。算法逐步提取出更多且更高级的图像特征信息,以更好地胜任分类识别任务。实验以小批量的形式进行,每批同时用16张图片迭代25次进行训练/测试。此外,改进卷积神经网络的算法各层级信息如表1所示,其中“(11,11)”代表卷积核大小;“DSConv”代表深度可分离卷积;“96/S4”代表卷积核个数与卷积步长。以第1层卷积 “(11,11),DSConv,96/S4”为例,该层参数由逐通道卷积与逐点卷积2个部分再加上偏差组成,首先逐通道卷积部分参数为“卷积核大小×输入通道数”即“(112×3)”,其次逐点卷积部分为“点卷积核大小×输入通道数×卷积核个数”即“(1×1×3)×96”,最后偏差为“卷积核个数”即96,同理可得第2层参数,区别在于输入通道数由3变为96。批量归一化(Batch Normalization)层的参数量为“输入特征图数目×4”。从表1中可以明显看出,加入全局平均池化策略后省去了传统全连接层大量的参数,如果不采用全局池化方法改进该部分,则全连接层的参数为6×6×256×4 096+4 096=37 752 832。

3.3实验环境及设置

实验在图形处理单元(GPU)模式下进行,实验所用计算机的详细配置为内存 16 GB,Nvidia GeForce GTX 1660Ti显卡,使用的操作系统为64位 Windows10。实验选用的脚本语言为Python,并安装Anaconda,OpenCV图像处理库、Tensorflow深度学习框架。

3.4结果分析

3.4.1模型改进前后评价指标比较

表2给出了改进后的轻量级卷积神经网络模型与AlexNet神经网络模型在各评价指标上的比较情况。可以看出,改进后模型的测试准确率、精确率、召回率和F1评分都有了明显提高,其中准确率从96.41%提高至98.57%,涨幅2.16%;精确率从97.09%提高至98.64%,涨幅1.55%;召回率从95.78%提高至98.50%,涨幅2.72%;F1评分从96.41%提高至98.57%,涨幅2.16%;损失值从0.117 1降至0.048 9,减少0.068 2。由表2可知,改进后模型的性能有所提升,这是因为拥有庞大参数量的全连接层会导致传统卷积神经网络产生过拟合现象,从而降低测试的准确率等指标。对全连接层的优化很好地解决了该问题,同时利用深度可分离卷积代替标准卷积运算在一定程度上也减少了卷积层中的参数量,提高了测试准确率。实验结果也验证了所提改进方法的可靠性与可行性。

图7和图8展现了AlexNet模型和改进后模型在数据集上的测试精度和测试损失。由图7和图8可以看出,在迭代停止时改进后的模型拥有更高的测试精度和更低的测试损失,收敛精度优于原模型。从收敛速度来看,改进后的模型在第6个epoch开始收敛,而原模型在第15个epoch才开始收敛,改进后模型的收敛速度优于原模型。深度可分离卷积和全局平均池化策略结合可以减少模型参数量,改善网络的易过拟合特性,同时加快模型收敛速度并提高模型的性能。

3.4.2全局池化类型对测试结果的影响

讨论在改进策略中不同类型的全局池化算法对改进的轻量级卷积神经网络的影响。在全局池化算法中,全局平均池和全局最大池的区别在于对每个输出通道的特征图的所有像素计算是一个平均值还是最大值。从表3可知,当前的网络结构上全局平均池化较全局最大池化在测试结果上取得了更高的测试精度和更低的测试损失,同时也表明对当前数据提取整体特征的效果更好。

3.4.3改进策略对模型的影响

表4给出了网络的改进策略对测试精度、参数量及模型大小的影响。由表4可知,采用深度可分离卷积代替传统卷积后,进一步降低了原卷积层部分的參数,大大改善了复杂网络的易过拟合特性,在减少参数量、降低模型所占内存的同时,提高了测试精度。由于全连接层占了原有网络的大部分参数,所以采用全局池化方法代替全连接层,减少了网络的主要参数,可以看出采用深度可分离卷积和全局平均池化方法改进后的模型参数量和所占内存远远小于AlexNet模型和只采用深度可分离卷积改进过的模型。

3.4.4模型改进前后训练时间及检测速率比较

表5给出了模型改进前后所需训练时间和检测速率的比较情况。由表5可知,从模型的训练时间方面看,原始模型的训练需要273.91 s,采用深度可分离卷积改进后的模型训练需要246.03 s,采用深度可分离卷积和全局平均池化改进后的模型训练仅需要184.42 s,较改进前有明显差别。从模型检测速率方面看,原始模型每秒可以检测625张图片,改进后的模型每秒可以检测833张图片,检测速度有明显提升。综合来看,改进后模型在训练速度和检测速度上都有显著提升,可以节省时间成本,且具有较强的实时性。

4结语

提出了一种轻量级神经网络模型算法来实现苹果的表面缺陷检测识别与分类。算法首先引入深度可分离卷积代替AlexNet网络中的标准卷积运算,减少了模型在卷积层的参数量;其次采用全局平均池化方法代替原有网络中的全连接层,大大减少了模型的参数量。改进后的模型参数量只有原有网络的1/150,避免了过拟合现象的产生,减少了内存占用。同时实验结果表明,改进后的网络模型所需的训练时间减少,并在测试准确率、检测速度等各项评价指标上均有提升,具有很好的准确性和实时性,能够满足对苹果表面缺陷进行检测的需求。

本文只将苹果常见的缺陷简单划分为5类进行检测,其实还可以再进行细分。后续将对改进后的模型进行更大数据集和更多种类的训练和实验,同时其他水果缺陷数据集的扩展研究也将被考虑在内,以提高模型解决这类问题的泛化能力。

参考文献/References:

[1]TABERNIK D,SELA S,SKOCAJ J,et al.Segmentation-based deep-learning approach for surface-defect detection[J].2020,31(3):759-776.

[2]林云森,范文强,姜佳良.基于深度学习的水果识别技术研究[J].光电技术应用,2019,34(6):45-48.

LIN Yunsen,FAN Wenqiang,JIANG Jialiang.Research on fruit recognition technology based on deep learning[J].Electro-Optic Technology Application,2019,34(6):45-48.

[3]何文斌,魏爱云,明五一,等.基于机器视觉的水果品质检测综述[J].计算机工程与应用,2020,56(11):10-16.

HE Wenbin,WEI Aiyun,MING Wuyi,et al.Survey of fruit quality detection based on machine vision[J].Computer Engineering and Applications,2020,56(11):10-16.

[4]廉家伟,何军红,牛云,等.基于多尺度压缩CNN的表面缺陷快速检测[J/OL].计算机集成制造系统,(2021-02-01)[2020-05-07].http://kns.cnki.net/kcms/detail/11.5946.TP.20210129.1551.002.html.

LIAN Jiawei,HE Junhong,NIU Yun,et al.Rapid detection of surface defects based on multi-scale compression CNN[J/OL].Computer Integrated Manufacturing Systems,(2021-02-01)[2021-05-07].http://kns.cnki.net/kcms/detail/11.5946.TP.20210129.1551.002.html.

[5]SUSTIKA R,SUBEKTI A,PARDEDE H F,et al.Evaluation of deep convolutional neural network architectures for strawberry quality inspection[J].International Journal of Engineering & Technology,2018,7(4.40):75-80.

[6]熊红林,樊重俊,赵珊,等.基于多尺度卷积神经网络的玻璃表面缺陷检测方法[J].计算机集成制造系统,2020,26(4):900-909.

XIONG Honglin,FAN Chongjun,ZHAO Shan,et al.Glass surface defect detection method based on multiscale convolution neural network[J].Computer Integrated Manufacturing Systems,2020,26(4):900-909.

[7]程春燕.基于机器视觉的脐橙品质自动检测分类技术研究[D].赣州:江西理工大学,2018.

CHENG Chunyan.Research on the Technology of Navel Orange Quality Automatic Detection and Classification Based on Machine Vision[D].Ganzhou:Jiangxi University of Science and Technology,2018.

[8]HOWARD A G,ZHU Menglong,CHEN Bo,et al.MobileNets:Efficient convolutional neural networks for mobile vision applications[EB/OL].[2017-04-17].http://arxiv.org/pdf/1704.04861.pdf.

[9]GU Jiuxiang,WANG Zhenhua,KUEN J,et al.Recent advances in convolutional neural networks[J].Pattern Recognition,2018,77:354-377.

[10]賈鹤鸣,郎春博,姜子超.基于轻量级卷积神经网络的植物叶片病害识别方法[J].计算机应用,2021,41(6):1812-1819.

JIA Heming,LANG Chunbo,JIANG Zichao.Plant leaf disease recognition method based on lightweight convolutional neural network[J].Journal of Computer Applications,2021,41(6):1812-1819.

[11]KRIZHEVSKY A,SUTSKEVER I,HINTON G E.ImageNet classification with deep convolutional neural networks[C]//Proceedings of the 25th International Conference on Neural Information Processing Systemss.RedHook:Curran Associates Inc,2012:1097-1105.

[12]邓若辰,彭程,边赟.基于深度可分离卷积的指静脉识别算法[J].计算机应用,2020,40(sup2):199-203.

DENG Ruochen,PENG Cheng,BIAN Yun.Finger Vein recognition algorithm based on depthwise convolution[J].Journal of Computer Applications,2020,40(sup2):199-203.

[13]LIN Min,CHEN Qiang,YAN Shuicheng.Network in network[EB/OL].[2014-03-04].http://arxiv.org/pdf/1312.4400.pdf.

[14]HAWKINS D M.The problem of overfitting[J].Journal of Chemical Information and Computer Sciences,2004,44(1):1-12.

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

ZHOU Feiyan,JIN Linpeng,DONG Jun.Review of convolutional neural network[J].Chinese Journal of Computers,2017,40(6):1229-1251.

[16]GLOROT X,BORDES A,BENGIO Y.Deep sparse rectifier neural networks[C]//Proceedings of the Fourteenth International Conference on Artificial Intelligence and Statistics.Lille:PMLR,2011:315-323.

[17]陈鑫华,钱雪忠,宋威.基于轻量级特征融合卷积网络的图像分类算法[J/OL].计算机工程.(2020-12-17)[2021-05-07].https://kns.cnki.net/kcms/detail/detail/31.1289.TP.20201-216.1712.012.html.

CHEN Xinhua,QIAN Xuezhong,SONG Wei.Image classification algorithm based on lightweight feature fusion convolutional network[J/OL].Computer Engineering.(2020-12-17)[2021-05-07].https://kns.cnki.net/kcms/detail/detail/31.1289.TP.20201216.1712.012.html.

[18]BA J L,KIROS J R,HINTON G E.Layer normalization[EB/OL].[2016-07-21].http://arxiv.org/pdf/1607.06450.pdf.

[19]IOFFE S,SZEGEDY C.Batchnormalization:Accelerating deep network training by reducing internal covariate shift[C]//Proceedings of the 32nd International Conference on International Conference on Machine Learning.Lille:PMLR,2015:448-456.

[20]刘亚姣,于海涛,刘宝顺,等.基于YOLOv3的H型钢表面缺陷检测系统[J].河北工业科技,2021,38(3):231-235.

LIU Yajiao,YU Haitao,LIU Baoshun,et al.H-beam surface defect detection system based on YOLOv3 algorithm[J].Hebei Journal of Industrial Science & Technology,2021,38(3):231-235.

猜你喜欢
卷积神经网络
基于深度神经网络的微表情识别
卷积神经网络中减少训练样本时间方法研究
卷积神经网络语言模型研究
基于卷积神经网络的车辆检索方法研究
基于卷积神经网络温室智能大棚监控系统的研究
基于深度卷积神经网络的物体识别算法
深度学习算法应用于岩石图像处理的可行性研究
基于深度卷积网络的人脸年龄分析算法与实现
深度学习技术下的中文微博情感的分析与研究
基于卷积神经网络的树叶识别的算法的研究