一种基于多尺度轻量级网络的病虫害识别方法
技术领域
本发明涉及深度学习技术领域,尤其涉及一种基于多尺度轻量级网络的病虫害识别方法。
背景技术
农作物病虫害是造成农业减产的主要原因。真实环境下拍摄的农作物病虫害图像背景复杂,病害区域较小,严重影响识别的鲁棒性和准确性。深度学习不仅具有很强的学习能力,而且可以自动提取图像中丰富、抽象、深层次的语义信息,在很大程度上优于传统的农作物病虫害识别方法。当前基于卷积神经网络的分类模型朝向了更深或更复杂的结构演进。虽然在一定程度上取得不错的效果,但是深层意味着网络模型具有更多的参数,这不仅增加了计算开销,同时对计算机硬件设备要求更高,不利于模型的部署与应用。现有技术专利CN114463651A公开了一种基于超轻量级高效卷积神经网络的农作物病虫害识别方法,使用深度可分离卷积模块进行高效的图片高维特征提取,结合空间金字塔池化层进行局部全局的特征保持,然后将其放入到全连接分类器中进行分类训练。该专利采用由5个基本模块组成的超轻量级高效卷积神经网络结构进行训练,训练的方法特征的提取、表达、传播效果不够优异,而对于训练集的训练十分重要,需要保证训练过程特征提取、表达、传播效果优异,从而保证训练的效果,从而保证识别的准确性,因此需要设计一种训练方法优异的识别方法。
发明内容
为解决上述问题,本发明提供一种基于多尺度轻量级网络的病虫害识别方法,包含有:
步骤1,采集病虫害图像,再进行预处理,之后分为训练集、验证集和测试集;
步骤2,将步骤1得的训练集输入到多尺度轻量级网络进行训练,多尺度轻量级网络包含特征增强层、通道分离(split)-洗牌(shuffle)模块、双残差路径模块、全局注意力上采样模块和分类层;
首先利用特征增强层提取多尺度特征:通过特征增强层最大程度提取病虫害图像特征,其次利用通道分离(split)-洗牌(shuffle)模块提升特征表达能力,接着利用双残差路径模块学习不同尺度空间的判别信息,增强特征传播和梯度传播;然后利用全局注意力上采样模块融合多尺度特征,通过聚集低层次的空间细节,对空间和通道关注点进行编码,重新校准特征通道的显著性;最后把融合的特征送入分类层进行病虫害分类;
步骤3,在步骤2的训练过程中,把步骤1获得的验证集输入到多尺度轻量级网络,对多尺度轻量级网络进行优化和性能评估;
步骤4,重复步骤2和3,当训练结束且损失达到收敛状态时,保留在验证集上性能最好的多尺度轻量级网络;
步骤5,把步骤1得到的测试集输入步骤4获得的训练好的多尺度轻量级网络中,得到最终的病虫害识别结果。
进一步改进在于,所述步骤1包括:
首先利用无人机拍摄不同种类的病虫害图像,去除模糊、失焦、主体丢失的图像后,根据该领域专家知识对剩余图像进行标记;
再对上述标记好的病虫害图像数据集进行预处理,包含图像尺寸调整、灰度变换、图像滤波和图像锐化,并采用图像旋转、缩放、噪声和色彩抖动等数据增强方法进一步扩充图像数据集,之后按照7:2:1的比例将其分为训练集、验证集和测试集;
进一步改进在于,步骤2所述的特征增强层包括卷积层、ReLU激活层、BN层和池化层,所述的利用特征增强层提取多尺度特征的工作方法如下:
首先利用两个大小为1×1×2的三维卷积层提取像素级特征;其次利用两个大小分别为1×5和5×1的卷积核,以较小的计算量获得与单个卷积核尺寸为5×5的等效感受野,来提取区域级特征;依次经过BN层和ReLU激活层,通过残差操作融合像素级特征和区域级特征;再经过大小为1×1的卷积层提取融合特征Ff;然后利用两个大小为2×1和1×2的二维最大池化层提取图像级特征;再依次经过BN层和ReLU激活层,把图像级特征和融合特征Ff通过残差操作融合,经过大小为1×1的卷积层后得到最终输出特征。
进一步改进在于,步骤2所述的通道分离(split)-洗牌(shuffle)模块包括卷积层、扩张卷积层、BN层和ReLU激活层;所述的利用通道分离(split)-洗牌(shuffle)模块提升特征表达能力的工作方法如下:
输入被分成两个分支,各有一半的输入通道;首先,两个分支分别经过大小为1×3和3×1的卷积层,BN层和ReLU激活层;其次,两个分支分别经过大小为1×3和3×1的扩张卷积层,BN层和ReLU层,扩张卷积层用于增加接收域;接着,拼接两个分支的输出特征,把拼接后的特征和输入特征通过残差操作融合后送入ReLU激活层;最后,进行通道洗牌操作,得到输出特征图。
进一步改进在于,步骤2所述的双残差路径块包含三个残差多尺度模块,模块与模块之间采用残差连接的方式,通过将低级特征映射到高级空间,最大限度地收集不同通道之间的鉴别信息,增强特征传播和梯度传播;残差多尺度模块包含PReLU激活层、卷积层和深度卷积层;所述的利用双残差路径模块学习不同尺度空间的判别信息,增强特征传播和梯度传播的工作方法如下:
首先,输入经过PReLU激活层和1×1大小的卷积层;其次,将数据发送到4个并行分支,最左边的分支包含一个3×3大小的卷积层,其他分支包含两个大小为1×1和3×3卷积层和一个扩张速率r分别为2,3和5的深度卷积;然后,前一个分支的输出通过残差操作连接到下一个分支,直至处理完所有分支的输出;最后,将这些特征进行拼接,通过残差操作和原始输入融合,得到输出的特征图。
进一步改进在于,步骤2所述的全局注意力上采样模块包含空间注意模块和通道注意模块,所述的利用全局注意力上采样模块融合多尺度特征的工作方法如下:
首先低级特征经过1×1卷积操作和sigmoid函数得到空间注意图S;其次,高级特征X经过转置卷积和空间注意图S相乘得到加权特征图XS;接着,对加权特征图XS进行全局平均池化操作,经过1×1卷积操作和sigmoid函数得到通道注意图C;最后,通道注意图C和加权特征图XS相乘得到最终的融合特征。
进一步改进在于,步骤2所述的利用分类层进行病虫害分类的工作方法如下:
输入宽度为W,高度为H的特征图,利用卷积操作提取特征描述子,得到W×H个D维特征,即大小为W×H×D的特征图,利用大小为1×1×D×K的卷积核和softmax激活函数得到W×H×K的软分配结果;对W×H×D的特征图经过聚类得到K个聚类中心,聚类中心用向量表示为K×D;然后利用W×H×K的软分配结果去分配特征到聚类中心残差所占的权重;按照聚类中心进行加权求和,得到K×D维的全局图像表示,利用softmax激活函数识别病虫害。
进一步改进在于,步骤3所述的对多尺度轻量级网络进行优化和性能评估的工作方法如下:
目标损失函数选取交叉熵损失函数,让模型预测结果不断逼近真实标签,采用Nesterov动量的随机梯度下降算法作为优化器,把损失函数计算出的差值损失减小,让损失函数的收敛更稳定;性能评价指标采用准确率(precision)、召回率(recall)和F1-score,各指标的计算公式如下:
其中,TP表示正类预测为正类数;FP表示负类预测为正类数;FN表示正类预测为负类数;precision表示正类被预测正确的个数占总的正类预测个数的比例;recall表示正类被预测为正类的个数占总个数的比例;F1-score综合了precision和recall两个指标,最终选取F1-score作为最终评价指标,F1-score越高表明该方法越有效。
本发明的有益效果:本发明的训练方法对采集来的训练集利用特征增强层在图像背景复杂的情况下最大程度提取多尺度特征,利用通道分离-洗牌模块提升特征表达能力,利用双残差路径模块学习不同尺度空间的判别信息,增强特征传播和梯度传播,结合全局注意力上采样模块融合多尺度特征,送入分类层来识别病虫害,整个训练方法能增强病虫害图像特征的表示能力,拥有更少的参数量,在实际应用场景中可以有效提高识别精度。
本发明在训练之前对无人机采集的图像去除模糊、失焦、主体丢失的图像,再进行预处理分为训练集、验证集和测试集,这样进一步保证采集的图像的质量,首先排除掉干扰项。
本发明在训练结束后采用验证集进行对训练的多尺度轻量级网络进行优化和性能评估,保留性能最好的多尺度轻量级网络来对测试集进行测试,这样进一步提升识别准确性。
本发明多尺度轻量级网络的特征增强层采用卷积层、ReLU激活层、BN层和池化层可对图像进行最大程度提取多尺度特征;通道分离(split)-洗牌(shuffle)模块采用卷积层、扩张卷积层、BN层和ReLU激活层提升特征表达能力;双残差路径块采用三个残差多尺度模块:PReLU激活层、卷积层和深度卷积层,来学***台部署应用。
附图说明
图1为本发明的流程图。
图2为本发明的通道分离(split)-洗牌(shuffle)模块的结构图。
图3为本发明的双残差路径块的结构图。
图4为本发明的残差多尺度模块的结构图。
具体实施方式
为了加深对本发明的理解,下面将结合实施例对本发明作进一步的详述,本实施例仅用于解释本发明,并不构成对本发明保护范围的限定。
如图1-4所示,本实施例提供一种基于多尺度轻量级网络的病虫害识别方法,步骤如下:
S1,首先利用无人机拍摄不同种类的病虫害图像,去除模糊、失焦、主体丢失的图像后,根据该领域专家知识对剩余图像进行标记。
S2,对上述标记好的病虫害图像数据集进行预处理,包含图像尺寸调整、灰度变换、图像滤波和图像锐化,并采用图像旋转、缩放、噪声和色彩抖动等数据增强方法进一步扩充图像数据集,之后按照7:2:1的比例将其分为训练集、验证集和测试集。
在训练之前对无人机采集的图像去除模糊、失焦、主体丢失的图像,再进行预处理分为训练集、验证集和测试集,这样进一步保证采集的图像的质量,首先排除掉干扰项。
S3,将S2得的训练集输入到多尺度轻量级网络进行训练,多尺度轻量级网络包含特征增强层、通道分离(split)-洗牌(shuffle)模块、双残差路径模块、全局注意力上采样模块和分类层。
S3.1特征增强层包括卷积层、ReLU激活层、BN层和池化层,首先利用特征增强层提取多尺度特征:通过特征增强层最大程度提取病虫害图像特征:首先利用两个大小为1×1×2的三维卷积层提取像素级特征;其次利用两个大小分别为1×5和5×1的卷积核,以较小的计算量获得与单个卷积核尺寸为5×5的等效感受野,来提取区域级特征;依次经过BN层和ReLU激活层,通过残差操作融合像素级特征和区域级特征;再经过大小为1×1的卷积层提取融合特征Ff;然后利用两个大小为2×1和1×2的二维最大池化层提取图像级特征;再依次经过BN层和ReLU激活层,把图像级特征和融合特征Ff通过残差操作融合,经过大小为1×1的卷积层后得到最终输出特征。
S3.2通道分离(split)-洗牌(shuffle)模块包括卷积层、扩张卷积层、BN层和ReLU激活层;利用通道分离(split)-洗牌(shuffle)模块提升特征表达能力:
输入被分成两个分支,各有一半的输入通道;首先,两个分支分别经过大小为1×3和3×1的卷积层,BN层和ReLU激活层;其次,两个分支分别经过大小为1×3和3×1的扩张卷积层,BN层和ReLU层,扩张卷积层用于增加接收域;接着,拼接两个分支的输出特征,把拼接后的特征和输入特征通过残差操作融合后送入ReLU激活层;最后,进行通道洗牌操作,得到输出特征图。
S3.3所述的双残差路径块包含三个残差多尺度模块,模块与模块之间采用残差连接的方式,通过将低级特征映射到高级空间,最大限度地收集不同通道之间的鉴别信息,增强特征传播和梯度传播;残差多尺度模块包含PReLU激活层、卷积层和深度卷积层;利用双残差路径模块学习不同尺度空间的判别信息,增强特征传播和梯度传播:
首先,输入经过PReLU激活层和1×1大小的卷积层;其次,将数据发送到4个并行分支,最左边的分支包含一个3×3大小的卷积层,其他分支包含两个大小为1×1和3×3卷积层和一个扩张速率r分别为2,3和5的深度卷积;然后,前一个分支的输出通过残差操作连接到下一个分支,直至处理完所有分支的输出;最后,将这些特征进行拼接,通过残差操作和原始输入融合,得到输出的特征图。
S3.4全局注意力上采样模块包含空间注意模块和通道注意模块,利用全局注意力上采样模块融合多尺度特征,通过聚集低层次的空间细节,对空间和通道关注点进行编码,重新校准特征通道的显著性:
首先低级特征经过1×1卷积操作和sigmoid函数得到空间注意图S;其次,高级特征X经过转置卷积和空间注意图S相乘得到加权特征图XS;接着,对加权特征图XS进行全局平均池化操作,经过1×1卷积操作和sigmoid函数得到通道注意图C;最后,通道注意图C和加权特征图XS相乘得到最终的融合特征。
S3.5最后把融合的特征送入分类层进行病虫害分类:
输入宽度为W,高度为H的特征图,利用卷积操作提取特征描述子,得到W×H个D维特征,即大小为W×H×D的特征图,利用大小为1×1×D×K的卷积核和softmax激活函数得到W×H×K的软分配结果;对W×H×D的特征图经过聚类得到K个聚类中心,聚类中心用向量表示为K×D;然后利用W×H×K的软分配结果去分配特征到聚类中心残差所占的权重;按照聚类中心进行加权求和,得到K×D维的全局图像表示,利用softmax激活函数识别病虫害。
以上训练方法的多尺度轻量级网络的特征增强层采用卷积层、ReLU激活层、BN层和池化层可对图像进行最大程度提取多尺度特征;通道分离(split)-洗牌(shuffle)模块采用卷积层、扩张卷积层、BN层和ReLU激活层提升特征表达能力;双残差路径块采用三个残差多尺度模块:PReLU激活层、卷积层和深度卷积层,来学***台部署应用。
S4,在S3的训练过程中,把S2获得的验证集输入到多尺度轻量级网络,对多尺度轻量级网络进行优化和性能评估:
目标损失函数选取交叉熵损失函数,让模型预测结果不断逼近真实标签,采用Nesterov动量的随机梯度下降算法作为优化器,把损失函数计算出的差值损失减小,让损失函数的收敛更稳定;性能评价指标采用准确率(precision)、召回率(recall)和F1-score,各指标的计算公式如下:
其中,TP表示正类预测为正类数;FP表示负类预测为正类数;FN表示正类预测为负类数;precision表示正类被预测正确的个数占总的正类预测个数的比例;recall表示正类被预测为正类的个数占总个数的比例;F1-score综合了precision和recall两个指标,最终选取F1-score作为最终评价指标,F1-score越高表明该方法越有效。
S5,重复S3和S4,当训练结束且损失达到收敛状态时,保留在验证集上性能最好的多尺度轻量级网络;
S6,把S2得到的测试集输入S5获得的训练好的多尺度轻量级网络中,得到最终的病虫害识别结果。
训练结束后采用验证集进行对训练的多尺度轻量级网络进行优化和性能评估,保留性能最好的多尺度轻量级网络来对测试集进行测试,这样进一步提升识别准确性。