基于改进DenseNet模型的番茄叶片病害识别方法技术

技术编号:38468451 阅读:4 留言:0更新日期:2023-08-11 14:45
本发明专利技术公开了一种基于改进的DenseNet模型的番茄叶片病害识别方法,用Ghost bottleneck模块替换了原Densenet模型的Bottleneck layer,在保证识别性能的同时大大减少了模型的计算量以及参数量,将第二Ghost bottleneck中的第二个Ghost模块中的卷积核大小为3

【技术实现步骤摘要】
layer均采用三个依次连接的Ghost bottleneck模块进行替换,将这三个依次连接的Ghost bottleneck按照先后顺序分别命名为第一Ghost bottleneck,第二Ghost bottleneck和第三Ghost bottleneck,此时,DensenNet模型中除最后一个Dense Block的第三Ghost bottleneck与其全局平均池化层连接,其中每个Dense Block中的第三Ghost bottleneck均与一个Transition Layer连接;
[0008]二、每三个依次连接的Ghost bottleneck模块中,将第二Ghost bottleneck中的第二个Ghost模块中的卷积核大小为3
×
3的普通卷积替换成卷积核大小为3、填充为2、步长为1、膨胀率为1的空洞卷积,以及第三Ghost bottleneck中的第二个Ghost模块中的卷积核大小为3
×
3的普通卷积替换成卷积核大小为3、填充为3、步长为1、膨胀率为2的空洞卷积,进一步扩大模型的感受野;
[0009]三、每三个依次连接的Ghost bottleneck模块中,在所述的第一Ghost bottleneck和所述的第二Ghost bottleneck之间、所述的第二Ghost bottleneck和所述的第三Ghost bottleneck之间以及所述的第三Ghost bottleneck和Transition Layer或全局平均池化层之间均增加一个CMIFA注意力机制模块,此时所述的第一Ghost bottleneck和所述的第二Ghost bottleneck不再直接连接,而是通过一个CMIFA注意力机制模块连接,所述的第二Ghost bottleneck和所述的第三Ghost bottleneck不再直接连接,而是通过一个CMIFA注意力机制模块连接,所述的第三Ghost bottleneck和Transition Layer或全局平均池化层不再直接连接,而是通过一个CMIFA注意力机制模块连接;
[0010]四、用最大池化层替换了Dense Block中的每个Transition Layer的平均池化层;
[0011]对所述的DenseNet模型进行以上四点改进后得到的LGDNet模型包括1个Feature Block、4个Dense Block、3个Transition Layer、1个全局平均池化层和1个全连接层;4个Dense Block按照先后顺序,Feature Block位于第一个Dense Block之前,第一个Dense Block和第二个Dense Block之间存在一个所述的Transition Layer,第二个Dense Block和第三个Dense Block之间存在一个所述的Transition Layer,第三个Dense Block和第四个Dense Block之间存在一个所述的Transition Layer,全局平均池化层位于第四个Dense Block之后,全连接层位于全局平均池化层之后;所述的Feature Block由一个卷积核大小为7
×
7,填充为3,步长为2的卷积层和一个卷积核大小为3
×
3,步长为2的最大池化层组成,所述的Feature Block用于对输入其内的特征图进行降采样;每个所述的Transition Layer均由一个卷积核大小为1
×
1,填充为0,步长为1的卷积层和一个卷积核大小为3
×
3,填充为1,步长为2的最大池化层组成,将与其连接的Dense Block输出的特征图的尺寸缩小1/2后进行输出,提高计算效率;所述的全局平均池化层用于将与其连接的Dense Block输出的特征图进行降维后得到降维特征图输出,极大地减少了LGDNet模型的参数,并对LGDNet模型在结构上做正则化防止过拟合;所述的全连接层用于将所述的全局平均池化层输出的降维特征图非线性地映射成包含所有特征信息的一维特征向量,进而通过softmax函数将其转化为分类成各个类别的概率,用以获得最终的类别输出。
[0012]S2、准备数据集,具体过程为:
[0013]S2.1、在番茄种植农场拍摄患有病害的N张番茄叶片图像,其中,N为大于2000的整数,然后通过番茄叶片病害专家人工对N张番茄叶片图像对应的病害类型进行确定,得到每张番茄叶片图像的病害类型,即每张番茄叶片图像的标签;将每张番茄叶片图像按照其病
害类型进行贴标签,采用此时得到N张具有标签的番茄叶片病害图像构成番茄叶片病害原始图像数据集;
[0014]S2.2、对番茄叶片病害原始图像数据集进行预处理,具体处理过程如下:
[0015]S2.2.1、采用翻转、随机旋转、亮度变换、高斯模糊、添加搅动、随机裁剪和随机平移这几种方法对番茄叶片病害原始图像数据集中的每张方法番茄叶片图像进行处理,得到番茄叶片病害扩充图像数据集;
[0016]S2.2.2、将番茄叶片病害扩充图像数据集中每张番茄叶片图像的图像分辨率均先缩放为224
×
224,再进行归一化处理,得到番茄叶片病害归一化图像数据集;
[0017]S2.2.3、先将番茄叶片病害归一化图像数据集中每个病害类型的番茄叶片图像按照6:2:2的比例划分为训练集、测试集和验证集,如果某个病害类型的番茄叶片图像的总数量不能被10整除,则将多余的番茄叶片图像放到该病害类型的训练集中;然后将所有病害类型的训练集组合在一起得到整体训练集,将所有病害类型的测试集组合在一起得到整体测试集,将所有病害类型的验证集组合在一起得到整体验证集;
[0018]S3、利用步骤S2得到的整体训练集输入到所述的LGDNet模型,对所述的LGDNet模型进行训练,其中所述的LGDNet模型的初始学习率设置为0.1,优化器动量设置为0.9,权重衰减设置为0.0001,batch_size设置为16,在训练过程中,使用SGDM优化算法优化所述的LGDNet模型的网络权重,使用余弦退火法将学习率动态调整为0.00001,当训练完60个epoch后就结束训练,每个epoch训练完成后就得到一个训练后的LGDNet模型,此时得到60个训练后的LGDNet模型;
[0019]S4、利用S3在每个epoch后训练所得到的LGDNet模型,对步骤S2得到的整体测试集中每个番茄叶片图像分别进行预测识别,并计算其识别准确率,按照识别准确率的大小,保存识别准确率最高的三个训练后的LGDNet模型,如果出现识别准确率最高的训练后的LGDNet模型数量超过三个的情况,则都保存;
[0020]S5、采用S4保存的所有LGDNet模型,对步骤S2得到的整体验证集中每个番茄叶片图像进行预测识别,并计算识别准确率,将其中识别准确率最高的一个的LGDNet模型作为最佳LGDNet模型,如果此时出现多个识别准确率最高的LGDNet模型,则选择在同epoch下整体测试集识别准确率本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于改进的DenseNet模型的番茄叶片病害识别方法,其特征在于包括以下步骤:S1、对DenseNet模型进行如下四点改进,得到LGDNet(Lightweight Ghost Dense Network)模型:一、先将DensenNet模型的每个Dense Block中的多个依次连接的Bottleneck layer均采用三个依次连接的Ghost bottleneck模块进行替换,将这三个依次连接的Ghost bottleneck按照先后顺序分别命名为第一Ghost bottleneck,第二Ghost bottleneck和第三Ghost bottleneck,此时,DensenNet模型中除最后一个Dense Block的第三Ghost bottleneck与其全局平均池化层连接,其中每个Dense Block中的第三Ghost bottleneck均与一个Transition Layer连接;二、每三个依次连接的Ghost bottleneck模块中,将第二Ghost bottleneck中的第二个Ghost模块中的卷积核大小为3
×
3的普通卷积替换成卷积核大小为3、填充为2、步长为1、膨胀率为1的空洞卷积,以及第三Ghost bottleneck中的第二个Ghost模块中的卷积核大小为3
×
3的普通卷积替换成卷积核大小为3、填充为3、步长为1、膨胀率为2的空洞卷积,进一步扩大模型的感受野;三、每三个依次连接的Ghost bottleneck模块中,在所述的第一Ghost bottleneck和所述的第二Ghost bottleneck之间、所述的第二Ghost bottleneck和所述的第三Ghost bottleneck之间以及所述的第三Ghost bottleneck和Transition Layer或全局平均池化层之间均增加一个CMIFA注意力机制模块,此时所述的第一Ghost bottleneck和所述的第二Ghost bottleneck不再直接连接,而是通过一个CMIFA注意力机制模块连接,所述的第二Ghost bottleneck和所述的第三Ghost bottleneck不再直接连接,而是通过一个CMIFA注意力机制模块连接,所述的第三Ghost bottleneck和Transition Layer或全局平均池化层不再直接连接,而是通过一个CMIFA注意力机制模块连接;四、用最大池化层替换了Dense block中的每个Transition Layer的平均池化层;对所述的DenseNet模型进行以上四点改进后得到的LGDNet模型包括1个Feature Block、4个Dense Block、3个Transition Layer、1个全局平均池化层和1个全连接层;4个Dense Block按照先后顺序,Feature Block位于第一个Dense Block之前,第一个Dense Block和第二个Dense Block之间存在一个所述的Transition Layer,第二个Dense Block和第三个Dense Block之间存在一个所述的Transition Layer,第三个Dense Block和第四个Dense Block之间存在一个所述的Transition Layer,全局平均池化层位于第四个Dense Block之后,全连接层位于全局平均池化层之后;所述的Feature Block由一个卷积核大小为7
×
7,填充为3,步长为2的卷积层和一个卷积核大小为3
×
3,步长为2的最大池化层组成,所述的Feature Block用于对输入其内的特征图进行降采样;每个所述的Transition Layer均由一个卷积核大小为1
×
1,填充为0,步长为1的卷积层和一个卷积核大小为3
×
3,填充为1,步长为2的最大池化层组成,将与其连接的Dense Block输出的特征图的尺寸缩小1/2后进行输出,提高计算效率;所述的全局平均池化层用于将与其连接的Dense Block输出的特征图进行降维后得到降维特征图输出,极大地减少了LGDNet模型的参数,并LGDNet模型在结构上做正则化防止过拟合;所述的全连接层用于将所述的全局平均池化层输出的降维特征图非线性地映射成包含所有特征信息的一维特征向量,进而通过softmax函数将
其转化为分类成各个类别的概率,用以获得最终的类别输出。S2、准备数据集,具体过程为:S2.1、在番茄种植农场拍摄患有病害的N张番茄叶片图像,其中,N为大于2000的整数,然后通过番茄叶片病害专家人工对N张番茄叶片图像对应的病害类型进行确定,得到每张番茄叶片图像的病害类型,即每张番茄叶片图像的标签;将每张番茄叶片图像按照其病害类型进行贴标签,采用此时得到N张具有标签的番茄叶片病害图像构成番茄叶片病害原始图像数据集;S2.2、对番茄叶片病害原始图像数据集进行预处理,具体处理过程如下:S2.2.1、采用翻转、随机旋转、亮度变换、高斯模糊、添加搅动、随机裁剪和随机平移这几种方法对番茄叶片病害原始图像数据集中的每张方法番茄叶片图像进行处理,得到番茄叶片病害扩充图像数据集;S2.2.2、将番茄叶片病害扩充图像数据集中每张番茄叶片图像的图像分辨率均先缩放为224
×
224,再进行归一化处理,得到番茄叶片病害归一化图像数据集;S2.2.3、先将番茄叶片病害归一化图像数据集中每个病害类型的番茄叶片图像按照6:2:2的比例划分为训练集、测试集和验证集,如果某个病害类型的番茄叶片图像的总数量不能被10整除,则将多余的番茄叶片图像放到该病害类型的训练集中;然后将所有病害类型的训练集组合在一起得到整体训练集,将所有病害类型的测试集组合在一起得到整体测试集,将所有病害类型的验证集组合在一起得到整体验证集;S3、利用步骤S2得到的整体训练集输入到所述的LGDNet模型,对所述的LGDNet模型进行训练,其中所述的LGDNet模型的初始学习率设置为0.1,优化器动量设置为0.9,权重衰减设置为0.0001,batch_size设置为16,在训练过程中,使用SGDM优化算法优化所述的LGDNet模型的网络权重,使用余弦退火法将学习率动态调整为0.00001,当训练完60个epoch后就结束训练,每个epoch训练完成后就得到一个训练后的LGDNet模型,此时得到60个训练后的LGDNet模型;S4、利用S3在每个epoch后训练所得到的LGDNet模型,对步骤S2得到的整体测试集中每个番茄叶片图像分别进行预测识别,并计算其识别准确率,按照识别准确率的大小,保存识别准确率最高的三个训练后的LGDNet模型,如果出现识别准确率最高的训练后的LGDNet模型数量超过三个的情况,则都保存;S5、采用S4保存的所有LGDNet模型,对步骤S2得到的整体验证集中每个番茄叶片图像进行预测识别,并计算识别准确率,将其中识别准确率最高的一个的LGDNet模型作为最佳LGDNet模型,如果此时出现多个识别准确率最高的LGDNet模型,则选择在同epoch下整体测试集识别准确率最高的LGDNet模型作为最佳LGDNet模型,若此时存在多个在同epoch下整体测试集的识别准确率最高的LGDNet模型,则选择在同epoch下整体训练数据集识别准确率最高的LGDNet模型作为最佳LGDNet模型,若仍存在多个同epoch下整体训练数据集识别准确率最高的LGDNet模型,则随机选择一个LGDNet模型作为最佳LGDNet模型,保存最佳LGDNet模型的网络权重;S6、拍摄待识别的番茄叶片病害图像,并将该番茄叶片病害图片按照步骤S2.2.2相同的方法进行处理后输入到最佳LGDNet模型进行病害识别,最佳LGDNet模型输出其识别结果以及准确度。
2.根据权利要求1所述的基于改进的DenseNet模型的番茄叶片病害识别方法,其特征在于所述的CMIFA注意力机制模块包括第一平均池化层、第二平均池化层、第一最大池化层、第二最大池化层、第一特征融合层、第一卷积层、第二卷积层和第二特征融合层;所述的CMIFA注意力机制模块分别通过所述的第一平均池化层、所述的第二平均池化层、所述的第一最大池化层、所述的第二最大池化层和所述的第二特征融合层连接位于其之前的Ghost bottleneck模块;所述的第一平均池化层的卷积核大小为1
×
w,用于接入与其连接的Ghost bottleneck模块输出的特征图,在宽度维度上进行平均池化的操作,得到通道为c,高为h,宽为1的特征图1输出到第一特征融合层;其中,w为与其连接的Ghost b...

【专利技术属性】
技术研发人员:王奕男谢志军庄黎波
申请(专利权)人:宁波时新生态农业有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1