基于改进YOLOv8的中药材图像识别

2024-11-07 00:00赵哲燕振刚陈蕾
软件工程 2024年11期

摘要:针对传统中药材检测任务中识别效率低、受主观因素影响较大的问题,文章选取77种中药材作为研究对象。采用自行拍摄图像和在互联网获取图像的方式,并结合旋转平移、高斯噪声等数据增强技术,最终构建了一个包含4万多张图像的数据集。在模型改进方面,对第八代只看一次目标检测算法(YouOnlyLookOnceversion8,YOLOv8)的Backbone部分进行了针对性的优化,引入了DSConv和Biformer注意力机制。DSConv能够自适应地关注细长和曲折的局部特征,而Biformer则通过双层路由机制,实现了内容感知的稀疏模式,提高了模型对图像细节和关键目标的识别能力。实验结果表明,改进后的YOLOv8模型的精确率、召回率和平均精度分别达到了96.4%、98.0%和97.7%,相较于原模型的精确率和平均精度分别增长了1.7百分点和1.0百分点。在中药材检测任务上取得了显著的性能提升效果。

关键词:YOLOv8;中药材识别;蛇形动态卷积;Biformer注意力机制

中图分类号:TP391.7文献标志码:A

0引言(Introduction)

中药材作为中医药事业的基石,拥有数千年的历史,并在我国医药领域中占据举足轻重的战略地位[1\|2]。在传统的中药材分类和识别中,主要依靠人工经验完成对中药材的检测,这种方式效率低且受主观因素影响较大[3]。随着信息技术和网络技术的发展,以及图像检测技术的广泛应用[4],各行各业都迎来了技术革新。深度学习技术与中医药领域相融合,为中药材的鉴定带来了前所未有的准确性和便捷性,有效克服了传统中药材识别方法的不稳定性、主观性强等问题,推动了中医学的现代化进程。

岑忠用等[5]利用近红外漫反射光谱采集一定范围内的光谱信息,结合主成分分析方法等建立定性判别模型,对6种容易混淆的根茎类中药材图像进行识别,该方法能够很好地识别出根茎类的中药材图像。张开生等[6]通过工业摄像头获取冬虫夏草的多角度图像信息并搭建网络模型,识别准确率达到94%。刘思岐等[7]使用光谱功率分布(SpectralPowerDistribution,SPD)对光谱数据进行转化分析,运用聚类分析方法选择木材种类数据的特征,确定最优维数据特征并将确定好的特征信息输入改进后的网络模型中,得到了测试集最高识别率达到88.7%的结果。

上述研究在图像识别方面获得了很好的识别效果,但也存在许多的不足,例如忽略了数据集背景和对图像细节的关注度不够,导致模型识别准确率不高,并且网络模型结构比较复杂,不能很好地迁移到其他任务上,与实际应用仍然存在一定的差距。因此,本研究选取白芍、陈皮等77种中药材图像作为研究对象,以YOLOv8作为基础模型,对如何提升模型泛化能力和提升模型精度展开研究。

1材料与方法(Materialsandmethods)

1.1数据集来源与构成

目前,还没有大规模公开的关于中药材的数据集,尤其对于西部地区来说,并没有可以使用的药材图像数据集;此外,深度神经网络的分类任务对数据集的规模要求比较高,只有充足的数据集才能对模型进行充分的训练并加以改进,得到泛化能力较强的优良模型。因此,本文选取了甘肃省境内分布的77种中药材,中药材样例如图1所示,由自行拍摄的图片和来自互联网的图片共同构成本研究的数据集。自行拍摄使用的工具为“索尼”A7C2相机和“腾龙”28~200mm镜头的组合;为了减少阴影和反光,保证图片的质量,选择在自然光线下从不同的角度(包括正面、侧面、背面和顶部视角)对中药材进行拍摄;为了确保图像识别的准确性,选择纯白色的卡纸作为环境背景,避免了复杂背景对图像识别造成的干扰,使得中草药的图像更加突出、清晰;在此基础上,对自行拍摄的图像进行标注、整理和分类工作,确保数据集的高质量和可用性。网络数据集使用的是Chinese\|Medicine\|163,该数据集共收集了163种中药材的图片数据,数据集主要来源于网络爬虫图片检索,并经过人工清洗整合收集完成,虽然有小部分图片存在水印和复杂背景的干扰信息以及模糊和不完整等问题,但是整体数据质量满足要求,可以用于中草药AI识别算法研究;Chinese\|Medicine\|163分为训练集(Train)和测试集(Test)两个子集,其中训练集总数超过25万张图片,平均每个种类约有1575张图片,测试集(Test)总数有1万张图片,平均每个种类约有61张图片,所有照片都已经按照其所属类别存放于各自的文件夹中,可直接用于YOLOv8模型训练。在Chinese\|Medicine\|163中筛选出本研究需要的77种中药材数据,对其进行二次筛选处理,进一步保证图像的质量。

1.3基于改进YOLOv8的方法

1.3.1YOLOv8

YOLOv8是由Ultralytics开发的领先的SOTA(State\|of\|the\|Art)模型[10]。该框架目前支持图像分类、物体检测和实例分割任务。YOLOv8最显著的改进之处在于其出色的可扩展性。设计者将其打造成一个兼容YOLO历史版本的框架,使开发者可以自由切换并进行实验对比。此外,该框架引入了新的功能和改进,包括全新的骨干网络、Ancher\|Free检测头和损失函数等[11],进一步提升了模型的性能和灵活性。YOLOv8识别算法的网络结构图如图3所示。

在YOLOv8的网络模型架构上,将其Backbone部分的卷积层替换成蛇形动态卷积(图3中第2层、第3层),提高模型对瘦长和曲折的局部特征的自适应关注能力;同时,对第54层和第64层卷积层进行残差连接,使得网络可以直接学习残差(即输入与输出之间的差异),从而能更容易地传递梯度和学习有效的特征表示,然后在网络的空间金字塔池化与跨阶段局部连接(SpatialPyramidPoolingCrossStagePartial,SPPCSPS)模块中添加Biformer注意力机制[12],以改进对图像中不同区域的重要性建模能力,提高模型对图像细节和关键目标的识别能力,以及加强对全局上下文的考虑。YOLOv8首先将输入的图片调整为640×640的像素大小,输入backbone网络中,然后经head层网络输出3层不同规格大小的特征图像,经过Rep和Conv输出预测结果。

在YOLOv8模型中,多路径(MP)模块采用双分支策略以实现高效的下采样处理。每个分支均致力于调整通道数并执行下采样操作,但采用了不同的技术路径。第一个分支首先通过最大池化层(maxpool)进行空间维度的缩减,其次通过1×1卷积层调整通道数,以优化特征表示。第二个分支首先通过1×1卷积层进行通道数的初步调整,其次通过一个具有3×3卷积核和步长为2的卷积层进一步下采样,以实现更精细的特征提取。最终,两个分支的输出通过拼接操作合并,形成一种复合的下采样结果,不仅增强了特征的表达能力,也提高了模型对不同尺度特征的捕捉能力。MP1模块和MP2模块在通道数的调整上有所差异,MP1模块的输入尺寸为160×160×256,输出尺寸调整为80×80×256,而MP2模块则接受两种不同尺寸的输入,即80×80×128和40×40×256,通过拼接技术输出统一的40×40×256尺寸。YOLOv8模型中的MP1模块和MP2模块的结构图分别如图4和图5所示。

ELAN(EffectiveLong\|RangeAggregationNetwork)模块,作为一种高效的网络结构,通过精确调控梯度传播路径,不仅促进了网络对多样化特征的学习,还显著提升了模型的鲁棒性。该模块由两eFIplOnbuxnC9t6PGsSzPTENqHFkaugv30hXZmsuKlk=条并行分支构成,每条分支都致力于优化特征表示。在第一条分支中,1×1卷积层负责调整通道数,以实现特征的初步转换。第二条分支更为复杂,它首先通过1×1卷积层进行通道数的调整,其次经过连续4个3×3卷积层的深入特征提取。这4个独立的特征提取层的输出最终被叠加,以合成更为丰富和精确的特征表示。ELAN模块的输入尺寸为160×160×128,经过模块处理后,输出尺寸变为160×160×236。而ELAN′模块,作为其变体,接受40×40×512的输入尺寸,并输出40×40×256的尺寸。这两种模块的设计和结构细节分别在图6和图7中进行了展示。

空间金字塔池化与跨阶段局部连接注意力机制模块(SpatialPyramidPoolingCrossStagePartialAttention,SPPCSPC_ATT),作为YOLOv5中快速空间金字塔池化(SpatialPyramidPooling\|Fast,SPPF)模块的改进版本,引入了5×5、9×9、13×13的多尺度最大池化技术。这种设计的核心优势在于其能够扩展网络的感受野,从而使得算法能够适应不同分辨率的图像输入。通过最大池化策略,SPPCSPC_ATT模块能够捕捉到不同尺度的特征,这对于处理图像中大小不一的目标至关重要。该模块的第一条分支采用了4个不同尺寸的最大池化操作,分别为5×5、9×9、13×13和1×1。这些池化操作不仅代表了网络对不同尺度对象的处理能力,而且通过各自的感受野,能够区分并识别图像中的大目标与小目标。例如,在识别中药材图像时,由于它们的尺寸存在差异,因此网络能够利用不同尺度的最大池化更准确地识别和区分这些目标。SPPCSPC_ATT模块结构图如图8所示。

跨阶段局部网络模块(CrossStagePartialNetwork,CSP),首先将特征分为两个部分,一部分进行常规的处理,另一部分进行空间金字塔池化结构(SpatialPyramidPooling,SPP)的处理,其次把两个部分合并在一起,实现了在减少计算量的同时提升模型的速度和精度。

1.3.2蛇形动态卷积

在图像处理中,卷积是一种常用的运算方式,它可以提取图像的特征,用于后续的图像识别、分类等任务。在传统的卷积方式中,由于其结构的刚性和固定性,使其在对细长结构等特殊图像结构的特征提取,存在一定的局限性。为克服这一缺陷,引入了蛇形动态卷积(DynamicSnakeConvolution,DSConv)[13]。

在DSConv中,首先给出了标准2D卷积的坐标,以此为基础,蛇形动态卷积的中心坐标就能被确定。这个中心坐标是动态的,可以随着输入特征的变化而变化,因此DSConv可以更灵活地适应图像中的细长、微小的结构。DSConv结构图如图9所示。

图9中从左至右全面展示了一种新型的、专为解决薄管状结构分割困难而提出的知识融合模型,它融合了蛇形动态卷积、多角度特征融合策略和拓扑连续性约束损失函数,三者相互配合,可以实现对管状结构的精确分割。首先,输入图像,该图像包含待分割的拓扑管状结构信息。其次,图像通过DSConv可以自适应地关注细长和曲折的局部特征,从而实现对2D和3D数据集中管状结构的精确分割。再次,模型采用多角度特征融合策略,将从多个不同角度获取的特征进行融合,并补充注意力到关键特征上,确保模型能很好地识别和分割不同角度、不同形状的管状结构。最后,图像进入拓扑连续性约束损失函数处理阶段。这种损失函数基于持久同胚理论,可以更好地约束分割的连续性。通过两种损失函数的联合影响,对分割结果的拓扑性和精度都进行了限制,有助于实现连续的管状分割。

1.3.3Biformer注意力机制

Biformer是一种新型的视觉变压器,它引入了一种独特的双层路由机制,使得在查询自适应方式下,实现内容感知的稀疏模式。Biformer在模型大小相似的情况下,与基线模型相比,对象检测和语义分割等在各种计算机视觉任务上(如图像分类)都取得了显著的性能提升。

Biformer的主要工作原理是基于双层路由注意力(BRA)机制[14]。BRA能够实现动态和查询自适应的稀疏性。这种机制能够在保证高效的情况下,实现对图像的细致分析。同时,Biformer采用了层次化的设计,使得模型在处理大规模数据时,也能保持高效和准确。BRA工作流程图如图10所示。

图10的左边部分是在区域级别上的注意力分配,右边部分是在令牌级别上的注意力操作。左边部分,首先对整个图像进行分区;其次,在这些区域中选择出与查询最相关的区域,这一操作是通过构建和修剪区域级别的有向图实现的。从图10中可以看到,有一些区域被选择出来,而有些区域则被忽略,这些被选择出来的区域就是与查询最相关的区域,它们的选择是基于区域内的键值对的相似性。这样做的好处是,可以在一定程度上过滤与查询无关的区域,从而提高计算效率。

从图10的右边部分可以看出,在选定相关区域后,需要在这些区域内进行令牌级别的注意力操作。这一操作是通过计算查询和每个令牌的相似性实现的。每个令牌都有一个对应的注意力分数,该分数表示该令牌与查询的相关性。将这些分数进行归一化,以便得到最终的注意力分布。

从整体上看,通过区域级别和令牌级别的注意力操作,实现了一种动态的、基于查询的稀疏性。这种方法不仅能够有效地分配计算资源,还能够捕捉到长距离的对象之间的关系。Biformer在图像分类、物体检测和语义分割等任务中都表现出了优秀的性能。例如,在图像分类任务上,Biformer经过ImageNet1K的训练,取得了优秀的分类性能,同时在COCO和ADE20K数据集上的物体检测和语义分割任务中也取得了显著的效果提升。Biformer通过双层路由注意力机制,能够实现对图像的精细分析,这有助于药材的检测识别。Biformer能够识别出药材的不规则区。此外,Biformer的层次化设计也使得它在处理大规模数据时,仍然能够保持高效率和准确性。Biformer在药材识别任务上的主要优势在于其精细的图像分析能力和高效的处理性能。精细的图像分析能力能使Biformer准确识别出目标区域,而高效的处理性能使Biformer处理大规模的数据。这两点优势都是药材识别任务的重要需求。

1.4评价指标

为了评估模型的性能,本次实验使用了精确度(P)、召回率(R)和平均精度(mAP)作为判断模型性能的评价指标[15\|16]。以上指标的计算方法如公式(1)至公式(4)所示。

2实验结果与分析(Experimentalresultsandanalysis)

2.1实验环境

实验使用的计算机的GPU是RTX4090(24 GB)*1。CPU是12vCPUIntel(R)Xeon(R)Platinum8352VCPU@2.10GHz。PyTorch版本为1.11.0,Python版本为3.8,CUDA版本为11.3。

2.2实验结果

2.2.1模型改进前后的中药材检测对比

为了综合检验改进模型对中药材的检测能力,从测试集中选取不同中药材的部分样本,利用改进前后训练好的模型权重进行测试,结果如图11所示。

从图10展示的模型改进前后检测效果对比可知,改进后的YOLOv8模型置信度较原模型有所提升,直接反映了模型对于目标检测结果的可靠程度。证明了改进方法的有效性,能够提高模型的精度。

2.2.2消融实验

为了验证各改进策略对网络模型检测性能的影响,本文在YOLOv8的基础上,分别单独采用蛇形动态卷积网络作为骨干网络,引入Biformer注意力机制2种策略联合分析模型性能变化,消融实验结果如表1所示。本实验基于YOLOv8算法对77种中药材进行识别检测,数据集中包含这些中药材的图像数据,包括外观、颜色、纹理等特征。使用YOLOv8模型在本实验所制数据集上进行实验,实验结果如表2所示,其中精确度、召回率和平均精度(mAP)分别达到了94.7%、98.0%和96.7%。为了提高模型的检测准确率,本文对YOLOv8模型进行了改进,改进后的YOLOv8模型的精确度、召回率和平均精度(mAP)分别达到了96.4%、98.0%和97.7%,相较原模型精确度和平均精度(mAP)分别增长了1.7百分点和1.0百分点。

综上所述,基于改进的YOLOv8对中药材识别检测的实验结果表明,改进后的模型相较于原模型可以更有效地应用于中药材检测和分类领域,具有较高的识别准确率和鲁棒性,有望在中药材产业中发挥重要作用。

3结论(Conclusion)

针对中药材种类多、识别效率低、受主观因素影响大等问题,本文提出一种基于YOLOv8改进的YOLOv8目标检测模型,将原始模型的骨干网络替换成蛇形动态卷积网络,以实现模型轻量化,并在网络中引入Biformer注意力机制,提高了模型表征能力,通过消融实验得出以下结论。

(1)将YOLOv8模型骨干网络替换为蛇形动态卷积网络,减少了模型的参数量和计算量,实现了模型的轻量化;网络中融入的Biformer注意力机制增强了模型对中药材目标特征的聚焦程度,提高了模型检测精度。

(2)改进后模型的检测平均精确度达到了97.7%,与其他主流目标检测模型相比,该模型具有较好的鲁棒性,能够准确识别不同形态下的中草药目标。

参考文献(References)

[1]田园.基于文本分析的甘肃省陇西县中医药产业政策研究[D].昆明:云南师范大学,2023.

[2]ZHAOZZ,LIANGZT,PINGG.MacroscopicidentificationofChinesemedicinalmaterials:traditionalexperiencesandmodernunderstanding[J].Journalofethnopharmacology,2011,134(3):556\|564.

[3]LUQ,LICL.ComprehensiveutilizationofChinesemedicineresiduesforindustryandenvironmentprotection:turningwasteintotreasure[J].Journalofcleanerproduction,2021,279:123856.

[4][JP3]WANGWY,ZHOUH,WANGYF,etal.CurrentpoliciesandmeasuresonthedevelopmentoftraditionalChinesemedicineinChina[J].Pharmacologicalresearch,2021,163:105187.

[5]岑忠用,雷顺新,雷蕾,等.近红外光谱法鉴别6种根茎类中药材[J].华中农业大学学报,2021,40:271\|277.

[6]张开生,薛杨,石瑞华.基于CNN的冬虫夏草智能化分拣系统研究[J].中药材,2018,41(5):1077\|1082.

[7]&nbA+ri6R6jVOSWrSVGNpiQY4UMW3iX7GrbvcAm5yuBVl8=sp;刘思岐,冯国红,唐洁,等.中红外光谱结合CA\|SDP\|DenseNet的木材种类识别研究[J].SpectroscopyandSpectralAnalysis,2023,43:814\|822.

[8]李翠玲,李余康,谭昊然,等.基于K\|means聚类和RF算法的葡萄霜霉病检测分级方法[J].农业机械学报,2022,53(5):225\|236,324.

[9]帖军,隆娟娟,郑禄,等.基于an+9KdJjI+8TTu0UPsOxhDm1h+kXx5Qd9r6N0iEuCDM=SK\|EfficientNet的番茄叶片病害识别模型[J].广西师范大学学报(自然科学版),2022,40(4):104\|114.

[10]马超伟,张浩,马新明,等.基于改进YOLOv8的轻量化小麦病害检测方法[J].农业工程学报,2024,40(5):187\|195.

[11]郭嘉璇,王蓉芳,南江华,等.融入全局相应归一化注意力机制的YOLOv5农作物害虫识别模型[J].农业工程学报,2024,40(8):159\|170.

[12]张瑶,陈姚节.改进YOLOv8的水面小目标检测算法[J].计算机系统应用,2024,33(4):152\|161.

[13]DONGXH,LISX,ZHANGJX.YOLOV5sobjectdetectionbasedonSimSPPFhybridpooling[J].Optoelectronicsletters,2024,20(6):367\|371.

[14]郑昌艳,梅卫,王刚.基于深度卷积神经网络的蛇形机动航迹图像识别[J].火力与指挥控制,2016,41(5):66\|70.

[15]张林鍹,巴音塔娜,曾庆松.基于StyleGAN2\|ADA和改进YOLOv7的葡萄叶片早期病害检测方法[J].农业机械学报,2024,55(1):241\|252.

[16]王相友,李晏兴,杨振宇,等.基于改进YOLOv4模型的马铃薯中土块石块检测方法[J].农业机械学报,2021,52(8):241\|247,262.

作者简介:

赵哲(1999\|),男,本科生。研究领域:深度学习。

燕振刚(1978\|),男,博士,教授。研究领域:农业信息化。

陈蕾(1982\|),女,硕士,副教授。研究领域:农业信息化。