摘要
为提高南药叶片的分类和分拣效率,本研究对 EfficientNetv2网络模型进行改进,引入迁移学习机制训练模型,选取自适应矩估计优化算法,通过多次测试进行超参数优化,确定学习率;采用MultiMarginLoss损失函数改善复杂背景信息对识别效果的影响。应用改进后的EfficientNetv2模型与其他轻量级模型对实地采集的复杂背景下的8种南药叶片进行分类效果对比试验,试验结果显示,改进模型对复杂背景下的南药叶片图像样本识别准确率为99.12%,相较于初始模型EfficientNetv2-S,准确率提高1.17%,并且参数量和模型大小均下降约85%,平均训练时间下降47.62%。与DenseNet121、ShuffleNet和RegNet等模型相比,改进模型在模型存储空间大小、准确率和训练时间3个指标上有明显优势。研究结果表明,在多品种南药叶片分类任务中,改进模型取得优良表现,模型的轻量化程度和性能得到进一步的提升。
南药是指长江以南、南岭以北地区包括湖南、江西、福建、台湾等省区的全部或大部分地区所产的地道药材,是我国传统中药材的重要组成部分。目前广东省种植的药材有60多种,其中具有鲜明地域特色的南药种类有40余种,种植面积共约21万h
对于复杂自然场景下的植物叶片目标检测和识别,近年来已取得一定进展。朱黎辉
此前手工提取特征的方法容易受图像噪声、背景复杂性等影响,造成提取特征出现偏差。随着深度学习理论的发展,基于学习的方法能够自动化提取数据特征,因此鲁棒性更
现有研究对药材识别的方法多为提取特征后再输入到卷积网络得到分类结果,但是仍然存在识别准确率不高、生成模型存储空间较大的问题,对硬件设备要求较高而难以应用到嵌入式或移动式设备上。Tan
为进一步提高分类网络的泛用性,优化网络结构,解决在复杂场景下南药材快速、高精度识别问题,本研究选择基于结构复杂但精准度较高的 EfficienNetv2 网络模型进行改进,在保持高识别准确率前提进一步下提升网络的性能,旨在进一步提高南药材的分类准确率和分拣效率。
1)试验数据采集 。采样的药材基地包括位于广州市天河区柯木塱的广东省农业技术推广总站以及位于肇庆市高要区的南药省级现代农业产业园,涵盖广藿香(Pogostemon cablin)、沉香(Aquilaria sinensis (Lour.) Gilg)、巴戟天(Morinda officinalis How)、何首乌(Fallopia multiflora)、化橘红(Citri Grandis Exocarpium)、广佛手(Citri sarcodactylis Fructus),陈皮(Pericarpium Citri Reticulatae)和阳春砂(Amomum villosum Lour)共8种南药,如

图1 南药叶片图像样本
Fig.1 Leaf of southern medicine image samples
A:巴戟天 Morindae officinalis; B:沉香 Eaglewood; C:广佛手 Fingered citron; D:陈皮 Tangerine peel; E:何首乌 Polygonum multiflorum; F:广藿香 Cablin patchouli; G:化橘红Tomentose pummelo peel; H:阳春砂Villous amomum fruit.
2)数据扩增。为了提高训练过程的模型精确率和泛用性,本研究对训练样本进行数据扩增处理,扩增方法包含对比度增强、高斯噪声、仿射变换、镜面翻转4种手段,扩增效果如

图2 数据扩增处理后的效果图
Fig.2 The effect picture after data amplification processing
A:原图 Original image; B:对比度增强 Contrast enhancement; C:镜面翻转 Mirror flip; D:高斯模糊 Gaussian blur;E :仿射变换 Affine transformation.
3)数据预处理。由于扩增后图像样本数量较大,为了进一步提升网络模型的训练速度、收敛性以及准确率,对训练图像数据集进行预处理。本研究采用来自Pytorch官方的算法工具库所提供transforms.Compose组件对南药叶片图像进行张量化处理、归一化处理和正态分布处理,其中transform.ToTensor()将输入图像数据原本(W(宽度),H(高度),C(通道数))的形状转换为(C,H,W)形状的Tensor格式,在将所有数据除以255,归一化到[0,1.0];正态分布处理则调用transforms.Normalize方法。将RGB 3个通道上的均值都设为0.5,3个通道的标准差也设置为0.5,参数mean和std均以0.5的形式传递,使图像的灰度归一化在[0,1],处理后的数据符合标准正态分布,模型更容易收敛。
1) EfficientNetv2相较EfficientNetv1的改进点。EfficientNetv2网络中在原本EfficientNetv1网络的浅层中引入了Fused-MBConv模块,模块结构变化如

图3 MBConv 和Fused-MBConv的网络结构
Fig.3 Structure of MBConv and Fused-MBConv
2) 改进EfficientNetv2网络模型的构建。EfficientNetv2网络提供了S、M以及L 共3种初始模型,本研究选取最轻量的初始模型EfficientNetv2-S作为改进基础,该模型有44层网络结构,共分为7个阶段。初始模型EfficientNetv2-S是原作提供的几个初始模型中最轻量的1个,但是在训练时也存在运算量较大、单次训练时间较长、模型空间占用大的问题,因此对原有的网络结构层实行改进操作。改进后的EfficientNetv2-S模型结构在模型的7个阶段里,第一阶段和最后一阶段与原网络结构保持一致,通道数发生变化,其余的主要针对中间的第2~6阶段部分进行重新设计。网络结构改进前后如

图 4 改进前后的EfficientNetv2-S网络模型结构对比图
Fig.4 Comparison of the structure of EfficientNetv2-S network model before and after improvement
A:改进前的EfficientNetv2-S网络结构图The structure of EfficientNetv2-S network before improvement;B:改进后的EfficientNetv2-S网络结构图The structure of EfficientNetv2-S network after improvement.
第二步是将第5~17层的3×3卷积核替换为5×5卷积核,即
在前两步中,由于调整MBConv模块数量和部分卷积层替换更大的5×5卷积核,使得整个网络的感受野范围得到提升,因此不需要依赖更多的卷积层来维持模型精度。根据初始模型的比例对网络层数进行缩减。按初始模型的比例将第4~6阶段的6、9、15层缩减至3、3、4层,即
阶段Stage | 模块 Operator | 步长Stride | 通道数Channels | 层数Layers |
---|---|---|---|---|
0 | Conv3×3 | 2 | 16 | 1 |
1 | Fused-MBConv k3×3 | 1 | 16 | 1 |
2 | Fused-MBConv k3×3 | 2 | 24 | 2 |
3 | MBConv, k5×5, SE0.25 | 2 | 40 | 2 |
4 | MBConv, k3×3, SE0.25 | 2 | 80 | 3 |
5 6 7 |
MBConv, k5×5, SE0.25 MBConv, k5×5, SE0.25 Conv1×1 & Pooling&FC |
1 2 - |
112 192 960 |
3 4 1 |
3)引入Adam优化算法。在EfficientNetv2-S中,采用的是固定步长随机梯度下降法(stochastic gradient descent, SGD
(2) |
(3) |
式(
4)损失函数的选取。MultiMarginLoss函数适用于相似且复杂背景下的多分类任务,在具体训练过程中对网络的收敛性有一定的提升。其表达式如
(4) |
在
1)模型的训练环境。基于Python3.8编程语言的Pytorch深度学习框架,Ubuntu操作系统, 8核16线程的Intel E5-2620 的CPU,GPU为内存12 GB的GTX TITAN X显卡4张,调用CUDA平台网络训练过程实行加速,集成开发环境为Pycharm。
2)模型评价指标。为了衡量模型的性能,本研究分别与初始提供的3类模型进行参数量(parameters)和浮点运算次数(FLOPs)指标的对比,其中参数量用于衡量模型复杂度,FLOPs用于衡量模型运算性能。除此之外,模型还采用单次验证法进行模型性能的评估。具体操作如下:将数据集按8︰2的比例划分为训练集和测试集,然后使用训练集对模型进行指定迭代周期的训练,接着在测试集上进行客观评价指标的计算。为了对训练出的模型进行客观评价,采用测试准确率(test accuracy)、损失值(loss)、模型存储空间大小(model storage space)和平均训练时间(training time)等评价指标。
3)网络训练过程。初始模型EfficientNetv2-S在大型数据集ImageNet上进行预训练后产生的模型权重文件,选取pre_EfficientNetv2-S.pth进行迁移模型训练,通过迁移学习能够提升神经网络模型的收敛性,进一步提高模型分类的精确度。对于改进EfficientNetv2-S模型在不同种类和不同超参数模型上的对比,采用单次验证法来训练和评估模型的性能。模型的训练流程如

图 5 改进 EfficientNetv2-S模型训练流程图
Fig.5 Improved EfficientNetv2-S training flow chart
4)超参数优化。学习率的大小会对模型的收敛速度有较大的影响,在Adam优化算法中,学习率设定过低会使模型收敛速度放慢,甚至降低模型精确率。如果设定太高,梯度有一定概率会在最小值的范围内上下波动,以至于可能出现无法收敛的情况。因此,需要对多个量级的学习率进行试验和比较。试验中初始批大小设置为3

图 6 学习率调节对准确率(A)和损失值(B)的影响
Fig.6 Influence of learning rate tuning on accuracy(A)and loss value(B)
构建复杂背景图像的8种南药叶片图像数据集,通过超参数优化确定了Adam优化器的学习率为0.001后,设定迭代周期为100次,批大小为32,通过训练横向对比Rprop、RMSprop、Adagrad以及SGD等4种优化器的优化效果,观察不同优化器下的训练准确率和损失值结果(

图 7 不同优化器下模型的准确率(A)和损失值(B)
Fig.7 Comparison of the results of accuracy(A) and loss values(B) of the model under different optimizers
利用torchstat工具计算每个模型的参数量和浮点运算次数以及训练时所占用内存大小,将改进EfficientNetv2-S模型与EfficientNetv2-S、EfficientNetv2-M、EfficientNetv2-L这3个模型进行比较,其结果如
模型Model | 参数量/Mb Parameters | 浮点运算次数/G FLOPs | 占用内存/MbMemory size |
---|---|---|---|
改进EfficientNetv2-SImproved EfficientNetv2-S | 2.91 | 0.79 | 81.52 |
EfficientNetv2-S | 19.25 | 5.35 | 270.26 |
EfficientNetv2-M | 50.41 | 10.2 | 438.49 |
EfficientNetv2-L | 111.81 | 23.2 | 773.26 |

图 8 改进前后模型的准确率(A)和损失值(B)
Fig.8 Accuracy rate(A) and loss value(B) of the model were compared before and after improvemt
利用复杂背景图像的8种南药叶片图像数据集对改进的 EfficientNetv2-S模型进行训练,并与其他轻量级的网络模型进行对比。运用迁移学习训练模型,以8︰2比例划分为训练集6 580张和测试集1 645张,不同模型的预处理方式、优化算法等基本设置保持相同,迭代次数100,学习率和批大小分别取0.001 和32,不同模型的种类识别结果对比见
模型 Model | 准确率/% Accuracy | 损失值Loss | 模型存储空间/kb Model storage space | 训练时间/sTraining time |
---|---|---|---|---|
DenseNet121 | 97.98 | 0.022 30 | 27 294 | 76 |
RegNet | 76.88 | 0.414 96 | 15 496 | 73 |
ShuffleNet | 98.52 | 0.006 43 | 15 120 | 75 |
EfficientNetv1 | 98.44 | 0.004 49 | 42 383 | 156 |
EfficientNetv2-S | 97.97 | 0.002 59 | 79 742 | 147 |
改进 Improued EfficientNetv2-S | 99.12 | 0.002 17 | 12 201 | 77 |
由

图9 不同模型的训练准确率结果对比
Fig.9 Comparison of the training accuracy of different models for species recognition
本研究在解决目标多分类问题时,原始模型采用交叉熵损失函数进行模型优化,使模型输出逼近理想情况下的输出结果。虽然交叉熵损失的收敛效果良好,但是仍然存在局限性:对于包含复杂背景信息的图像,即叶片像素数量明显小于背景像素数量时,会导致交叉熵损失函数中背景信息成分会占据主导,使网络模型明显偏向背景,导致识别效果有所下
本研究提出一种基于改进EfficientNetv2-S模型的南药叶片种类识别方法,通过调整MBConv模块结构,替换部分卷积核,加载预训练权重进行迁移学习,对模型的网络结构复杂度和冗余度进行一定精简,实现轻量化目标。将改进后模型对多品种南药叶片数据集进行多组对照试验,结果显示:与初始模型EfficientNetv2-S相比,改进后的EfficientNetv2-S在参数量和计算次数都明显下降,在对南药叶片种类进行识别的过程中,准确率、损失值、训练时间、存储空间大小等指标明显优于初始模型,说明该改进模型的识别准确度较高,并且模型的复杂度和参数量下降,模型性能得到进一步提升。与其他轻量级的分类网络模型进行横向对比,结果表明,在准确率方面,改进EfficientNetv2-S要比另外3个轻量级分类网络模型都有所提升,其中对比DenseNet121提升效果较为显著。改进EfficientNetv2-S分类模型能够保持高精度识别效果的同时减少模型参数量,达到轻量化与高精度之间的平衡。
本研究采用卷积神经网络并对网络模型进行轻量化重构,实现了在保持高精确率的同时进一步降低模型复杂度和存储空间,对于嵌入到移动式设备或单片机等对存储空间和实时传输条件要求较高的环境而言有较好的适用性。该模型仍有进一步改进的空间,比如测试多种不同学习率衰减机制来确定更适合的更新梯度算法组合。对数据集方面如果能考虑到南药叶片在更多气候条件下的成像效果,再进行训练和测试能够进一步提高模型的泛用性和鲁棒性。
参考文献 References
詹若挺,刘军民,陈立凯,等.广东省南药生产发展现状调查[J].广州中医药大学学报,2020,37(9):1836-1843.ZHAN R T,LIU J M,CHEN L K,et al.Investigation on the production status of Lingnan herbal medicine in Guangdong Province[J].Journal of Guangzhou University of Traditional Chinese Medicine,2020,37(9):1836-1843(in Chinese with English abstract). [百度学术]
朱黎辉,李晓宁,张莹,等.基于形状特征及纹理特征的中药材检索方法[J].计算机工程与设计,2014,35(11):3903-3907.ZHU L H,LI X N,ZHANG Y,et al.Image retrieval method for Chinese herbal medicine based on shape features and texture features[J].Computer engineering and design,2014,35(11):3903-3907(in Chinese with English abstract). [百度学术]
杨万里,段凌凤,杨万能.基于深度学习的水稻表型特征提取和穗质量预测研究[J].华中农业大学学报,2021,40(1):227-235.YANG W L,DUAN L F,YANG W N.Deep learning-based extraction of rice phenotypic characteristics and prediction of rice panicle weight[J].Journal of Huazhong Agricultural University,2021,40(1):227-235(in Chinese with English abstract). [百度学术]
凌秀华,卢文彪,王耐,等.基于图像处理技术的麦冬药材特征提取与识别[J].辽宁中医杂志,2017,44(7):1460-1462.LING X H,LU W B,WANG N,et al.Feature extraction and recognition of ophiopogonis Radix based on image processing[J].Liaoning journal of traditional Chinese medicine,2017,44(7):1460-1462(in Chinese with English abstract). [百度学术]
陶欧,林兆洲,张宪宝,等.基于饮片切面图像纹理特征参数的中药辨识模型研究[J].世界科学技术-中医药现代化,2014,16(12):2558-2562.TAO O,LIN Z Z,ZHANG X B,et al.Research on identification model of Chinese herbal medicine by texture feature parameter of transverse section image[J].World science and technology/Modernization of traditional Chinese medicine and materia medica,2014,16(12):2558-2562(in Chinese with English abstract). [百度学术]
钱丹丹,周金海.基于计算机视觉的中药饮片检测与分级研究[J].时珍国医国药,2019,30(1):203-205.QIAN D D,ZHOU J H.Study on detection and grading of Chinese herbal pieces based on computer vision[J].Lishizhen medicine and materia medica research,2019,30(1):203-205(in Chinese with English abstract). [百度学术]
王耐,卢文彪,凌秀华,等.牛膝和川牛膝药材的特征提取与图像识别[J].中国药房,2017,28(12):1670-1673.WANG N,LU W B,LING X H,et al.Feature extraction and image recognition of Achyranthes bidentata and Cyathula officinalis[J].China pharmacy,2017,28(12):1670-1673(in Chinese with English abstract). [百度学术]
SUN X,QIAN H.Chinese herbal medicine image recognition and retrieval by convolutional neural network[J/OL].PLoS One,2016,11(6):e0156327[2022-04-20].https://doi.org/10.1371/journal.pone.0024357. [百度学术]
XU Y X,WEN G H,HU Y,et al.Multiple attentional pyramid networks for Chinese herbal recognition[J/OL].Pattern recognition,2021,110:107558[2022-04-20].https://doi.org/10.1016/j.patcog.107558. [百度学术]
WANG Y,DIAO J W,WANG Z,et al.An optimized deep convolutional neural network for Dendrobium classification based on electronic nose[J/OL].Sensors and actuators A:physical,2020,307:111874[2022-04-20].https://doi.org/10.1016/j.sna.2020.111874. [百度学术]
孙鑫,钱会南.基于深度卷积网络的中药饮片图像识别[J].世界科学技术-中医药现代化,2017,19(2):218-222.SUN X,QIAN H N.Identification of the images of Chinese herb slices with deep convolutional network[J].World science and technology/Modernization of traditional Chinese medicine and materia medica,2017,19(2):218-222(in Chinese with English abstract). [百度学术]
ANVARKHAH S,HAJEH-HOSSEINI M K,DAVARI-EDALAT-PANAH A,et al.Medicinal plant seed identification using machine vision[J].Seed science and technology,2013,41(1):107-120. [百度学术]
BISEN D.Deep convolutional neural network based plant species recognition through features of leaf[J].Multimedia tools and applications,2021,80(4):6443-6456. [百度学术]
HUSIN Z,SHAKAFF A Y M,AZIZ A H A,et al.Embedded portable device for herb leaves recognition using image processing techniques and neural network algorithm[J].Computers and electronics in agriculture,2012,89:18-29. [百度学术]
SLADOJEVIC S,ARSENOVIC M,ANDERLA A,et al.Deep neural networks based recognition of plant diseases by leaf image classification[J/OL].Computational intelligence and neuroscience,2016,2016:3289801[2022-04-20].https://doi.org/10.1155/2016/3289801. [百度学术]
TAN M X,LE Q V.EfficientNet:rethinking model scaling for convolutional neural networks[J/OL].arXiv,2019,1905.11946[2022-04-20].https://arxiv.org/abs/1905.11946. [百度学术]
ZOPH B,LE Q V.Neural architecture search with reinforcement learning[J/OL].arXiv,2016,1611.01578[2022-04-20].https://arxiv.org/abs/1611.01578. [百度学术]
BAKER B,GUPTA O,NAIK N,et al.Designing neural network architectures using reinforcement learning[J/OL].arXiv,2016,1611.02167[2022-04-20].https://arxiv.org/abs/1611.02167. [百度学术]
TAN M X,LE Q V.EfficientNetV2:smaller models and faster training[J/OL].arXiv,2021,2104.00298[2022-04-20].https://arxiv.org/abs/2104.00298. [百度学术]
MOULINES E, BACH F.Non-asymptotic analysis of stochastic approximation algorithms for machine learning[J].Advances in neural information processing systems, 2011, 24: 451-459. [百度学术]
KINGMA D P,BA J.Adam:a method for stochastic optimization[J/OL].arXiv,2014,1412.6980[2022-04-20].https://arxiv.org/abs/1412.6980. [百度学术]
SMITH S L, KINDERMANS P J, YING C, et al.Don't decay the learning rate, increase the batch size[J/OL].arXiv,2018,1711.00489[2022-04-20].http://arxiv.org/abs/1711.00489. [百度学术]
ZHANG Z L,SABUNCU M R.Generalized cross entropy loss for training deep neural networks with noisy labels[J/OL].arXiv,2018,1805.07836[2022-04-20].https://arxiv.org/abs/1805.07836. [百度学术]
王天翔.深度学习中梯度下降算法的应用研究[D].金华:浙江师范大学,2019.WANG T X.Applied research on gradient descent algorithm in deep learning[D].Jinhua:Zhejiang Normal University,2019(in Chinese with English abstract). [百度学术]