-
开放科学(资源服务)标识码(OSID):
-
蚕桑文化在我国具有悠久的历史,我国的丝绸产量规模更是稳居世界第一。蚕茧是蚕桑生产最主要的产物,也是蚕丝工艺的原料。生产过程中,需要对鲜茧进行混茧、剥茧、选茧、煮茧、缫丝、复摇、整理等一系列分选工序[1-3],只有品质合格的蚕丝才能进一步变成丝绸。由于养殖过程中家蚕结茧的质量会受到环境、温度、病害等因素的影响,因此缫丝前需要对蚕茧进行分选。常见的蚕茧种类包括上车茧、黄斑茧、柴印茧和畸形茧等[4],其中黄斑茧、柴印茧和畸形茧为下茧,不能进行缫制或很难被缫制成蚕丝。选茧时主要依赖工人手工处理,工作量大,容易发生误检和漏检,且效率较低,利用计算机视觉技术和深度学习算法能够代替人工实现自动化蚕茧分选工作。快速轻量化的蚕茧检测算法对蚕茧自动分选以及实现蚕桑生产自动化起着决定性作用,因此,在蚕桑丝绸领域开展自动分类识别研究具有重要意义和广阔的发展前景[5]。
国内外许多研究者将深度学习卷积神经网络应用在农产品分类领域的研究中。王树文等[6]采用BP算法对番茄缺陷进行分类检测,检测准确率不低于90.0%。李善军等[7]改进SSD模型对柑橘进行实时分类检测,平均精度均值(mAP)达到87.9%。随着计算机水平的发展,YOLO作为轻量化的单阶段目标检测模型,在保证精度的同时,具有检测速度快、鲁棒性高等特点,已广泛应用于农产品成熟度检测、病虫害检测等领域[8-9]。赵辉等[10]替换YOLOv3主干网络中的激活函数,使水稻叶部病害的mAP达到92.9%。吕金锐等[11]改进YOLOv4模型,解决了现有番茄成熟度检测精度低等问题,mAP达到92.5%。王磊磊等[12]基于YOLOv5提出OMM-YOLO平菇目标检测与分类模型,对平菇检测准确率达到89.6%。陈锋军等[13]基于YOLOv7引入十字交叉注意力机制,检测油茶果实成熟度的mAP达到94.6%。马超伟等[14]提出基于改进YOLOv8的小麦病害检测方法,其mAP达到91.4%。目前研究者在蚕桑检测领域也取得了一定的进展。石洪康等[15-18]提出基于深度学习网络的家蚕识别方法,奠定了家蚕智能化养殖的基础。代芬等[19]利用近红外光谱技术对蚕茧样本进行雌雄鉴别,正确率达到90.0%。刘莫尘等[20-21]采用图像空间的Brown畸变模型和Mean Shift聚类算法进行预分割来检测蚕茧,对方格蔟中的蚕茧检测准确率达到96.9%;采用基于模糊C均值聚类及HSV模型的算法对方格蔟内黄斑茧的检测准确率达到81.2%。陈国栋[22]在Faster R-CNN算法中引入注意力机制以及引入空洞卷积替换pooling操作,对蚕茧识别的mAP为78.2%。李时杰等[23]将YOLOv3算法进行轻量化改进,采用C均值聚类算法,对蚕茧识别的mAP达到92.5%,检测速度为每秒20帧,有效地识别出蚕茧类别。
然而上述蚕茧检测模型的研究与应用比较依赖蚕茧单粒的分布,对于蚕茧相距较近、桑叶残渣遮挡、蚕丝包裹、蚕茧相互堆叠分布情况下的蚕茧种类检测存在一定局限性。本文聚焦于实现上述情况下蚕茧种类的快速和精准检测,根据不同蚕茧种类在视觉上的显著区别,以常见的上车茧、黄斑茧、柴印茧和畸形茧为识别对象,提出一种基于改进YOLOv8的蚕茧种类检测模型,通过在主干网络的C2f模块中添加CA注意力机制,增强网络的学习能力和表达能力,在颈部网络中将普通卷积替换为GSConv轻量化卷积,实现网络的轻量化,不仅提高了模型的检测精度,且检测速度也得到极大提升,以期为智能化蚕茧分选装备的研发提供参考。
全文HTML
-
数据集拍摄地点位于四川省农业科学院蚕业研究所(四川省南充市),拍摄对象为我国西南地区的主推家蚕品种之一:芳·秀×白·春[24]的蚕茧,包括上车茧、黄斑茧、柴印茧和畸形茧4个不同种类,采集时间为2023年9月21日,采集过程在室内的自然光照条件下进行,采用拍摄架拍摄6 h。采集设备使用1 200万像素高清无畸变大广角定焦USB相机,该相机的分辨率为1 920×1 080,焦段为3.2 mm,尺寸为95 mm×59 mm×45 mm,重量为167 g,水平视角为85°,拍摄场景如图 1所示。采集图像时,将蚕茧放置于传送带上,当蚕茧位于拍摄装置正下方时开始拍摄,蚕茧之间相距较近,有桑叶残渣遮挡、蚕丝包裹、蚕茧相互堆叠分布的情况。在拍摄过程中,相机高度为170 cm,距离拍摄目标约60 cm,在相机的允许视距范围之内。为避免图像尺寸缩放后蚕茧形状发生变化,需设置相同的焦距进行采集,外接便携式计算机用于图像存储。试验期间共拍摄蚕茧图像1 630张。
-
完成图像采集后,将蚕茧图像放置在images文件夹内,构建蚕茧种类图像数据集。图像尺寸为864×648像素。拍摄的全部图像按照8∶1∶1的比例将数据集划分成训练集、验证集和测试集,分别包含1 304、163和163张图片,其中训练集和验证集用于模型训练,测试集用于测试训练完成后的模型效果识别。为了提高所训练模型的泛化能力,同时尽量避免网络发生过拟合现象,在划分的3个数据集严格独立的前提下,对所获得的图像进行数据增强,将原始图像采用三分之一的概率随机角度旋转、三分之一的概率水平翻转、三分之一的概率垂直翻转,最终训练集增强后为1 456张图片,验证集与测试集增强后均为182张图片,数据集总体扩充至1 820张。增强前后的部分图像如图 2所示。
使用LabelImg软件标注蚕茧。以目标的最小外接矩形框进行蚕茧的标注,上车茧标注标签为“Upper”,黄斑茧标注标签为“Yellowspotted”,柴印茧标注标签为“Chaiyin”,畸形茧标注标签为“Deformed”,标注图像如图 3所示。
标注结果生成XML文件,通过脚本代码将XML文件转化成YOLOv8模型能够识别的TXT文件。TXT文件格式存储的信息包括:目标类别、长宽尺寸以及标注框坐标位置信息。
-
经过多年的发展,YOLO系列算法[25-28]目前已经更新到YOLOv12版本,其中YOLOv8属于使用较多的经典一阶段目标检测网络[29],包括5个模型结构,分别是YOLOv8n、YOLOv8s、YOLOv8m、YOLOv8l与YOLOv8x,这5个模型的深度会依次增大。其中,YOLOv8n结构最简洁且检测时间最少,而YOLOv8s、YOLOv8m、YOLOv8l与YOLOv8x的深度过大会增加检测时间。检测时间的增加并不利于后续蚕茧实时分类,结合农业生产实践,本文选用YOLOv8n结构,既保证了检测精度,又最大程度地保证了识别速度,降低了计算机内存占用量,因此可以作为轻量化检测的基准模型。YOLOv8网络主要由输入端、主干网络、颈部网络、检测端和输出端组成。主干网络用于特征提取,提取的信息传入颈部网络,其中的C2f模块能够捕获场景中不同层次的特征信息,通过残差结构增强特征表达能力,提升模型的检测性能和感受野;颈部网络将不同尺度的特征图进行融合,同时将不同层次聚合的特征传入检测端;检测端将之前提取的特征进行预测,输出特征图。
-
本文以YOLOv8模型为基础加以改进,以适应复杂环境背景下蚕茧种类的检测,在主干网络的C2f模块中引入CA注意力模块[30],增强网络特征提取能力,使模型更有效地定位目标,能够在关注大范围位置信息的同时,避免增加过多的计算成本。在颈部网络中将标准卷积替换成GSConv模块[31],提升特征融合能力,从而提高识别效率和识别准确率,确保在实际蚕茧分选的复杂背景下,不会引入额外的参数,也不会增加训练的时间,进一步提高收敛速度从而实现优化网络的作用。改进后的网络结构如图 4所示。
在图 4中,“Conv”代表 3×3的卷积运算,“C2f”代表将不同层的特征图进行融合,“C2f-CA”代表使用嵌入CA注意力模块的C2f操作,“SPPF”代表使用空间金字塔池化层进行池化运算,“Concat”代表特征拼接,“Upsample”代表上采样,“GSConv”代表轻量化卷积,“Detect”代表检测头。
YOLOv8的运算流程是:①将尺寸为864×648像素的输入图像进行裁剪后,采用双线性插值法将图像尺寸缩小为640×640像素。②在主干网络中,使用64个步长为2的3×3卷积核进行卷积,得到1/2特征图,并使用顺序堆叠的“Conv”和“C2f”提取特征图,分别得到2/4特征图、3/8特征图、4/16特征图与5/32特征图,其中“C2f”的最后一次操作起到降维作用。③在主干网络最后一层通过1 024个通道的SPPF层,使用5个大小不同的池化核进行池化操作。④经过主干网络的计算后,得到的特征图会作为颈部网络的输入,在特征融合网络中进行一系列的上采样和下采样操作,实现不同层特征图的拼接,增强网络的学习能力和表达能力。⑤经过颈部网络运算后的特征,在检测端分别使用2个3×3的卷积运算,对结果进行预测,最终输出网络的识别结果。
-
按照生产实际,在传送带上随机放置要检测的蚕茧,由于各个蚕茧之间相距较近,会出现相互堆叠的现象,且有茧丝缠绕,导致目标检测算法在蚕茧种类的检测上精度不高,因此需要添加注意力机制[32]进行动态加权计算来定位感兴趣目标,忽视不相关的背景区域。
注意力机制是一种在深度学习中被广泛应用于不同领域的机器学习方法,通过网络自主学习和选择性关注信息,提高网络模型的性能。目前常用的几种注意力机制有:压缩与激活注意力(SE)模块,属于通道注意力机制[33-34],针对通道维度关注感兴趣的信息,从而忽略空间维度的信息,不适用于轻量化蚕茧识别这类低通道数的模型;卷积注意力(CBAM)模块,是一种结合了通道注意力和空间注意力的模型[35-36],两者的权重相结合会导致计算成本增大,且缺乏提取长距离依赖的能力,不适用于轻量化的蚕茧种类实时检测模型;2021年Hou等[30]提出了CA注意力模块,通过并行处理获得2个特征层,利用卷积标准化获得特征图,且对通道数进行缩放可以减少网络的参数量。
为更精准识别蚕茧种类,在主干网络的C2f模块中引入CA注意力模块,设计一个CA Block结构来替换YOLOv8中的Bottleneck结构,所构建的CA Block结构如图 5所示。
主干网络中的C2f模块被替换成如图 6所示的C2f-CA结构,能够有效提取蚕茧局部关键特征,从而加强网络模型的学习能力。
-
在模型的颈部网络中,使用轻量化卷积GSConv来代替标准卷积,能够有效降低模型的计算成本,提高模型的性能和泛化能力,为蚕茧种类检测算法提供了一种高效的、轻量化的设计方法。
在图 7中,对于输入特征图进行特征提取时,GSConv先进行一个标准卷积运算,然后将特征图通过“Split”切片成2个二分之一通道数的子特征图,对于其中一个子特征图,使用深度可分离卷积运算进行特征提取,另一个直接映射到下一层,将2个子特征图拼接并通过“Shuffle”随机洗牌进行通道调整后输出。该方法能够显著增强网络的感受野,并实现局部特征的捕获,从而增强模型的性能。
-
本文搭建的检测模型和参与对比试验的模型均在相同的环境下进行试验,主要环境配置如表 1所示。
所有的模型使用相同的超参数进行训练,包括:迭代次数为300次,初始学习率设置为0.001,动量因子为0.937,Batch Size为16。
-
本文采用模型的参数量(Params)、浮点运算数(FLOPs)以及在测试集上的精确率(P)、召回率(R)、mAP0.5、mAP0.5∶0.95、F1值和检测时间作为评价指标[37-38],其中检测时间是指平均检测每张图片所需要的时间,单位为ms。精确率P与召回率R的计算公式分别为:
其中:TP(True Positive)表示预测为正类实际为正类的数量;FP(False Positive)表示预测为正类实际为负类的数量;FN(False Negative)表示预测为负类实际为正类的数量。精确率P的分母表示预测为正的样本数,分子表示实际为正的样本数。召回率R的分母表示真正总的正样本数,分子表示预测正确的正样本数。
由精确率P与召回率R可以得出平均精确率AP(Average Precision),由AP计算出mAP。其中,mAP0.5是指当IoU为0.5时的mAP;mAP0.5∶0.95是指当IoU阈值从0.5增加到0.95时,以0.05为步长上的mAP。
式中:K表示类别的个数。
根据式(1)和式(2)可以得到F1值。F1值是调和精确率P与召回率R的调和平均数,其计算公式为:
1.1. 蚕茧检测图像数据集
1.1.1. 图像采集
1.1.2. 数据集构建与预处理
1.2. 蚕茧种类检测模型
1.2.1. YOLOv8模型
1.2.2. 改进的YOLOv8模型
1.2.3. 注意力机制
1.2.4. GSConv模块
1.3. 试验设计
1.3.1. 试验环境与参数设置
1.3.2. 评价指标
-
为验证本试验提出的改进算法性能,以改进的YOLOv8模型为基础,分别添加几种不同的注意力机制模块来进行试验。首先在注意力机制的选择上,对比了多种常见注意力模块,如压缩与激活注意力(SE)模块、卷积注意力(CBAM)模块、高效通道注意力(ECA)[39]模块,分别将这些模块单独放置在卷积层之后与本文使用的C2f-CA注意力模块进行对比,按照相同的试验超参数设置,训练300个epoch后,在同一个测试集上进行推理验证,最终识别效果如表 2所示。由表 2可知,在改进模型中添加C2f-CA注意力模块之后,模型的检测精度mAP0.5为92.0%,与添加SE注意力模块相比,mAP0.5提升了5.2个百分点;与添加CBAM注意力模块相比,mAP0.5提升了9.4个百分点;与添加ECA注意力模块相比,mAP0.5提升了6.5个百分点。
为了直观比较添加不同注意力机制在测试集上的可视化结果,利用热力图比较改进YOLOv8模型添加不同注意力模块对蚕茧种类特征的捕获能力,试验结果如图 8所示。
由图 8可知,在添加SE、CBAM、ECA注意力模块时,其模型捕获特征的能力不如添加C2f-CA模块时捕获特征的能力强,尤其对于特征更为明显的黄斑茧和畸形茧。添加C2f-CA模块时,模型对于蚕茧种类的检测更加精准,且能够更好地定位检测目标,因此本文提出的方法比添加SE、CBAM、ECA注意力模块更有积极意义,更有利于模型对于蚕茧种类的识别。
-
为进一步验证改进YOLOv8模型的检测效果,使用几种常见的经典模型与该YOLOv8进行对比试验,其中经典模型包括两阶段目标检测算法Faster R-CNN[40]以及一阶段目标检测算法YOLOv5、YOLOv7、YOLOv8s、YOLOv8m、YOLOv8-FastNet、YOLOv8-MobileNet。7种模型统一在本文中构建的蚕茧数据集上进行训练与测试,同一环境下的对比试验结果如表 3所示。
由表 3可知,改进后的YOLOv8模型整体优于其他网络模型,mAP0.5为92.0%,平均每张图片的检测时间为123.21 ms,P为91.2%,R为81%,F1值为85.80%,相较于两阶段的目标检测算法Faster R-CNN,每一项评价指标都有较大提升。对于一阶段目标检测算法YOLOv5和YOLOv7,本文算法在P上分别提高了3个百分点和13.2个百分点,平均每张图片的检测时间分别减少了0.56 ms和137.38 ms,说明本文算法与其他经典的一阶段目标检测算法相比可以更精准和快速地完成检测任务。本文算法是在YOLOv8n的基础上改进的,由于模型深度的增加,YOLOv8s和YOLOv8m会在精度上较基准模型YOLOv8n更高,但同时会增加检测时间和计算机的内存量。本文算法在性能上整体优于YOLOv8s和YOLOv8m,说明添加C2f-CA注意力机制模块和GSConv模块的方法对YOLOv8模型的改进有积极意义,且满足网络轻量化的要求,有利于蚕茧种类的快速检测,提高生产效率,降低生产成本。对于轻量化模型YOLOv8-FastNet和YOLOv8-MobileNet,本文改进模型在P上分别提高了28.4个百分点和1.6个百分点,在mAP0.5上分别提高了9.2个百分点和8.7个百分点,但平均每张图片的检测时间分别增加了30.8 ms和4.34 ms。虽然本文改进模型在检测时间上相较于YOLOv8-FastNet和YOLOv8-MobileNet有所增加,但平均检测精度提升接近10个百分点,且相较于其他模型而言,检测时间都有所降低,说明对YOLOv8模型的改进具有积极意义。
-
为验证添加C2f-CA模块和GSConv模块的方法对原始模型的检测能力具有一定的提升,本节将原YOLOv8和改进后的YOLOv8模型在测试集上的可视化结果进行比较,如图 9所示。图 9为部分预测结果,可以看到,由于柴印茧的数量少且特征小,在使用YOLOv8检测时,其检测精度相比本文模型较低,说明本文方法检测小目标特征的性能优于原YOLOv8模型。对于检测畸形茧和黄斑茧这种性状相似的目标时,原YOLOv8模型存在误检现象,即将黄斑茧识别成畸形茧,但是使用改进后的YOLOv8模型可以准确区分黄斑茧与畸形茧,说明本文方法不仅在检测小目标特征时性能更优越,而且可以准确区分相似特征,适用于实际蚕茧分选的复杂环境。
改进YOLOv8模型前后对不同蚕茧种类的检测性能对比如表 4所示,改进YOLOv8与原YOLOv8相比,虽然对于黄斑茧的P比原YOLOv8低了2.5个百分点,但是对于上车茧、柴印茧、畸形茧的P分别提升了1个百分点、46.7个百分点、20.2个百分点,且mAP0.5相比原YOLOv8模型更高,提升了6.6个百分点。改进YOLOv8模型在参数量、浮点运算数以及模型大小方面比原YOLOv8模型的数值小,有利于轻量化的设计,符合在移动端应用的条件。
-
为了验证在基础模型YOLOv8上添加C2f-CA注意力机制模块和GSConv模块对检测精度的影响,进一步开展了消融试验,结果如表 5所示。
由表 5可知,原YOLOv8模型对不同种类蚕茧检测的P为74.8%,R为79.8%,mAP0.5为85.4%,mAP0.5∶0.95为76.1%;在添加C2f-CA注意力机制后,P、mAP0.5、mAP0.5∶0.95分别提升了10.7个百分点、4.8个百分点、6.1个百分点,R下降了5.6个百分点,表明有一些背景被识别成蚕茧;在添加GSConv模块后,P、R、mAP0.5、mAP0.5∶0.95分别提升了5个百分点、4.4个百分点、1.2个百分点、1.5个百分点;当注意力机制C2f-CA模块和GSConv模块同时添加到YOLOv8模型后,综合性能最优,P、R、mAP0.5、mAP0.5∶0.95分别为91.2%、81.0%、92.0%、82.8%,比原YOLOv8模型的P、R、mAP0.5、mAP0.5∶0.95分别提升了16.4个百分点、1.2个百分点、6.6个百分点、6.7个百分点。通过消融试验进一步验证了本文算法的改进具有积极意义。
2.1. 不同注意力机制检测结果对比
2.2. 与其他模型试验结果对比
2.3. YOLOv8改进前后可视化分析
2.4. 改进YOLOv8模型的消融试验
-
本文提出基于改进YOLOv8的蚕茧种类轻量化检测方法,实现了蚕茧种类的快速精准检测,得出如下结论:
1) 本文采用C2f-CA结构进行特征提取,相比SE、CBAM、ECA 3种注意力机制,本文嵌入的C2f-CA注意力模块在准确率上分别提升了7.9个百分点、8.7个百分点、10.8个百分点,该模型在蚕茧的种类检测中产生了较好的效果。采用GSConv模块替换标准卷积,模型参数量减少了3%,mAP0.5提高了1.2个百分点,达到86.6%,验证了本文改进模型的可行性。
2) 本文改进的YOLOv8模型在测试集上的mAP0.5达到了92.0%,模型的参数量仅为2.93 MB,浮点运算数为8.1 G,平均每张图片的检测时间为123.21 ms,相较于原YOLOv8基准模型,改进的YOLOv8模型更具轻量化,检测精度更高。与其他经典目标检测算法相比,改进的YOLOv8模型整体性能上更具优势,满足在蚕茧相距较近、桑叶残渣遮挡、蚕丝包裹、蚕茧相互堆叠分布的情况下蚕茧检测轻量化模型的要求,以期为智能化蚕茧分选装备的研发提供理论基础。