CN113610163A - 一种基于知识蒸馏的轻量级苹果叶片病害识别方法 - Google Patents
一种基于知识蒸馏的轻量级苹果叶片病害识别方法 Download PDFInfo
- Publication number
- CN113610163A CN113610163A CN202110908681.1A CN202110908681A CN113610163A CN 113610163 A CN113610163 A CN 113610163A CN 202110908681 A CN202110908681 A CN 202110908681A CN 113610163 A CN113610163 A CN 113610163A
- Authority
- CN
- China
- Prior art keywords
- model
- training
- network
- convolution
- squeezenet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 201000010099 disease Diseases 0.000 title claims abstract description 40
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 title claims abstract description 40
- 238000013140 knowledge distillation Methods 0.000 title claims abstract description 26
- 241000219998 Philenoptera violacea Species 0.000 title claims abstract description 19
- 230000008439 repair process Effects 0.000 claims abstract description 10
- 238000012545 processing Methods 0.000 claims abstract description 6
- 238000012549 training Methods 0.000 claims description 70
- 241000220225 Malus Species 0.000 claims description 11
- 238000012360 testing method Methods 0.000 claims description 11
- 238000012795 verification Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 8
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 6
- 230000006835 compression Effects 0.000 claims description 6
- 238000007906 compression Methods 0.000 claims description 6
- 238000005457 optimization Methods 0.000 claims description 6
- 241000218645 Cedrus Species 0.000 claims description 3
- 206010039509 Scab Diseases 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 3
- 230000036541 health Effects 0.000 claims description 3
- JEIPFZHSYJVQDO-UHFFFAOYSA-N iron(III) oxide Inorganic materials O=[Fe]O[Fe]=O JEIPFZHSYJVQDO-UHFFFAOYSA-N 0.000 claims description 3
- 238000010606 normalization Methods 0.000 claims description 3
- 230000003014 reinforcing effect Effects 0.000 claims description 2
- 238000010792 warming Methods 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 15
- 238000013527 convolutional neural network Methods 0.000 abstract description 8
- 230000002349 favourable effect Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 7
- 241000227653 Lycopersicon Species 0.000 description 5
- 235000007688 Lycopersicon esculentum Nutrition 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 5
- 238000011176 pooling Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000001965 increasing effect Effects 0.000 description 3
- 238000002679 ablation Methods 0.000 description 2
- 235000021016 apples Nutrition 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 244000131316 Panax pseudoginseng Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 241000607479 Yersinia pestis Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000004821 distillation Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002420 orchard Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于知识蒸馏的轻量级苹果叶片病害识别方法,属于图像处理技术领域,包括:数据集处理;改进经典SqueezeNet结构;教师网络指导;低精度教师网络进修;苹果叶片病害识别。本发明所采用的主干网络是一种轻量且高效的卷积神经网络模型,并对其结构进行设计和修改,获取更加轻量化的模型;同时利用知识蒸馏方法在显著减少模型参数同时使模型性能保持在较高的水平,将更加有利于模型部署在移动终端等嵌入式资源有限的设备上,有助于实现对苹果叶片病害的实时准确识别;还提出一种“进修”思想,可以有效解决教师网络指导效果差的问题。
Description
技术领域
本发明涉及图像处理技术领域,具体涉及一种基于知识蒸馏的轻量级苹果叶片病害识别方法。
背景技术
苹果作为一些地区的经济收益来源,果园苹果的产量受到病害影响较大,研究快速而且精准地识别病害类别并防治具有重要意义。
目前卷积神经网络在农业工程相关领域已获得广泛应用,在病害识别方面的应用也很广泛。为了使得网络有更好的识别效果,网络层数也在不断增加,从最初只有七层的AlexNet到16层的VGG16和19层的VGG19,再到后来22层的GoogleNet,更有上千层的ResNet和DenseNet等。这些传统的卷积神经网络虽然识别精度高,但是模型存在大量冗余的参数,模型内存占用较大,不适合部署在移动设备端。
深度卷积神经网络的研究重点是提高精度。对于精度在同一水平的网络,更小的网络结构有更多的优势轻量级网络至少有三个优势:分布式训练需要更少的跨服务器通信;从云导出新模型需要更少的带宽;在FPGA和其他内存有限的硬件情况下更容易部署。相比于那些大的卷积神经网络,轻量级神经网络的主要思想在于设计更加高效的网络。从而使得网络参数以及内存减少的同时不会过多损失网络的识别精度。
申请号为CN202011137314.8的中国发明专利申请公开了一种基于SqueezeNet的农作物叶片病害识别方法。其方案是:对原始数据集进行增强和扩充,划分训练集和测试集;从网络规模小型化和计算过程轻量化的角度出发,对经典SqueezeNet结构进行精简与参数修改,获取4种改进后SqueezeNet模型;训练参数设置,多次迭代后得到训练后的模型;将测试集输入训练后的模型,对多种农作物的不同叶片病害进行分类。该发明提出的改进SqueezeNet模型在显著减少参数内存要求和计算量的同时使模型性能保持在一个较高的水平,较好地平衡了这三项指标,有利于将模型部署在移动终端等嵌入式资源受限设备上,有助于实现对农作物病害的实时准确识别。
申请号为CN202010165554.2中国发明专利申请公开了一种基于轻量化深度神经网络的低成本番茄叶片病害识别方法,包括以下步骤:进行番茄叶片图像数据集的收集,将收集的番茄叶片图像数据集采用数据集扩充方法进行扩充得到扩充图像数据库,进行图像数据集的预处理;构建改进的残差神经网络识别模型,将经过预处理的图像数据集,输入到所述改进的残差神经网络识别模型完成模型的训练;将完成训练的模型对待实际待检测图片进行识别。采用改进的残差神经网络识别模型,利用可分离多尺度卷积module1、module2的配合对番茄叶片实现病害识别,拓展了网络宽度,准确率达到较高水平,占用内存较少,可以实现低性能终端上对番茄病害的实时识别,并可以推广到其他类似应用场景的农作物病害识别。
现有的技术虽然也是设计轻量级网络在病虫害识别方面的应用,但传统卷积神经网络识别系统存在的模型参数量大、内存占用大的不足,为此,提出一种基于知识蒸馏的轻量级苹果叶片病害识别方法。
发明内容
本发明所要解决的技术问题在于:如何解决传统卷积神经网络识别系统存在的模型参数量大、内存占用大的不足以及一些在知识蒸馏中教师网络并不能很好地指导学生网络的问题,提供了一种基于知识蒸馏的轻量级苹果叶片病害识别方法,该方法在经典的SqueezeNet网络模型的基础上进行改进并结合知识蒸馏,使模型具有更少的参数和更小的内存却具有较高的识别精度。
本发明是通过以下技术方案解决上述技术问题的,本发明包括以下步骤:
S1:获取并扩充数据集数量;
S2:对经典SqueezeNet结构进行修改,获取改进的SqueezeNet模型;
S3:利用多个教师网络来指导改进的SqueezeNet模型训练,改进的SqueezeNet模型即为学生网络;
S4:当部分教师网络指导训练后SqueezeNet模型的识别精度小于模型自身训练的识别精度时,再将该部分教师网络作为学生网络,用指导训练后SqueezeNet模型的识别精度高于模型自身训练的精度的其余部分教师网络去指导该作为学生网络的部分教师网络训练,得到进修后的该部分教师网络,再用来指导改进的SqueezeNet模型训练;
S5:将测试集中样本图像输入经过步骤S4中各教师网络指导训练后的改进的SqueezeNet模型中,对样本图像中苹果叶片病害的类别进行识别。
更进一步地,所述步骤S1包括以下子步骤:
S11:选取苹果叶片病害数据集,将原始数据集按7:3比例划分为训练集、验证集,再从验证集中随机挑选304张作为测试集,并将训练集的各类别数据集进行加噪扩充至各类别数据集平衡;
S12:将训练集中的样本尺寸由最初的224×224调整为64×64的图片;
S13:对训练样本进行数据增强处理。
更进一步地,在所述步骤S11中,所述训练集、所述验证集、所述测试集中图像样本均包括4种类别,分别为雪松生锈病、黑腐病、黑星病、健康。
更进一步地,在所述步骤S2中,所述经典SqueezeNet模型包括两个卷积层和八个fire模块,八个所述fire模块依次设置在两个所述卷积层的之间,其中位于首端的卷积层为第一卷积层,采用7×7的卷积核,步长为2,输出通道为96,位于尾端的卷积层为第二卷积层,采用1×1的卷积核,输出通道为1000。
更进一步地,所述步骤S2包括以下子步骤:
S21:将经典SqueezeNet模型的第二卷积层输出通道从1000修改为需要进行分类识别的种类数量,获取改进后的基础模型;
S22:在经典SqueezeNet模型的fire模块中,利用深度可分离卷积代替原本的3×3卷积;
S23:在经典SqueezeNet模型的fire模块中,将原本1×1的卷积利用分组卷积减少参数,并利用通道混洗加强分组后通道之间的交流,得到改进后的fire模块,记为N-Fusion;
S24:将经典SqueezeNet模型中的第一层7×7的卷积换成3×3的转置深度可分离卷积;
S25:在经典SqueezeNet模型的fire模块中,有四个参数,分别为输入通道数、压缩层的输出通道数、扩展层中1×1卷积核的通道数、3×3卷积核的通道数,八个所述fire模块中压缩层和扩展层参数两两相同,将其均舍除一个,并加入批归一化层加快网络收敛,得到改进的SqueezeNet模型。
更进一步地,在所述步骤S24中,转置深度可分离卷积构建过程为先利用组卷积将输入通道利用1×1的卷积升至与通道一致再用组卷积。
更进一步地,所述步骤S3包括以下子步骤:
S31:将训练集输入改进的SqueezeNet模型、多个教师网络及原SqueezeNet模型中进行参数更新,其中除了改进的SqueezeNet模型以及原SqueezeNet网络模型,其他的网络保存最好的训练结果作为预训练模型;
S32:由步骤S25得到改进的SqueezeNet模型作为学生网络,利用多个教师网络来指导学生网络训练;
S33:采用BP算法进行训练,根据网络输出与样本标签的误差更新网络参数,每次采用最小批量法计算网络误差和更新权重,在训练时选用Adam优化算法和学习率预热策略,学习率设置为1e-3,每次迭代输入128个样本。当迭代次数达到200时终止网络的训练。
更进一步地,在所述步骤S33中,所述Adam优化算法的步骤如下:
S331:计算梯度的一阶矩估计和二阶矩估计,计算公式为:
其中,gt为梯度;
S332:对一阶矩估计和二阶矩估计的校正,计算公式为:
其中,mt为梯度的第一时刻平均值,vt为梯度的第二时刻非中心方差值;
S333:进行参数更新,参数更新的最终公式为:
其中,β1设为0.9,β2设为0.9999,ε设为1e-8。
更进一步地,在所述步骤S33中,所述学习率预热策略即在开始训练的时候以小的学习率进行训练,使得网络熟悉数据,随着训练的进行学习率变大,到达设定条件以设置的初始学习率进行训练。
本发明相比现有技术具有以下优点:该基于知识蒸馏的轻量级苹果叶片病害识别方法,所采用的主干网络是一种轻量且高效的卷积神经网络模型,并对其结构进行设计和修改,获取更加轻量化的模型;同时利用知识蒸馏方法在显著减少模型参数同时使模型性能保持在较高的水平,将更加有利于模型部署在移动终端等嵌入式资源有限的设备上,有助于实现对苹果叶片病害的实时准确识别;还提出一种“进修”思想,可以有效解决教师网络指导效果差的问题,值得被推广使用。
附图说明
图1是本发明实施例中一种基于知识蒸馏的轻量级苹果叶片病害识别方法的流程示意图;
图2是本发明实施例中经典SqueezeNet网络结构图;
图3是本发明实施例中经典SqueezeNet中fire模块的结构示意图;
图4a是普通卷积过程示意图;
图4b是分组卷积过程示意图;
图4c是通道混洗过程示意图;
图5是本发明实施例中改进后的fire模块结构示意图;
图6是本发明实施例中改进的转置深度可分离卷积示意图;
图7是本发明实施例中改进的SqueezeNet模型结构图;
图8是本发明实施例中知识蒸馏及教师网络“进修”的流程示意图。
具体实施方式
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
本实施例提供一种技术方案:一种基于知识蒸馏的轻量级苹果叶片病害识别方法,包括以下步骤:
S1:获取并扩充数据集数量;
S2:从减少网络参数和内存大小的角度出发,对经典SqueezeNet结构进行修改,获取改进的SqueezeNet模型;
S3:利用一些大的网络作为教师网络如DenseNet121,GoogleNet,ResNet18、50、101,Mobilenetv2等来指导修改后的SqueezeNet网络训练;
S4:部分教师网络并不能很好地指导学生网络(甚至不如学生网络自己训练的精度高),此处提出一种思想:将指导效果不理想的教师网络送去“进修”后指导学生网络训练。
在本实施例中,所述步骤S1包括以下子步骤:
S11:在PlantVillage数据集中选取苹果叶片病害数据集,将原始数据集按7:3比例划分为训练集、验证集,再从验证集中随机挑选304张作为测试集,并将训练集的各类别数据集进行加噪扩充至各类别数据集平衡;
S12:在所述步骤S11中,所述训练集、验证集和所述测试集中图像样本均包括4种类别,分别为雪松生锈病,黑腐病,黑星病,健康;并将训练集中的样本尺寸由最初的224×224调整为64×64的图片;
S13:对训练样本进行在线的翻转、平移、增加亮度、裁剪等一系列数据增强处理。
在本实施例中,所述步骤S2包括以下子步骤:
S21:将经典SqueezeNet模型的卷积层10输出通道从1000修改为需要进行分类识别的种类数量,获取改进后的基础模型;
S211:经典SqueezeNet模型结构包含两个普通的卷积层和8个fire模块;
S2111:如图2所示,输入图片大小为224×224像素,第一个卷积层使用7×7的卷积核,步长为2,输出通道为64;通过第一个卷积层后,特征图大小为112×112像素;经典SqueezeNet模型结构中共有三个最大池化层分别表示为A、B和C,每通过一个池化层,图像的大小就变为原来的一半以减少计算量;最大池化层A、B之间有三个fire模块,B和C之间有4个fire模块,C之后有一个fire模块;卷积层采用10的输出采用全局平均池化,并通过softmax分类器计算得到1000种分类的概率;其中全局平均池化是指将每个输出通道特征图的所有值融合为一个平局值,使得该层输出特征维数等于该层的输出通道数;
S2112:如图3所示,SqueezeNet的核心在于fire模块,它包括两部分,分别是squeeze层和expand层。通常定义一个fire模块为fire(M,N,E1,E2),其中M代表fire模块的输入通道数,N代表squeeze层的输出通道数,E1和E2分别代表expand层中1×1卷积核和3×3卷积核的输出通道数目;squeeze层是一个卷积核为1×1的卷积层,它把输入通道从M变到N,通常N小于M,squeeze层主要用来对输入通道进行压缩,以减少网络的计算量;expand层是包含1×1和3×3两种卷积核的卷积层,1×1卷积核、3×3卷积核分别将输入通道从N扩张成E1与E2,最后把1×1和3×3得到的特征图进行拼接,得到输出通道为(E1+E2)的特征图;
S22:在fire模块中3×3的卷积存在大量的参数,利用深度可分离卷积代替普通卷积,大量减少参数;
S23:虽然fire模块中1×1的卷积核参数比3×3的卷积核少,但是参数量在每层堆叠下,参数量也不容小觑,我们将1×1的卷积利用分组卷积减少参数,但是相应的精度也有降低,此处利用通道混洗加强分组后通道之间的交流,弥补精度上的损失(如图4所示);
经过以上改进后构成新的fire模块,我们将其命名为N-Fusion(如图5所示);
S24:原模型中的第一层7×7的卷积换成3×3的转置深度可分离卷积(在图像数据集不是很复杂的情况下,小卷积核也可以提取相应的特征);
S241:上述步骤S24中的转置深度可分离卷积构建过程如下:
普通的深度可分离卷积是先经过组卷积(将n通道分为n组进行卷积),再通过点卷积将输入通道数升至与输出通道数一致;
我们倒置的深度可分离卷积是先利用组卷积将输入通道利用1×1的卷积升至与通道一致再用组卷积,它在输入的时候比传统的深度可分离卷积具有更多的通道,能在网络第一层获取更大的特征图;
在本实施例中,步骤S24中的转置深度可分离卷积如图6所示,我们以本发明改进的卷积为例,输入通道是3,输出通道是96,卷积核大小是3×3;我们先利用1×1的卷积将输入通道升至与输出通道一致,再利用深度卷积在96个通道中进行深度卷积,卷积核为3×3;
S25:在fire模块中,有四个参数,有四个参数,分别为输入通道数、压缩层的输出通道数、扩展层中1×1卷积核的通道数、3×3卷积核的通道数(扩展层中1×1卷积核与3×3卷积核的通道数按1:1分配),8个fire模块中压缩层和扩展层参数两两相同,我们将其都舍除一个,网络模型大大减小,并加入批归一化层加快网络收敛。由此获得改进后的模型,即后面的学生网络(如图7所示)。
在本实施例中,所述步骤S3包括以下子步骤:
S31:将训练集输入包括修改后的SqueezeNet网络等13个网络模型,进行参数更新,其中除了学生网络以及原SqueezeNet网络模型,其他的网络保存最好的训练结果作为预训练模型。
S32:由上面步骤S25改进的SqueezeNet作为学生网络,利用一些大的网络作为教师网络如DenseNet121,GoogleNet,ResNet18、50、101,Mobilenetv2等11个教师网络来指导学生网络训练(如图8所示)。
S33:采用BP算法训练苹果叶片病害识别器(即经过各教师网络指导训练后得到的改进的SqueezeNet模型),根据网络输出与样本标签的误差更新网络参数,每次采用最小批量法计算网络误差和更新权重,在训练时选用Adam优化算法和学习率预热策略,学习率设置为1e-3,每次迭代输入128个样本;当迭代次数达到200时终止网络的训练。
在本实施例中,上述Adam优化算法的步骤如下:
(1)计算梯度的一阶矩估计和二阶矩估计,计算公式为:
其中,gt为梯度;
(2)对一阶矩估计和二阶矩估计的校正,计算公式为:
其中,mt为梯度的第一时刻平均值,vt为梯度的第二时刻非中心方差值;
(3)参数更新的最终公式为,计算公式为:
其中,β1设为0.9,β2设为0.9999,ε设为1e-8。
在本实施例中,上述的学习率预热策略是解决学习率一下达到设定值导致模型训练一段时间后loss不再下降的问题,一般用于解决难以收敛的问题,学习率预热(warmup)顾名思义就是先热身,在刚刚开始训练的时候以很小的学习率进行训练,使得网络熟悉数据,随着训练的进行学习率慢慢变大,到了一定程度(可以自己设定),以设置的初始学习率进行训练。(比如使用该策略时,会先从一个小的学习率进行训练(0.001),迭代训练60次时将学习率调整到0.01开始训练。)
在本实施例中,训练时设置的初始学习率为1e-3,在第一步开始进行预热,慢慢地达到初始学习率。
在本实施例中,所述步骤S4包括以下子步骤:
S41:上述教师网络在指导学生训练时,有个别网络指导效果并不理想,甚至不如学生网络自训练的效果,于是我们将这些网络送去指导效果好的网络去“进修”,即效果差的教师网络作为学生网络,用指导效果优秀的网络作为教师网络去训练,这时得到的学生网络即是“进修”回来的教师网络,再用来指导我们改进的SqueezeNet网络训练。
S411:本实施例中采用的是Resnext29作为“进修”过程的老师,我们设置蒸馏的温度T=20,参数α为0.95。
S4111:S411中的教师网络可以取任意指导效果优秀的网络,在提高了指导效果不好的老师的结果,再去指导我们的学生网络。
其中,知识蒸馏的温度T,就是在softmax操作之前统一除以的参数,如果T取1,就是传统的softmax,输出各个类别的概率;T越接近于0,则输出类别的概率则会接近1,其他值会接近0;如果T越大,则输出的结果越平缓,起到一个标签平滑的作用,会关注那些概率不高的类别,而不是直接将概率不高的类别概率归为0。zi是第i节点的输出,zj是第j个节点输出,j取值从1到分类的类别数,通过softmax将多分类的输出值转换在0到1之间。
S4112:进一步地,参数α是平衡普通的交叉熵损失函数和KL散度损失函数(衡量学生网络输出和教师网络输出分布的差距)。
表1分组卷积的分组数对精度的影响
分组数(Groups) | 参数量 | 计算量(MFlops) | 准确率(Acc) |
2 | 74,116 | 27.49 | 98.6842% |
4 | 55,812 | 22.71 | 98.6842% |
8 | 46,660 | 20.32 | 98.6842% |
16 | 42,084 | 19.12 | 98.3553% |
737,476 | 50.1 | 97.3684% |
为了讨论在进行组卷积时到底分组数取多少,我们进行了实验讨论,取的组数需要能整除通道数(空白区域是经典的SqueezeNet网络),从表1可以看出,我们改进后的SqueezeNet具有更少的参数量和计算量(MFlops),甚至比原网络精度更高,在组数达到16时,精度开始有下降趋势,于是,我们取组数为8作为学生网络的分组组数。
表2消融实验
为了证明我们方法的有效性,我们进行了消融实验如表2所示,由表可见,我们加入分组卷积和深度可分离卷积可以大量减少参数;通道混洗可以加强通道间的交流,保证分多组卷积之后的信息交流;我们的3×3倒置深度可分离卷积(Re-DW)的效果比原来的7×7的参数更少效果更好。我们最终结合三种改进得到参数量和精度平衡的结果,并以此作为基础学生网络。
表3改进的SqueezeNet网络在知识蒸馏指导的效果以及“进修”后指导的结果
从表3可以看出,我们改进的SqueezeNet网络的参数量只有0.046660M,识别精度为98.6842%,经过知识蒸馏后,识别精度都有相应提升,最高可达到99.3421%,即304张测试集中只有2张被识别错误;但是,如ResNet50、101、18、VGG19、AlexNet作为教师网络时,指导学生网络训练识别的精度不如学生网络自训练的结果好,这可能是教师网络在本实验数据集上精度不高导致无法很好地指导学生网络训练,在本实施例中将指导效果不好的教师网络送去“进修”,在“进修”以后再指导学生网络训练,结果证明该方法可以提升识别精度。
综上所述,上述实施例的基于知识蒸馏的轻量级苹果叶片病害识别方法,所采用的主干网络是一种轻量且高效的卷积神经网络模型,并对其结构进行设计和修改,获取更加轻量化的模型;同时利用知识蒸馏方法在显著减少模型参数同时使模型性能保持在较高的水平,将更加有利于模型部署在移动终端等嵌入式资源有限的设备上,有助于实现对苹果叶片病害的实时准确识别;还提出一种“进修”思想,可以有效解决教师网络指导效果差的问题,值得被推广使用。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (9)
1.一种基于知识蒸馏的轻量级苹果叶片病害识别方法,其特征在于,包括以下步骤:
S1:获取并扩充数据集数量;
S2:对经典SqueezeNet结构进行修改,获取改进的SqueezeNet模型;
S3:利用多个教师网络来指导改进的SqueezeNet模型训练,改进的SqueezeNet模型即为学生网络;
S4:当部分教师网络指导训练后SqueezeNet模型的识别精度小于模型自身训练的识别精度时,再将该部分教师网络作为学生网络,用指导训练后SqueezeNet模型的识别精度高于模型自身训练的精度的其余部分教师网络去指导该作为学生网络的部分教师网络训练,得到进修后的该部分教师网络,再用来指导改进的SqueezeNet模型训练;
S5:将测试集中样本图像输入经过步骤S4中各教师网络指导训练后的改进的SqueezeNet模型中,对样本图像中苹果叶片病害的类别进行识别。
2.根据权利要求1所述的一种基于知识蒸馏的轻量级苹果叶片病害识别方法,其特征在于:所述步骤S1包括以下子步骤:
S11:选取苹果叶片病害数据集,将原始数据集按7:3比例划分为训练集、验证集,再从验证集中随机挑选304张作为测试集,并将训练集的各类别数据集进行加噪扩充至各类别数据集平衡;
S12:将训练集中的样本尺寸由最初的224×224调整为64×64的图片;
S13:对训练样本进行数据增强处理。
3.根据权利要求2所述的一种基于知识蒸馏的轻量级苹果叶片病害识别方法,其特征在于:在所述步骤S11中,所述训练集、所述验证集、所述测试集中图像样本均包括4种类别,分别为雪松生锈病、黑腐病、黑星病、健康。
4.根据权利要求1所述的一种基于知识蒸馏的轻量级苹果叶片病害识别方法,其特征在于:在所述步骤S2中,所述经典SqueezeNet模型包括两个卷积层和八个fire模块,八个所述fire模块依次设置在两个所述卷积层的之间,其中位于首端的卷积层为第一卷积层,采用7×7的卷积核,步长为2,输出通道为96,位于尾端的卷积层为第二卷积层,采用1×1的卷积核,输出通道为1000。
5.根据权利要求4所述的一种基于知识蒸馏的轻量级苹果叶片病害识别方法,其特征在于:所述步骤S2包括以下子步骤:
S21:将经典SqueezeNet模型的第二卷积层输出通道从1000修改为需要进行分类识别的种类数量,获取改进后的基础模型;
S22:在经典SqueezeNet模型的fire模块中,利用深度可分离卷积代替原本的3×3卷积;
S23:在经典SqueezeNet模型的fire模块中,将原本1×1的卷积利用分组卷积减少参数,并利用通道混洗加强分组后通道之间的交流,得到改进后的fire模块,记为N-Fusion;
S24:将经典SqueezeNet模型中的第一层7×7的卷积换成3×3的转置深度可分离卷积;
S25:在经典SqueezeNet模型的fire模块中,有四个参数,分别为输入通道数、压缩层的输出通道数、扩展层中1×1卷积核的通道数、3×3卷积核的通道数,八个所述fire模块中压缩层和扩展层参数两两相同,将其均舍除一个,并加入批归一化层加快网络收敛,得到改进的SqueezeNet模型。
6.根据权利要求5所述的一种基于知识蒸馏的轻量级苹果叶片病害识别方法,其特征在于:在所述步骤S24中,转置深度可分离卷积构建过程为先利用组卷积将输入通道利用1×1的卷积升至与通道一致再用组卷积。
7.根据权利要求6所述的一种基于知识蒸馏的轻量级苹果叶片病害识别方法,其特征在于:所述步骤S3包括以下子步骤:
S31:将训练集输入改进的SqueezeNet模型、多个教师网络及原SqueezeNet模型中进行参数更新,其中除了改进的SqueezeNet模型以及原SqueezeNet网络模型,其他的网络保存最好的训练结果作为预训练模型;
S32:由步骤S25得到改进的SqueezeNet模型作为学生网络,利用多个教师网络来指导学生网络训练;
S33:采用BP算法进行训练,根据网络输出与样本标签的误差更新网络参数,每次采用最小批量法计算网络误差和更新权重,在训练时选用Adam优化算法和学习率预热策略,学习率设置为1e-3,每次迭代输入128个样本,当迭代次数达到设定次数时终止网络的训练。
9.根据权利要求8所述的一种基于知识蒸馏的轻量级苹果叶片病害识别方法,其特征在于:在所述步骤S33中,所述学习率预热策略即在开始训练的时候以小的学习率进行训练,使得网络熟悉数据,随着训练的进行学习率变大,到达设定条件以设置的初始学习率进行训练。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110908681.1A CN113610163A (zh) | 2021-08-09 | 2021-08-09 | 一种基于知识蒸馏的轻量级苹果叶片病害识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110908681.1A CN113610163A (zh) | 2021-08-09 | 2021-08-09 | 一种基于知识蒸馏的轻量级苹果叶片病害识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113610163A true CN113610163A (zh) | 2021-11-05 |
Family
ID=78307695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110908681.1A Pending CN113610163A (zh) | 2021-08-09 | 2021-08-09 | 一种基于知识蒸馏的轻量级苹果叶片病害识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113610163A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114419366A (zh) * | 2021-12-30 | 2022-04-29 | 福州大学 | 基于深度学习的花椒粉掺假快速识别方法及系统 |
CN114596468A (zh) * | 2022-03-14 | 2022-06-07 | 瀚云科技有限公司 | 病虫害识别及模型训练方法、装置、电子设备及存储介质 |
CN114722886A (zh) * | 2022-06-10 | 2022-07-08 | 四川大学 | 基于知识蒸馏的曲轴内部缺陷检测方法及检测设备 |
CN116894983A (zh) * | 2023-09-05 | 2023-10-17 | 云南瀚哲科技有限公司 | 基于知识蒸馏的细粒度农业病虫害图像识别方法及系统 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110378435A (zh) * | 2019-07-25 | 2019-10-25 | 安徽工业大学 | 一种基于卷积神经网络的苹果叶片病害识别的方法 |
CN111259900A (zh) * | 2020-01-13 | 2020-06-09 | 河海大学 | 一种卫星遥感图像的语义分割方法 |
CN111275677A (zh) * | 2020-01-17 | 2020-06-12 | 哈尔滨工业大学 | 一种基于卷积神经网络的天花板震害的识别方法 |
CN112308825A (zh) * | 2020-10-22 | 2021-02-02 | 江苏大学 | 一种基于SqueezeNet的农作物叶片病害识别方法 |
CN112364986A (zh) * | 2020-11-26 | 2021-02-12 | 南京医科大学 | 一种对于梯度变化敏感的卷积神经网络模型 |
CN112488167A (zh) * | 2020-11-19 | 2021-03-12 | 安徽理工大学 | 基于改进的EfficientNet网络的垃圾辨识分类系统 |
CN112906643A (zh) * | 2021-03-22 | 2021-06-04 | 高新兴科技集团股份有限公司 | 车牌号码识别方法及装置 |
KR102277810B1 (ko) * | 2020-11-03 | 2021-07-15 | 아주대학교산학협력단 | 지식 증류를 이용한 학생 네트워크 학습용 시스템 및 학습 방법 |
CN113159300A (zh) * | 2021-05-15 | 2021-07-23 | 南京逸智网络空间技术创新研究院有限公司 | 图像检测神经网络模型及其训练方法、图像检测方法 |
CN113158865A (zh) * | 2021-04-14 | 2021-07-23 | 杭州电子科技大学 | 一种基于EfficientDet的小麦麦穗检测方法 |
CN115294634A (zh) * | 2022-08-09 | 2022-11-04 | 深圳大学 | 基于边缘计算的口罩佩戴检测方法及系统 |
-
2021
- 2021-08-09 CN CN202110908681.1A patent/CN113610163A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110378435A (zh) * | 2019-07-25 | 2019-10-25 | 安徽工业大学 | 一种基于卷积神经网络的苹果叶片病害识别的方法 |
CN111259900A (zh) * | 2020-01-13 | 2020-06-09 | 河海大学 | 一种卫星遥感图像的语义分割方法 |
CN111275677A (zh) * | 2020-01-17 | 2020-06-12 | 哈尔滨工业大学 | 一种基于卷积神经网络的天花板震害的识别方法 |
CN112308825A (zh) * | 2020-10-22 | 2021-02-02 | 江苏大学 | 一种基于SqueezeNet的农作物叶片病害识别方法 |
KR102277810B1 (ko) * | 2020-11-03 | 2021-07-15 | 아주대학교산학협력단 | 지식 증류를 이용한 학생 네트워크 학습용 시스템 및 학습 방법 |
CN112488167A (zh) * | 2020-11-19 | 2021-03-12 | 安徽理工大学 | 基于改进的EfficientNet网络的垃圾辨识分类系统 |
CN112364986A (zh) * | 2020-11-26 | 2021-02-12 | 南京医科大学 | 一种对于梯度变化敏感的卷积神经网络模型 |
CN112906643A (zh) * | 2021-03-22 | 2021-06-04 | 高新兴科技集团股份有限公司 | 车牌号码识别方法及装置 |
CN113158865A (zh) * | 2021-04-14 | 2021-07-23 | 杭州电子科技大学 | 一种基于EfficientDet的小麦麦穗检测方法 |
CN113159300A (zh) * | 2021-05-15 | 2021-07-23 | 南京逸智网络空间技术创新研究院有限公司 | 图像检测神经网络模型及其训练方法、图像检测方法 |
CN115294634A (zh) * | 2022-08-09 | 2022-11-04 | 深圳大学 | 基于边缘计算的口罩佩戴检测方法及系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114419366A (zh) * | 2021-12-30 | 2022-04-29 | 福州大学 | 基于深度学习的花椒粉掺假快速识别方法及系统 |
CN114596468A (zh) * | 2022-03-14 | 2022-06-07 | 瀚云科技有限公司 | 病虫害识别及模型训练方法、装置、电子设备及存储介质 |
CN114722886A (zh) * | 2022-06-10 | 2022-07-08 | 四川大学 | 基于知识蒸馏的曲轴内部缺陷检测方法及检测设备 |
CN116894983A (zh) * | 2023-09-05 | 2023-10-17 | 云南瀚哲科技有限公司 | 基于知识蒸馏的细粒度农业病虫害图像识别方法及系统 |
CN116894983B (zh) * | 2023-09-05 | 2023-11-21 | 云南瀚哲科技有限公司 | 基于知识蒸馏的细粒度农业病虫害图像识别方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113610163A (zh) | 一种基于知识蒸馏的轻量级苹果叶片病害识别方法 | |
CN110188227B (zh) | 一种基于深度学习与低秩矩阵优化的哈希图像检索方法 | |
CN110379506B (zh) | 针对心电图数据使用二值化神经网络的心律不齐检测方法 | |
CN108681752B (zh) | 一种基于深度学习的图像场景标注方法 | |
CN112328767B (zh) | 基于bert模型和比较聚合框架的问答匹配方法 | |
CN111079795B (zh) | 基于cnn的分片多尺度特征融合的图像分类方法 | |
US11804074B2 (en) | Method for recognizing facial expressions based on adversarial elimination | |
CN107798385B (zh) | 基于块张量分解的循环神经网络稀疏连接方法 | |
CN111696101A (zh) | 一种基于SE-Inception的轻量级茄科病害识别方法 | |
CN107729999A (zh) | 考虑矩阵相关性的深度神经网络压缩方法 | |
CN111611924B (zh) | 一种基于深度迁移学习模型的蘑菇识别方法 | |
CN109241995B (zh) | 一种基于改进型ArcFace损失函数的图像识别方法 | |
CN110852393A (zh) | 一种遥感图像的分割方法及系统 | |
CN110097177A (zh) | 一种基于伪孪生网络的网络剪枝方法 | |
CN112862015A (zh) | 一种基于超图神经网络的论文分类方法及系统 | |
CN112686376A (zh) | 一种基于时序图神经网络的节点表示方法及增量学习方法 | |
CN111507224B (zh) | 一种基于网络剪枝的cnn人脸表情识别显著性分析方法 | |
CN113449671A (zh) | 一种多尺度多特征融合的行人重识别方法及装置 | |
CN110120231B (zh) | 基于自适应半监督非负矩阵分解的跨语料情感识别方法 | |
CN117095391A (zh) | 一种轻量化的苹果目标检测方法 | |
CN109948589B (zh) | 基于量子深度信念网络的人脸表情识别方法 | |
CN113516097A (zh) | 一种基于改进EfficentNet-V2的植物叶片疾病识别方法 | |
CN107133348A (zh) | 大规模图片集中基于语义一致性的近似搜索方法 | |
CN116824366A (zh) | 一种基于局部选择和特征交互的农作物病害识别方法 | |
CN115457269A (zh) | 一种基于改进DenseNAS的语义分割方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |