基于轻量级金字塔网络的种子分选方法研究
2024-04-01李卫杰桑肖婷李环宇魏平俊
李卫杰,桑肖婷,李环宇,魏平俊,李 骁
(1.中原工学院 电子信息学院,郑州 450007 2.中国石油大学(华东) 海洋与空间信息学院,山东 青岛 266580)
0 引言
种子在收获或存储的过程中,可能混入部分杂交种和杂质,直接影响后续加工或者育种,给农业及农产品加工业带来不同程度的经济损失。因此,快速有效的种子鉴别和分类可有利于提升种子质量,成为研究的热点。目前,种子分选可分为以下三类:人工方法、基于传统模式识别的方法和基于深度学习的方法。基于人工方法费时、费力且效率低,不能满足现代农业发展的需要。基于传统模式识别方法利用特征工程提取图像形状、颜色、尺寸和形状等特征,并利用支持向量机和决策树等多种有效的分类器识别种子[1-3]。Li等[4]提取12种颜色特征,并利用最大似然估计分类器区分不同类型的玉米病害,对正常和病害玉米的分类精度达到了74.76%;KokLu 等[5]提取16个形态学特征,并采用SVM分类器对干豆进行分类,整体分类正确率为93.13%。传统模式识别的方法采用手工描述子进行特征提取,这种方法特征提取有效性不高且自适应性不强,导致整体识别率较低。
深度学习由数据驱动可自适应学习到更多有效的特征,被广泛应用到目标检测[6]、图像识别[7]及图像分割[8]等领域,并取得了很好的效果。目前相关学者已将深度学习技术应用到种子分选中。范晓飞等人[9]基于改进YOLOV4的目标检测模型,同时结合四通道(RGB+NIR)多光谱图像,对玉米种子外观品质进行了识别与分类,准确率达到93.09%。侯俊铭等人[10]针对水稻种子间识别率低等问题,提出基于卷积神经网络与支持向量机技术相结合的方法对8类水稻种子进行分类识别,最后8种水稻种子识别正确率分别为96.2%、95.8%和96.1%,且识别单张图片推理时间为5.57 ms。杨红云等人[11]使用卷积神经网络对蓖麻种子损伤进行分类,模型分类准确率达到94.82%。然而,上述方法的精度依赖于其网络的深度,这导致了计算成本较大,且难以有效部署到计算资源有限的边缘设备上。
为了减少深度模型存储量,使其易于部署到工业现场中的边缘设备上,基于轻量化网络种子分选成为该领域研究的重点。董燕等人[12]提出联合剪枝深度模型压缩的种子分选方法,在玉米数据集上达到95.56%的准确度。李好等人[13]针对农作物识别方法中存在模型较为复杂,实时准确率较差的问题,提出改进ShuffleNetV2轻量级农作物病害识别方法,在PlantVillage病害数据集上进行实验识别率达到了99.24%。Xie等人[16]构建了一个轻量级的胡萝卜质量分类模型,对正常、破碎、裂纹、畸形、瘀伤和分叉6类胡萝卜的识别准确率为97.04%。Zhao等人[17]利用改进的MobileNetv2模型对6种不同的大豆种子进行了识别,分类准确率达到97.84%。然而,以上所提模型仍然占用较多的内存空间,且由于农产品产量的增加,执行速度仍需进一步的提升。因此,需要在保证较高识别率的前提下,进一步压缩模型大小,使其更易部署到边缘设备中。
针对种子分选方法仍存在识别精度不高、模型参数量大、推理速度慢且难于部署等问题,提出了一种基于轻量级空间金字塔网络的种子分选方法。首先,设计了多分支残差空间金字塔模块(RSPM,residual spatial pyramid module) ,为了更有效地提取多尺度特征,每个分支采用不同扩张率的空洞卷积增强感受野;采用深度可分离卷积技术减少模型参数量和计算复杂度;同时提出轻量级注意力机制模块(ECA,efficient channel attention),利用局部跨通道交互方式生成各通道的注意力值,增强网络对关键特征的学习能力,在保持较高识别精度的前提下,最终构建一种有效的轻量化种子分类模型。
1 网络模型
针对种子形态多样、特征差异不明显,识别精度不高且现有深度识别模型参数量大,导致不宜部署等问题,本文提出了一种基于注意力的轻量高效的端到端种子识别分选模型。该模型主要由轻量残差空间金字塔模块(RSPM)和基本块深度可分离卷积成,如图1所示。首先,采用设计的RSPM模块将不同尺度的空洞卷积核进行多尺度融合,在保持更少参数和更低的计算复杂度的情况下提取有效的特征。然后进一步与深度可分离卷积结合,实现分类识别精度和效率之间的折衷。最后引入轻量化的注意力机制ECA模块提取细粒度特征,从而提升不同种子特征的区分度。
图1 LPD-Net网络结构
1.1 空间金字塔网络LPD-Net
空间金字塔网络通过特征金字塔(FPN)[19]能够充分提取多尺度特征信息并将其融合,具有很强的特征表征能力。然而,由于不同尺度的特征都包含丰富的语义信息,导致金字塔网络占用较大内存,推理速度慢,从而影响在嵌入设备上的部署。本文基于空洞卷积多分支残差金字塔模块和深度可分离卷积对特征图进行重新采样,利用空洞卷积采样扩大感受野的结构特性,聚合多尺度上下文信息提出轻量级的空间金字塔网络LPD-Net。该网络采用高效的空间金字塔模块(RSPM)和深度可分离卷积,空间金字塔模块采用3个不同扩张率的空洞卷积层对特征图进行重新采样,获取丰富的多尺度特征的同时,减少模型参数量,提高推理效率;再引入轻量ECA注意力机制来增强对特征的学习和表达,提高模型的识别精度,因此具有模型规模小、识别准确率高及推理速度快的特点。具体模型结构如表1所示,其中第六列代表不同的激活函数,“HS”代表Hard_swish激活函数,“RE”代表ReLU激活函数,第八列代表是否使用ECA注意力机制。
表1 LPD-Net网络结构图
为了进一步提取高层的语义信息和底层的纹理信息,首先使用3×3卷积提取初始特征(如颜色、纹理和形状),然后设计轻量的残差空间金字塔模块(RSPM)实现多尺度特征图的高效融合,分别在3、4、5层分别采用1、1和2个RSPM模块进行特征的提取。然而,特征图分辨率的降低往往会导致信息丢失,影响最终的预测结果。因此,本文在3、4、5层使用注意力模块增强对空间和细节信息的提取能力。随着网络层数的增加,为了减轻模型的计算效率并减少参数,在2和6、7层使用了3×3和5×5深度可分离卷积和H-Swish激活函数增强全局信息的提取。最后,在第5次下采样之后进行全连接层输出,将2D特征映射转换为1D特征向量。
1.2 残差空洞金字塔模块(RSPM)
在种子分类过程中,不同种类的种子特征在形状、纹理和颜色上具有高度相似性。为了更有效地提取种子的细节信息,提升特征的区分度,浅层特征提取尤为重用,受轻量级网络MobileNet、SqueezeNet等设计思路的启发,本文提出了一种新型的轻量级多分支空洞卷积金字塔(RSPM)模块,将1×1的逐点卷积和多分支空洞卷积残差块进行特征融合,有效提取细节信息,具体如图2所示。
图2 残差空洞金字塔模
首先将高维特征映射通过一次1×1卷积投影到低维空间。然后为解决主干网络轻量化后带来输出特征表达不足问题,采用3个不同扩张率的空洞卷积分支对特征图进行重新采样,以获取更丰富的多尺度特征和语义信息。然而当扩张率扩大时,需要大量填充来维持特征图的大小,这将造成信息相关特性的损失并增加较大计算开销[20,32]。为了在不增加特征图分辨率的同时,聚合多尺度信息,采用扩张率分别为1、2和3的扩张卷积进行特征提取。最后为进一步减少参数量和内存占用,使用1×1卷积残差块来整合信息并保留原始细节,并通过跨通道融合所有特征。通常下采样操作造成的信息丢失是不可逆的,RSPM的优点就是在降采样过程中增加感受野而不损失使每个卷积输出包含更多的特征信息。
1.3 深度可分离卷积模块
图3 深度可分离卷积块
该卷积块不包含残差短连接,没有connect或elementwise-addition等额外操作,很大程度地降低了模型复杂度。如图3深度可分离卷积块,此外,卷积核的大小往往会影响网络的最终性能,大小通常固定(如3×3),不能适应种子图像姿态或形状的变化。本文在确保低延迟高精度的情况下,在2,6和7层中不只是使用一种大小的卷积核。同时,在网络的最后两层使用5×5卷积核,这增强了种子全局信息提取并提高了特征表示能力[22- 23]。另外,在深度可分离卷积基中使用了H-swish[23]激活函数,避免了大量的索引操作。
1.4 ECA轻量级注意力模块
大量研究表明,通道注意力机制能够有效地提升模型的性能,但是大多注意力机制在带来性能提升的同时也会带来很大的计算负担。因此,在本文中为了提升模型性能引入了ECA[18]轻量级注意力模块,此模块通过学习不同通道的特征来表示不同通道的重要性,为每个通道划分不同的注意力值。不同的通道通过学习不同的特征并赋予不同的注意力值,使网络能够合理的分配计算资源,最终模型的性能得到显著提升。
如图4所示。该模块将输入特征图进行全局平均池化,提取种子的形状特征,为了避免降维对通道注意力对特征学习的不利影响,模块并不降低特征图维度。接着通过执行一定数量为K的1 D卷积对每个通道及其邻近的K个通道进行信息交互,只通过邻近通道间进行跨通道学习,避免所有通道进行信息提取时而产生更多的冗余信息。然后采用Sigmoid函数评估各通道间的重要性,根据各通道间的相关性计算出各通道的注意力值,其中K的值由通道系数C的映射自适应决定并成正比关系,可以有效避免实验中通过交叉验证手动调优K。通过自适应学习通道注意力权重,强化重要的通道特征,弱化不重要的特征,从而提升模型准确度。
(1)
图4 ECA注意力模块结构
如公式(1)所示,C为通道数;odd表示向上取最近的奇数,取r=2,b=1,K表示局部跨通道信息交互的通道个数。
如图5所示,把高效的通道注意力ECA模块加入到轻量RSPM残差空洞卷积金字塔基本单元中,能够带来明显的性能提升。该模块只涉及到极少量参数,可以在带来性能增益的同时保持网络轻量化。
图5 RSPM-ECA模块结构
2 实验与结果分析
本文选择两个数据集来验证所提出的网络架构的有效性。所有实验都是在64位的Linux系统上进行的,具体采用Anaconda环境,使用Python3.7.3、Pytorch1.9.1。硬件采用Intel(R) Xeon(R) CPU E5-2680 v4@2.40 GHz和NVIDIA Quadro M5000 GPU,CUDA11.0加速计算。
2.1 数据集及参数设置
实验采用了随机梯度下降优化器训练网络,动量参数为0.9,权重衰减参数为4e-5。通过水平翻转将输入图像随机裁剪到224×224,并将图片统一进行归一化处理。初始学习率为0.01,每经过25个epoch后学习率下降,衰减率为0.1,总共进行了200个迭代训练,批量大小batchsize设置为32。
玉米数据集:采用的玉米数据集是来自土耳其Sakarya的一个公共的单倍体和二倍体玉米种子分类数据集[2]。它包含3 000张RGB图像,其中1 230张单倍体图像和1 770张二倍体图像。根据种子的尺寸,图像的分辨率在300×289像素和610×637像素之间变化,一些典型的图像如图6示。其中738个单倍体图片和1 062个二倍体图片作为训练集,246个单倍体和354个二倍体作为验证集,其余用于测试。
图6 玉米种子数据集
考虑在识别种子过程中,现实状态下存在很多的不确定性,需要对玉米种子数据集进行随机旋转、水平翻转和标准化。本文通过增强图像和样本图像对模型进行训练,提高模型的可靠性和精度,进一步提高了模型的适用性。
红芸豆数据集:玉米数据集是针对二分类种子分选问题,为了综合评价所提算法在多分类种子分选中的有效性,在工业生产线上构建红芸豆种子数据集进行实验。图像通过彩色线扫描相机进行采集,采集设备为一台“1/2.5”CMOS 相机,采集的图像分辨率为224×224像素。采用白色?环形光源进行补光,并利用白色背景板使红芸豆种子和背景更容易区分。根据企业进行质量评价的分级标准,将样本分为四类:饱满豆(1 661粒)、去皮豆(509粒)、干豆(1 173粒)、碎豆(488粒),典型图像如图7所示。
图7 红芸豆数据集
2.2 评价指标
本文选择精确度(precision)、准确率(accuracy)、召回率(recall)、F1分数(F-score)等评价指标验证模型性能,并利用混淆矩阵对CNN模型的性能进行可视化。混淆矩阵表示样本内的真实类别和CNN分类器预测的类别。如表2所示,这4个指标包括以下内容:真阳性(全称,TP)、真阴性(全称,TN)、假阳性(全称,FP)和假阴性(全称,FN)[25]。在研究中,其中TP(真阳性)表示种子中的正类样本被正确识别为正类;真阴性(TN)表示种子中负样本被正确识别为负类;假阳性(FP)表示种子中负样本被错误识别为正类;假阴性(FN)表示种子中正类样本被错误识别为负类。
表2 CNN模型性能指标
Precision定义为公式(2)所示,表示正确分类的正样本占总的正样本的比率。
(2)
Accuracy表示整体的准确率,识别分类正确的样本占总样本的比率。如公式(3)所示。
(3)
Recall的定义如公式(4)所示,表示被识别成正样本占总样本的比例。
(4)
F1-score表示召回率和精确度的调和平均值。其公式为式(5)。
(5)
2.3 实验结果分析
为了验证所提分类算法的性能,建立了一个混淆矩阵,并通过混淆矩阵(TP,TN,FP,FN)上的值进行了可视化的性能评估。CNN模型在玉米和红芸豆测试集上的混淆矩阵结果如图8(a)和8(b)所示。其中在玉米数据集上的单倍体和二倍体识别率分别为95.47%和96.73%。在红芸豆数据集上,饱和豆类别的识别率高达99.7%,去皮豆、干豆和破碎豆的识别率分别为96.04%、96.28%和96.91%。
图8 混淆矩阵
玉米数据集:表2给出了混淆矩阵所描述的性能指标,包括准确性、精确度、查全率和F1评分的平均值。本文提出方法与ResNet[26]、GoogleNet[27]、DenseNet[28]、SENet[29]、MobileNetv2[11]、PPLCNet[22]、ShuffleNetv2[15]、GhostNet[30]、MixNet[23]和EfficientNet共10个代表性的CNN模型在玉米数据集上进行了实验对比。实验结果由表3可知,所提出的方法对目标分类准确率较高,在相似的实验条件下可达到96%以上,其他各项指标准确率、查准率、查全率和F1score分别为96.00%、96.00%、96.00%和95.18%,其计算复杂度和模型规模都相对较低。另外,与经典的轻量化网络相比,在参数量较少的情况下,也得到了最好的分类准确度和推理速度。如在玉米数据集上,在参数量仅为0.26 M的条件下,本文算法获得了96.11%的分类准确度和4.51 ms的推理速度,这也说明本文方法在实际部署中具有高效性和良好的性能。
表3 主流算法模型与本文方法对比
为了进一步证明所提方法的有效性,也采用ROC曲线来测量模型性能。如图9所示对比了本文方法与其他网络模型的ROC曲线和AUC得分。从AUC得分来看,与其他CNN模型相比,该方法在玉米种子数据集上获得了98.91%的最佳结果,优于上述具有代表性的CNN模型和轻量级网络,说明LPD-Net具有很好的分类性能。
图9 CNN模型对玉米数据集的ROC曲线
红芸豆数据集:表4展示了在红芸豆数据集上所提方法与不同网络模型计算复杂度、准确性、召回率和F1得分对比。从表中可以得出,在具有最少的FLOPS和参数量情况下,所提出的方法仍具有最高的准确度、召回率、精确度和F1得分。与在玉米数据集上识别类似,此方法在红芸豆种子数据集上与图像识别领域常见的模型如ResNet[26]、DenseNet[28]、GoogleNet[27]、MobileNetv2[11]、ShuffleNetv2[12]、GhostNet[30]和PPLCNet[22]等进行了对比。实验结果如表4所示,为保证实验的公平性,所有模型训练时设置参数相同。从表4可以看出,所提方法与ResNet18等模型相比,准确度提升了0.66%,精确度提升了0.66%,召回率和F1得分分别提升了0.66%和2.39%,参数量比ResNet减少了10.92M。与其他轻量化网络相比,LPD-Net模型的识别准确率,精确度和F1得分都优于MobileNetv2等,参数量比MobileNetv2减少1.97M同时推理速度达到最快为4.51 ms。综上表明,LPD-Net模型在种子分选任务中效果最佳,并且在确保高识别精度和高效率的同时,大大减少了对硬件部署的负担。
表4 主流算法模型与本文方法对比
2.4 消融实验
为了兼顾精度和效率,本研究设计了RSPM模块和深度可分离卷积模块并引入了ECA注意力机制。本节在两个数据集上进行三组消融实验来验证各个模块在识别结果上的影响。实验在保证数据集、超参数设置等其他实验条件都相同的情况下,通过控制累加单一变量的方式完成。
实验结果详见表5,第一组实验以RSPM模块作为主干特征提取网络,模型在极其轻量的情况下在玉米和红芸豆数据集上准确率分别为95.02%和96.99%,处理每张图片的推理时间仅为4.25 ms,充分证明RSPM提取信息的能力较好而且更加高效。随着深度可分离卷积的加入,在几乎不增加参数量的情况下,在玉米数据集上和红芸豆数据集上识别准确率分别提高了0.30%和0.68%,表明加入深入可分离卷积可以有效的优化模型性能。此外也深入研究了注意力机制对模型性能的影响,引入注意力机制后在第二组的实验结果上准确度分别增加0.11%和0.28%,同时参数量和推理速度几乎没有增加,充分验证了注意力机制作用在种子分选任务上的有效性。从实验中可以看出本文工作在减少大量参数量的同时,也有效提升了模型的识别性能和推理速度。
表5 消融模块在玉米和红芸豆数据集上的测试结果
此外,为了能够更直观地验证ECA注意力机制对种子分选任务的有效性,使用Grad-CAM[31]对随机选择的输入图像区域进行可视化,可视化出模型所关注的重点区域信息,以此来定性分析模型对关键特征提取能力。此方法通过坐标注意层应用目标特征的梯度,创建一个粗略的局部特征图,它突出了图像中该特征重要的区域。如图10所示,分别选取5张玉米图像和红芸豆种子图像作为示例,第一行和第三行分别为原始图像,第二行和第四行为加入ECA模块的热力图。从图中可以清楚的看到该方法在玉米和红芸豆种子图像上的可视化结果,ECA注意力机制能够帮助模型图像中关键信息,提升模型对种子纹理和形状特征的表达能力。同时,从表5中也可以看出,注意力机制并没有引入太多的参数量和计算负担。
图10 原始图像和Grad-CAM可视化
3 结束语
本文提出了一种轻量级金字塔空洞卷积网络,即LPD-Net,用于种子分选任务中。该模型能够取得较高的识别准确率,同时也兼顾了推理速度。首先,设计了一种新型的轻量级金字塔空洞卷积模块(即RSPM),利用不同扩张率的空洞卷积扩展感受野,有效提取多尺度特征。接着进一步该模块与深度可分离卷积结合,提升模型的特征提取能力并实现参数量和计算复杂度的降低。为了提高种子质量分选和鉴定的准确性,通过引入一种轻量级的注意力模块(ECA),让模型更加关注关键信息从而提高整体分类性能。大量的实验也证明了该算法的有效性,在两个种子数据集上都能达到最先进的识别效果。此外,利用对输入的种子图像进行区域可视化,提高了工作的效率。在未来的工作中,我们将部署这个高准确度的轻量化模型到嵌入式设备中。