基于改进CBAM注意力机制的MobileNetV2玉米种子品种识别研究
2024-05-08牛思琪许晓琳穆春华许金普马德新
牛思琪, 马 睿, 许晓琳, 梁 敖, 穆春华, 许金普, 马德新,2
(青岛农业大学动漫与传媒学院1,青岛 266109)
(青岛农业大学智慧农业研究院2,青岛 266109)
(山东省农业科学院玉米研究所3,济南 250100)
玉米(ZeamaysL.)是世界上分布最广的作物之一,具有较高的营养价值和经济价值,是我国的主要粮食作物,也是我国畜牧业主要的饲料来源。不同的地域环境对于适宜种植的玉米品种不同,传统的种子品种检验的方法如色谱分析技术、卡尺测量等,均存在着耗时长等问题,而且由于其外形方面存在的差异较小,所以凭借肉眼很难对其进行快速准确的识别。
计算机视觉技术能够在不破坏玉米种子的前提下对种子品种进行检测识别,具有无损、快速、实时等特点。周鸿达等[1]为了快速检测玉米等级,选取4种等级的玉米种子,利用BP神经网络对其分类,总体识别率在90%以上。程洪等[2]选取了3个玉米品种作为实验对象,利用支持向量机(SVM)算法对其训练,准确率达到了92.3%。
现阶段,在机器学习中应用最普遍的深度学习技术是卷积神经网络(Convolutional Neural Networks,CNN)[3]。被广泛应用于图像分类、目标检测等方面[4]。自2012年以来,CNN模型开始出现,如AlexNet[5]、VGGNet[6]、GoogLeNet[7]、ResNet[8]、DenseNet[9]、MobileNet[10]、ShuffleNet[11]等。Huang[12]将卷积神经网络(CNN)和迁移学习引入玉米种子的质量分类,同时与机器学习算法进行了比较。结果表明,深度学习算法明显优于机器学习算法,GoogLeNet准确率为95%,SURF+SVM的准确率为79.2%。Xu等[13]提出了基于ResNet改进的新模型(P-ResNet),为玉米种子分类提供了一种方法,选取5个品种的玉米种子作为实验对象,准确率达到99.70%。Javanmardi等[14]提出使用深度卷积神经网络(CNN)提取特征,再利用人工神经网络(ANN)对提取的特征进行分类。使用CNN-ANN对玉米种子进行分类识别准确率达到98.1%。
近年来,轻量级网络发展迅速,不仅具有计算量少、准确率高的特点,而且广泛适用于移动设备。Shahi等[15]提出了一种基于MobileNetV2的新型注意力卷积模块来对水果进行分类,在3个数据集上分别达到了95.75%、96.74%和96.23%的稳定分类精度。叶名炀等[16]针对传统玉米病害的问题,提出一种基于迁移学习和MobileNetV2模型的识别方法,来识别玉米病害中常见的3类,分别是灰斑病、锈病、大斑病,同时对比传统神经网络LeNet,实验结果表明,在Kaggle数据集上MobileNetV2的平均识别率达到96.94%,较LeNet高出1.37%。易才键等[17]为实现智能垃圾分类,提出一种轻量型的生活垃圾图像分类模型DG-MobileNetV2。该模型以轻量级网络MobileNetV2为基础,通过引入双尺度深度卷积模块、通道混洗技术、调整宽度因子等手段来压缩模型。实验表明,该分类模型在某公司发布的生活垃圾分类数据集上的分类准确率达到90.58%,具有良好的分类效果。
随着深度学习的发展,许多研究者通过引入注意力机制来提高网络的性能。Zhang等[18]为了准确识别鱼群的摄食行为,使用MobileNetV2提取鱼群图像特征,并建立了基于SENet(挤压和激励网络)的特征加权网络,所提出的方法在真实鱼群图像上进行了测试,获得了97.76%的准确率。Selvraju等[19]提出了一种基于MobileNetV2药品图像识别分类的模型,在具有残差边的瓶颈结构中添加CBAM,提高训练效率以及减少模型复杂度,实验结果表明:该模型对实验的95种药品的图像识别分类的准确率,达到89%,较改进前提高了5%。
本研究在轻量化模型MobileNetV2的基础上,构建一个新型注意力模块E_CBAM,提出了E_CBAM_MobileNetV2模型,解决了CBAM串行连接2种模块相互影响的问题。采集了9种玉米种子图像共2 792张建立了玉米种子识别的数据集。在本研究构建的数据集的基础上,进行了大量实验。实验结果表明,所提出的E_CBAM_MobileNetV2模型能够有效地对玉米种子进行分类,且明显优于MobileNetV2模型。本研究为玉米种子的高效、便捷、快速识别提供了参考。
1 数据集构建
1.1 数据来源及获取
研究共选取9种玉米种子2 792粒,且玉米种子籽粒饱满未破损,分别是AOYU116、JINGNIAN1、ZHENGDAN958、KENUO58、TIEYAN、XJH、YUNYU、16DX531、BT506。详细品种名称、数量及材料产地见表1。
表1 实验材料
在实验室自然光照的条件下,将玉米种子放置在以黑色植绒布为背景搭建的工作台上,每次放置16粒种子,采用80D型数码相机进行拍摄。
1.2 图像预处理
由于研究要对单粒玉米种子进行识别,因此需要对多粒图像进行分割。如图1所示,通过Python和OpenCV对多粒玉米种子图像进行区域分割。首先对图像预处理,通过二值化提取图像信息,采用双边滤波加填充进行降噪,然后通过腐蚀膨胀去除边缘颗粒。最后,通过轮廓检测算法提取单粒玉米种子的形态轮廓,再通过画框将其分割出来。
图1 玉米籽粒部分分割过程
1.3 数据集的划分与增强
为了保证数据的独立性,避免某张图片扩充之后同时在训练集和测试集出现,从而生成虚假的准确度,将每类玉米种子图像按照7∶2∶1随机划分为训练集、验证集、测试集,即训练集图像共1 959张,验证集图像共558张,测试集图像共275张。
为了进一步提高模型的鲁棒性和泛化能力,通过人为扩大训练图像数量,对已采集的数据集进行数据增强。主要包括采用旋转、水平翻转、位置平移、错切变换、放缩等操作。
2 实验方法
2.1 改进注意力机制(E_CBAM)
注意力机制是模拟人类视觉的一种机制,即关注重要特征,抑制不必要的特征。CBAM(Convolutional Block Attention Module)是一种轻量化的卷积注意力模块。将CBAM引入卷积神经网络中能够较大幅度的提高模型的性能,而且引入它带来的参数量和运算量非常的小,可以嵌入到大部分的卷积神经网络。
特征图的不同维度所携带的信息不同,通道维度侧重于特征抽象的表达,而空间维度则更侧重于物体的位置信息,CBAM融合了通道注意力模块(Channel Attention Module,CAM)和空间注意力模块(Spatial Attention Module,SAM)。这2个子模块以串行的方式组合在一起,序列化的在通道维度和空间维度上产生注意力特征图信息。利用通道间的特征关系生成通道注意图,进而连接到空间注意力得到最具信息量的特征图。整体结构如图2所示。
图2 CBAM结构图
假设中间特征映射F作为输入,先得到通道注意映射Mc,再经过空间注意力模块得到空间注意映射Ms,最终进行加权得到特征F′。其公式为:
(1)
式中:Mc(F)为F经过通道注意力的输出权值;Ms(F′)为F′经过空间注意力的输出权值;⊗为特征图加权乘法运算符号。
CBAM虽然将相对重要的通道注意力模块放在前面,但是仍在一定程度上影响排在后面的空间注意力模块所学习到的特征。因此,为使2种注意力模块都直接输入原始的特征,研究对CBAM进行改进,由“串行”改为“并行”连接,从而得到无需关注空间注意力和通道注意力顺序的注意力机制,即E_CBAM。整体结构如图3所示。
图3 E-CBAM结构图
E_CBAM先由输入特征图F分别经过通道注意力和空间注意力得到相应权值,最后将权值直接与原始输入特征图F加权得到输出特征图F′。其公式为:
F′=Mc(F)⊗Ms(F)⊗F
(2)
式中:Ms(F)为F经过通道注意力的输出权值。
2.2 E_CBAM_MobileNetV2模型结构
MobileNetV2中添加了InvertedResiduals和LinearBottlenecks,具有较少的网络参数数量和更低的运算成本,延续了在MobileNetV1的深度可分离卷积操作,其所做的创新是用大量倒残差块和线性瓶颈层对图像的特征进行提取,实验证明,使用线性层是至关重要的,可以有效防止非线性破坏特征信息。
为了提高MobileNetV2模型在玉米种子品种识别方面的性能,将MobileNetV2与本研究提出的E_CBAM模块结合,构建了E_CBAM_MobileNetV2模型,具体结构网络如图4所示。
图4 E_CBAM_MobileNetV2模型结构图
2.3 实验环境
实验的训练与测试环境相同,均为Windows11操作系统,使用基于Tensorflow为后端运行的Keras深度学习框架,来实现整个模型训练与测试过程,实验过程中的超参数如表2所示。
表2 实验详细超参数
2.4 模型性能评价指标
对于玉米种子分类问题,评估指标决定了模型的好坏。选用混淆矩阵作为性能的评估指标,通常有4个指标包括真阳性(TP)、真阴性(TN)、假阳性(FP)和假阴性(FN)。通过指标可以展现出样本中的真实类别和预测的类别。基于混淆矩阵,可以得到更高级的分类指标:准确率(Accuracy),精确率(Precision),召回率(Recall)、F1-score。如表3所示。
表3 模型性能评价指标
3 结果与讨论
3.1 不同网络模型对比
选取MobileNetV2、SqueezeNet、ResNet50、DenseNet、ShuffleNetV2共5种卷积神经网络模型进行训练,其准确率如表4所示。从实验结果来看,MobileNetV2的实验效果最好,准确率为92.73%,是5种网络中最高的,较SqueezeNet、ResNet50、DenseNet121、ShuffleNetV2分别高出2.91%、17.09%、1.46%、10.91%。
表4 不同网络模型对比实验
3.2 MobileNetV2加入不同注意力模块对比
为了提高模型的准确率,选择合适的注意力模块,向MobileNetV2网络模型中加入不同注意力进行比较,分别是Channel attention、Spatial attention、CBAM、R_CBAM、E_CBAM,实验结果如表5所示。将添加不同注意力模块后的MobileNetV2网络模型与未加注意力的MobileNetV2网络模型进行对比,可以看出,无论添加空间注意力或通道注意力,还是将其串行或并行,其准确率均高于未加注意力的MobileNetV2网络模型。
表5 MobileNetV2加入不同注意力模块对比实验
从规模和参数量上看,Spatial attention最小,这是因为Spatial attention只保存1个7×7的卷积核,因此准确率也是提升最少的。而含有Channel attention模块的规模和参数量较大,但准确率较高,这是由于Channel attention存在全连接层能够处理平均池化和最大池化的结果。
从准确率来看,CBAM注意力的效果并不是很好,因为是“串行”连接,后面的空间注意力学习到的是的通道注意力处理过的特征图。同为“串行”连接的将空间注意力放在前面,结果表明R_CBAM的准确率略高一些。但表现最好的还是研究提出的“并行”混合注意力模块E_CBAM,在模型大小和参数量相同的情况下,准确率比CBAM、R_CBAM分别高出了2.18%、0.73%。
3.3 E_CBAM_MobileNetV2使用不同压缩比对比
由于注意力模块E_CBAM的加入,会增加模型的复杂度、消耗更多的计算时间,且通过实验可知,注意力模块E_CBAM中的大部分参数来自Channelattention。因此,为保证MobileNetV2的轻量化优势,对E_CBAM的Channel attention的压缩比(2、4、8、16、32)进行了调参实验,结果如图5所示,从准确率来看当压缩比为4时训练集准确率明显更高,而且收敛也更快。
图5 E_CBAM_MobileNetV2使用不同压缩比准确率对比
从表6中也可以看到,当压缩比为4时,准确率为98.18%,尽管模型的规模相比之前压缩比为2时有所减小,但模型的准确率却反而有所提升。而当压缩比8、16、32时,虽然规模减小,但准确率也明显下降远不如压缩比为4时。因此,使用4作为E_CBAM中Channel attention全连接层的压缩比是较好的选择。
表6 E_CBAM_MobileNetV2使用不同压缩比对比结果
3.4 E_CBAM_MobileNetV2对品种鉴定分析结果
如图6所示,使用混淆矩阵对研究提出的E_CBAM_MobileNetV2模型进行可视化性能评估。
图6 6 E_CBAM_MobileNetV2混淆矩阵结果
从混淆矩阵中可以看出,在XHJ品种识别上产生4个错误识别,均被识别成TIEYAN;ZHENGDAN958产生1个错误识别,被识别成XHJ。这主要是因为它们在特征上存在一些重叠。例如,XHJ和TIEYAN虽然在颜色和光泽上有略微不同,但其籽粒的纹理以及顶部形状是极其相近的。XHJ和ZHENGDAN958在尖端部分的凹陷有略微的不同,但外形极其相似,籽粒饱满均为金黄色,且表面光滑有光泽感。
此外,混淆矩阵中描述的性能指标如表7所示,包括准确率、精确率、召回率、F1-score。
表7 E_CBAM_MobileNetV2性能评估结果
研究提出的E_CBAM_MobileNetV2模型在测试集上对单品种的识别效果非常突出,所有单品种的准确率均高于98.55%。除TIEYAN、XJH和ZHENGDAN958这3类玉米种子外,其余品种的准确率、准确率、召回率、F1-score均达到100%。混淆矩阵和分类结果均证明了E_CBAM_MobileNetV2模型具有良好的性能。
3.5 玉米种子品种识别可视化(Grad-CAM)
近年来,深度学习已经广泛运用在计算机视觉领域。然而,这种“黑盒”模型缺乏可解释性。因此,通过可解释性的工作来可视化卷积神经网络内部具有重要意义。
对此实验引入梯度加权类激活映射(Gradient-weighted Class Activation Mapping,Grad-CAM)可视化分析方法,采用梯度的全局平均来计算权重,并将各通道特征图以权重进行叠加,生成激活热力图。通过激活热力图来体现分类最依赖的特征位置,激活热力图的像素颜色强度对应特征的相关程度。当像素颜色更趋近于暖色时,它特征的激活强度越大,表明对分类结果的影响程度越高,反之,当像素颜色更趋近于冷色时,其特征的激活强度越小,表明对分类结果的影响程度越低。因此,通过激活热力图可直观反映CNN判断玉米种类的依据。图7为MobileNetV2、CBAM_MobileNetV2、E_CBAM_MobileNetV2的热力图对比。
图7 MobileNetV2及嵌入CBAM、E_CBAM注意力模块后的激活热力图对比
如图7所示,在识别玉米种子品种过程中,MobileNetV2、CBAM_MobileNetV2、E_CBAM_MobileNetV2关注的区域都有所不同,MobileNetV2较为关注中上部区域、对尖端部分和边缘部分关注较少,加入CBAM的MobileNetV2过于关注了尖端部分,对于种子中间部分的关注则有所减少,而引入E_CBAM的MobileNetV2则关注了种子的大部分的区域,尤其是关注了较难区分的纹理部分,这也是区分外形相似种子的关键。通过激活热力图充分肯定了E_CBAM_MobileNetV2在识别玉米种子品种方面的能力。
4 结论
为实现玉米种子品种的准确、高效、快速的鉴别,将注意力机制CBAM引入轻量化模型MobileNetV2,对CBAM的串行方式进行改进,构建新型注意力模块E_CBAM,并通过对比,选出了效果最佳的压缩比为4,提出了E_CBAM_MobileNetV2模型。选取了9类玉米种子作为数据集,进行了大量实验。实验结果表明,E_CBAM_MobileNetV2模型能够快速、准确识别玉米种子类别,较MobileNetV2模型相比准确率提高了5.45%,且各指标均优于SqueezeNet、ResNet50、DenseNet、ShuffleNetV2等模型。