1、文章编号:1005-5630(2023)02-0026-10DOI:10.3969/j.issn.1005-5630.2023.002.004 基于注意力机制的水果损伤检测及分类基于注意力机制的水果损伤检测及分类张 杰,夏春蕾,张荣福,哈利扎提居来提,刘 怡(上海理工大学 光电信息与计算机工程学院,上海 200093)摘要:水果作为人们日常必备的食物,其越来越高的消费需求使得行业对自动损伤检测和自动分类的要求日益提高。针对这一需求,近年来水果损伤自动检测成为研究的热门话题。针对现有的深度学习技术,即卷积神经网络在水果的特征提取和分类方面的应用进行了探讨,提出了一种以 ResNet34 作为主干
2、网络,并在此基础上引入注意力机制 SE 和 CBAM 模块的方法来实现水果损伤的检测和基本分类。在 fruit fresh and rotten for classification 数据集上完成了该方法的验证。经过与 VGG16,GoogLeNet,MobileNetV2 等常见网络的比较分析,结果显示改进后的模型分类准确度达到 98.8%。通过加入新的苹果数据集,该模型相比原网络ResNet34,在性能方面进一步提升,有效提高了模型的泛化性。该模型提升了水果损伤检测和分类处理的精确性,在实际中,可为复杂的水果图片的多特征分类处理提供借鉴。关键词:深度学习;水果损伤检测;ResNet;注意力
3、机制中图分类号:TP 183 文献标志码:A Fruit damage detection and classification based on attentionmechanismZHANG Jie,XIA Chunlei,ZHANG Rongfu,HALIZHATI Julaiti,LIU Yi(School of Optical-Electrical and Computer Engineering,University of Shanghai forScience and Technology,Shanghai 200093,China)Abstract:For the daily
4、essential food of people,automatic damage detection and automaticclassification are essential for the increasing consumption of fruit.In view of this demand,automatic detection of fruit damage has become a hot topic in recent years.In this paper,theapplication of convolutional neural network,an exis
5、ting deep learning technology,in fruit featureextraction and classification was discussed.A method based on ResNet34 as the backbone networkand the introduction of attention mechanism SE and CBAM module was proposed to realize thedetection and basic classification of fruit damage.The method was veri
6、fied on fruit fresh and rottenfor classification data set,and compared with VGG16,GoogLeNet,MobileNetV2 and othercommon networks.The accuracy of fruit damage detection and classification is improved.Theclassification accuracy reaches 98.8%.By adding the new apple data set,the performance of the收稿日期:
7、2022-09-17第一作者:张杰(1997),男,硕士研究生,研究方向为图像处理。E-mail:通信作者:夏春蕾(1974),女,讲师,研究方向为图像处理和信号编码。E-mail:第 45 卷 第 2 期光 学 仪 器Vol.45,No.22023 年 4 月OPTICAL INSTRUMENTSApril,2023model is further improved,compared with the original network ResNet34,and the generalization ofthe model is effectively improved,which provi
8、des a reference for the complex multi-featureclassification of actual fruit images.Keywords:deep learning;fruit damage detection;ResNet;attention mechanism引言在众多的食物中,水果是人类日常健康饮食的重要组成部分,因为水果富含的维生素等营养元素能帮助预防疾病。然而,很多水果的保质期较短。由于储存不当或者运输过程中的碰撞等原因造成的损伤,使得水果品质下降甚至变得腐烂而不宜食用。因此,食品行业在出售水果之前需要对其进行严格的检测。传统的人工检测方
9、案不仅成本高、效率低,还存在一致性和准确性较差等问题。随着生活水平的提高,水果的消费量逐年增长,而不同市场消费者对水果品质、种类等方面的需求呈现出多样化特点,水果的自动化品质检测和分类也就成为必须要解决的问题。近年来,随着深度学习和计算机视觉技术的不断发展,机器学习及卷积神经网络在分类和检测领域的应用研究也越来越多。探索基于深度学习技术的水果损伤检测和分类方法成为了研究热点1。近几年,研究人员在腐坏水果的检测方面进行了很多研究。Karakaya 等2 研究了多种特征提取技术在水果新鲜度分类上的性能表现。他们在对水果进行特征提取后,采用支持向量机(support vector machine,S
10、VM)分类技术进行实验。在对 1 个共有 1 200 张图片,包含橘子、香蕉和苹果等 3 类水果在内的数据集进行测试后,证明卷积神经网络搭配 SVM 分类器呈现出最好的性能,分类准确率达到 97.61%。Wajid 等3提出了 1 种快速判别柑橘状态的方法。他们通过对比分析包括贝叶斯、人工神经网络和决策树的适用性和性能,发现决策树分类技术对橙色条件的分类效率高于其他方法。该方法的准确度、精确度和灵敏度分别为 93.13%,93.45%和 93.24%。Singh 等4运用小波变换、定向梯度直方图、灰度共生矩阵等方法提取苹果的纹理特征,然后用 SVM、k-NN、逻辑回归、线性判别等多种分类器对新
11、鲜苹果和腐烂苹果进行对比实验,结果发现,SVM 分类器的性能为 98.8%,优于其他分类器。Chakraborty 等5使用卷积神经网络提取水果图像的特征,并使用 Max pooling、Averagepooling 和 MobileNetV2架构对图像进行分类。在 Kaggle 数 据 集 上 的 性 能 测 试 结 果 显 示:MobileNetV2 在训练集和验证集中的准确率分别达到了 99.46%和 99.61%;Max pooling 的训练集准确率达到 94.49%,验证集准确率达到94.97%;Average pooling 的 训 练 集 准 确 率 为93.06%,验证集准确
12、率为 93.72%。结果表明,该研究所提出的卷积神经网络模型能够区分新鲜水果和腐烂水果。上述方法主要是一些主流的分类网络在水果数据集上的直接应用,研究者对网络本身并无太多的改进6。结合以上论文的研究成果,通过与经典的分类网络对比,本文选择 ResNet 模型作为分类模型,并在此基础上尝试加入两个不同的注意力机制进行改进,从而将水果分类所依据的特征信息予以进一步优化,获取有利于水果分类的重要特征;通过可视化算法 Grad-CAM7将模型提取的效果进行展示,最终获得更高的分类准确率;利用自制的新数据集达到图像增强效果,提升了网络的泛化性能,对复杂的水果图像也有不错的识别效果。1模型构架1.1Res
13、Net 网络模型ResNet8残 差 网 络 在 2015 年 同 时 斩 获ImageNet 竞赛中分类任务第一名和目标检测第一名9。这个网络最初由微软工作室提出,其亮点是:解决了网络层数不断加深而导致的梯度爆炸或者梯度消失问题;拥有超深的网络结构,不影响其性能;提出了 Residul 模块,解决了网络第 2 期张 杰,等:基于注意力机制的水果损伤检测及分类 27 退化问题;使用了 Batch Normalization加速训练等。该网络被广泛使用,在图像分割和目标检测方向也取得了很好的效果。ResNet34的结构如图 1 所示。image7*7 conv,64,/23*3 conv,128
14、,/23*3 conv,256,/23*3 conv,512,/23*3 conv,643*3 conv,643*3 conv,643*3 conv,643*3 conv,643*3 conv,64pool,/23*3 conv,1283*3 conv,1283*3 conv,1283*3 conv,1283*3 conv,1283*3 conv,1283*3 conv,1283*3 conv,2563*3 conv,2563*3 conv,2563*3 conv,2563*3 conv,2563*3 conv,2563*3 conv,2563*3 conv,2563*3 conv,2563*
15、3 conv,2563*3 conv,2563*3 conv,5123*3 conv,5123*3 conv,5123*3 conv,5123*3 conv,512avgpoolFC 图1ResNet34 结构图Fig.1ResNet34networkstructure xH(x)F(x)=H(x)x为了克服神经网络层次越深越难训练而导致的网络退化问题,ResNet 模型引入了残差模块,很好地解决了这一问题10。残差模块如图 2 所示,对于 1 个堆叠层结构,当输入为 时,其学习到的特征记为 ,残差 。残差学习相比原始特征直接学习更加容易。当残差为 0 时,堆积层仅仅做了恒等映射,网络性能不会
16、下降。实际上残差不会为 0,这也使得堆积层在输入特征基础上学习到新的特征,从而拥有更好的性能。1.2SE 模块SENet11是 Squeeze-and-Excitation Networks的简称,该网络获得了 ILSVRC2017 分类比赛的冠军。SE 模块由 Squeeze 和 Excitation 两部分组成,如图 3 所示。Squeeze 表示顺着空间维度进行特征压缩,将每个二维的特征通道变成 1 个实数。这个实数某种程度上具有全局的感受野。输出的维度和输入的特征通道数相匹配12。HWSqueeze 通过全局池化将每个通道的二维特征()压缩为一个实数,其公式为zc=Fsq(uc)=1HWHi=1Wj=1uc(i,j)(1)uc RHWCHW给定 1 个输入,,H,W,C 分别为提取特征后的高、宽和通道。通过全局池化,将每个通道对应的空间信息()压缩到对应通道中变为 1 个数值。此时 1 个像素表示 1 个通 xx恒等映射F(x)F(x)+x函数 Relu函数 Relu权重层权重层 图2残差模块Fig.2Residualmodule XUHHWWCCCWHSqueezeScale