掌桥专利:专业的专利平台
掌桥专利
首页

一种高效精准的草地贪夜蛾的图像识别方法

文献发布时间:2023-06-19 18:37:28


一种高效精准的草地贪夜蛾的图像识别方法

技术领域

本发明涉及虫害图像识别的技术领域,特别是一种高效精准的草地贪夜蛾的图像识别方法。

背景技术

草地贪夜蛾种群主要危害玉米,玉米田的主要害虫有斜纹夜蛾

目前主流的分类模型有VGG、ResNet、DenseNet等。为了对目标实现准确定位,YOLO、SSD、Faster-RCNN等传统目标检测算法也较多应用于害虫识别,但这些目标检测模型的训练需要大量人工标记,对硬件和算力的要求也较高,无法满足低成本、实时性及适用于智能手机轻量化的需求。此外,玉米田间的害虫识别通常只需对单目标进行拍照识别,拍摄图像中的无关背景严重影响识别精度,因此,如何低成本地解决精准定位虫体、排除无关背景以提高识别精度是值得研究的问题。

2019年9月第41卷第9期的西南大学学报公开了于业达、顾偌铖、唐运林、韦俊宏、潘国庆和陈通的题目为《基于深度学习的草地贪夜蛾自动识别》的文章,该方法采集了不同地域、不同生长区间的草地贪夜蛾及相似物种图片,建立了一个草地贪夜蛾识别数据库,利用基于特征融合的深度学习算法,建立了一个三通道T深度卷积神经网络,在现有数据集上的平局识别率达到97%,为草地贪夜蛾的智能识别与防控工作提供了技术支撑。该方法的缺点是样本量小,识别种类少,实际拍摄时难以获取清晰目标虫体以进行准确分类,使得模型适用性不足。且虫体特征复杂多变,不一定能采集三通道的有效信息供模型分类。

发明内容

为了解决上述的技术问题,本发明提出了一种高效精准的草地贪夜蛾的图像识别方法,设计了一种基于EfficientNet的二阶段分类模型MaizePestNet,可通过引入梯度类激活热力图Grad-CAM算法进行目标定位降低背景干扰、提高分类精度,并通过知识蒸馏方法压缩模型的参数和体积。

本发明提供一种高效精准的草地贪夜蛾的图像识别方法,包括获取带有幼虫或成虫的图像,还包括以下步骤:

步骤1:建立包含草地贪夜蛾在内的玉米田间常见害虫的图像数据库;

步骤2:基于优化分类模型和目标定位建立完整的二阶段深度卷积神经网络识别模型;

步骤3:对所述二阶段深度卷积神经网络识别模型进行训练;

步骤4:将所述带有幼虫或成虫的图像输入到训练好的所述二阶段深度卷积神经网络识别模型中,并输出识别结果。

优选的是,所述优化分类模型的方法包括以下子步骤:

步骤201:提取分类模型中影响模型精度的要素;

步骤202:使用不同的系数计算得到基础模型和不同尺度的模型;

步骤203:采用知识蒸馏方法,将8个不同尺度模型中精度最高的模型作为教师模型,用于训练EfficientNet-B0模型,从而实现EfficientNet-B0模型达到最优分类精度,得到优化分类模型。

在上述任一方案中优选的是,影响模型精度的所述要素包括网络深度

其中,

在上述任一方案中优选的是,匹配不同系数以实现模型的最高分类精度。

在上述任一方案中优选的是,所述基础模型的计算方法为固定公式中的

在上述任一方案中优选的是,所述不同尺度的模型的计算方法为固定

在上述任一方案中优选的是,所述完整的二阶段深度卷积神经网络识别模型包括两个阶段:

第一阶段:进行目标定位;

第二阶段:根据定位框对原始图像进行等比例反向裁剪并再次输入EfficientNet-B0网络进行精细分类。

在上述任一方案中优选的是,所述目标定位的方法包括以下子步骤:

步骤211:使用Grad-cam算法求出目标在图像中的激活热图,从预测类别对特征图反向求梯度权重;

步骤212:将所述梯度权重分别与第

步骤213:进行凸多边形检测以获取目标区域。

在上述任一方案中优选的是,所述梯度权重的计算公式为

其中,

在上述任一方案中优选的是,所述激活热力图的计算公式为

其中,

在上述任一方案中优选的是,所述步骤23包括以下子步骤:

步骤2131:对所述激活热力图做二值化处理;

步骤2132:进行最大连通域提取,得出二进制图像中单个对象的凸包图像;

步骤2133:根据原始图像与压缩图像之间的长宽比例,计算出原始图像的裁剪区域。

在上述任一方案中优选的是,在所述步骤3中,训练分类模型时,采用加权的交叉熵损失函数,按照训练图像样本数量的倒数计算类别权重,公式为

其中,

在上述任一方案中优选的是,在所述步骤3中,所述优化蒸馏分类模型的损失函数为

其中,

本发明提出了一种高效精准的草地贪夜蛾的图像识别方法,采用知识蒸馏技术进一步提升EfficientNet模型的分类精度,同时具有更精简的体积和更快的推理速度,无需对数据集进行人工标注,为草地贪夜蛾的辨识提供了一种精准、高效、便捷的方法,为草地贪夜蛾入侵地区玉米害虫的监测预警和防治工作提供了科技支撑。

附图说明

图1为按照本发明的高效精准的草地贪夜蛾的图像识别方法的一优选实施例的流程图。

图2为按照本发明的高效精准的草地贪夜蛾的图像识别方法的EfficientNet-B0网络的一实施例的结构示意图。

图3为按照本发明的高效精准的草地贪夜蛾的图像识别方法的卷积Block注意力机制的一实施例的结构示意图。

图4为按照本发明的高效精准的草地贪夜蛾的图像识别方法的一优选实施例的训练流程图。

图5为按照本发明的高效精准的草地贪夜蛾的图像识别方法的二阶段深度卷积神经网络识别模型的一实施例的结构示意图。

图6为按照本发明的高效精准的草地贪夜蛾的图像识别方法的使用Grad-CAM算法进行定位的一实施例的幼虫识别结果示意图。

图7为按照本发明的高效精准的草地贪夜蛾的图像识别方法的使用Grad-CAM算法进行定位的一实施例的成虫识别结果示意图。

具体实施方式

下面结合附图和具体的实施例对本发明做进一步的阐述。

实施例一

如图1所示,执行步骤100,获取带有幼虫或成虫的图像。

执行步骤110,建立包含草地贪夜蛾在内的玉米田间常见害虫的图像数据库。

执行步骤120,基于优化分类模型和目标定位建立完整的二阶段深度卷积神经网络识别模型。完整的二阶段深度卷积神经网络识别模型包括两个阶段:

第一阶段:进行目标定位;

第二阶段:根据定位框对原始图像进行等比例反向裁剪并再次输入EfficientNet-B0网络进行精细分类。

其中,优化分类模型的方法包括以下子步骤:

执行步骤1201,提取分类模型中影响模型精度的要素,要素包括网络深度d、网络宽度w和输入图像分辨率r,公式为

其中,

执行步骤1202,使用不同的系数计算得到基础模型和不同尺度的模型,匹配不同系数以实现模型的最高分类精度。基础模型的计算方法为固定公式中的

执行步骤1203,采用知识蒸馏方法,将8个不同尺度模型中精度最高的模型作为教师模型,用于训练EfficientNet-B0模型,从而实现EfficientNet-B0模型达到最优分类精度,得到优化分类模型。

目标定位的方法包括以下子步骤:

执行步骤1211,使用Grad-cam算法求出目标在图像中的激活热图,从预测类别对特征图反向求梯度权重,梯度权重的计算公式为

其中,

执行步骤1212,将所述梯度权重分别与第

其中,

执行步骤1213,进行凸多边形检测以获取目标区域,包括以下子步骤:

执行步骤12131,对所述激活热力图做二值化处理;

执行步骤12132,进行最大连通域提取,得出二进制图像中单个对象的凸包图像;

执行步骤12133,根据原始图像与压缩图像之间的长宽比例,计算出原始图像的裁剪区域。

执行步骤130,对所述二阶段深度卷积神经网络识别模型进行训练。训练分类模型时,采用加权的交叉熵损失函数,按照训练图像样本数量的倒数计算类别权重,公式为

其中,

优化蒸馏分类模型的损失函数为

其中,

执行步骤140,将所述带有幼虫或成虫的图像输入到训练好的所述二阶段深度卷积神经网络识别模型中,并输出识别结果。

实施例二

一种高效精准的草地贪夜蛾的图像识别方法,针对玉米田草地贪夜蛾识别特点和需求,从优化深度卷积神经网络的结构和减少图像背景干扰两个方面进行模型构建。首先,建立了一个包含草地贪夜蛾在内的36种玉米田间常见害虫的图像数据库,含成虫和幼虫两种虫态。其次,设计基于EfficientNet-B0的二阶段分类模型MaizePestNet,使用知识蒸馏技术提升EfficientNet-B0模型的分类精度,通过梯度类激活热力图Grad-CAM算法实现目标定位降低背景干扰,将框定的目标输入EfficientNet-B0模型再分类以获得高精度的分类结果,最后,基于该模型开发了草地贪夜蛾的图像识别系统,可通过拍照玉米田害虫图像,进行草地贪夜蛾及其他害虫的种类鉴定。

1、分类网络和知识蒸馏

本方法采用了EfficientNet作为分类模型,它是一种基于MobileV2网络的组合缩放模型,在ImageNet数据集上表现SOTA,MobileV2网络本身就是一个轻量级,精简的高效模型,再将网络深度(depth)、网络宽度(width)和输入图像分辨率(resolution)这三个影响模型精度的要素结合起来,调整这三个要素以完成新网络的设计,同时采用了一组固定的缩放系数统一缩放网络深度,宽度和分辨率。

Depth:

Width:

Resolution:

公式中,

蒸馏技术:首先固定公式中的

EfficientNet还添加了注意力机制。如图2所示,EfficientNet是由多个卷积Block结构块组成, 例如Efficientnet-B0是由16个Blocks堆叠构成,分为1、2、2、3、3、4、1个Block。如图3所示,Block的总体设计思路是Inverted residuals结构和残差结构,先输入的特征层进行1x1卷积升维,再做3x3或5x5深度可分离卷积,再进入一个关于通道的注意力机制模块,它负责将通道权重和特征做加权处理,最后通过1x1卷积降维后增加一个大的残差边,构建成一个完整的Block。

通过训练多个不同类型的主流分类模型,包括ResNet101,DenseNet161和EfficientNet-B1~B5,选择其中精度最高的模型作为teacher模型用以训练EfficientNet-B0模型,训练流程示意图如图4所示。

2、二阶段深度卷积神经网络识别模型MaizePestNet

MaizePestNet是基于蒸馏后的EfficientNet-B0构建而成,同时融合Grad-cam算法去除无关背景以提升害虫识别精度。首先使用Grad-cam算法求出目标在图像中的激活热图,从预测类别对特征图反向求梯度,该梯度是特征图对预测结果的影响权重,权重计算公式如下,

其中

获取激活热图后则进行凸多边形检测以获取目标区域。如图4所示,以EfficientNet-B0为例首先对激活热力图(224*224)做二值化处理,即坐标(x,y)对应的激活系数超过一定阈值x设置为True,将x设置为0.2,0.3,0.4,0.5,0.6分别进行测试。其次进行最大连通域提取,得出二进制图像中单个对象的凸包图像,凸包是包含输入图像中所有白色像素周围的最小凸多边形,由于是凸多边形,因此在上下左右四个方向一定存在极值,可以求出最小矩形框,最后根据原始图像与压缩图像之间的长宽比例,计算出原始图像的裁剪区域。

结合KD后的分类模型和目标定位建立完整的二阶段识别模型。如图5所示,第一阶段进行目标初始定位。将原始图像压缩成224*224大小尺寸,输入EfficientNet-B0网络提取特征图Feature Maps,后经过全连接层(Full Connected Layer)进行初始分类,根据分类结果对所有特征图求权重Wi,对特征图加权和后通过Relu函数筛选出对于所分类别有正影响的像素,得到梯度类激活热力图,随后对热力图进行定位框计算,第二阶段根据定位框对原始图像进行等比例反向裁剪并再次输入EfficientNet-B0网络进行精细分类。

3、模型损失函数

训练分类模型时,为解决样本不平衡性,如公式所示,采用了加权的交叉熵损失函 数,按照训练图像样本数量的倒数计算类别权重,对于训练图像少的类别给予更多的权重, 当模型预测错误时,得到更多得惩罚。其中

对于知识蒸馏模型,损失函数如下列公式所示,其中

4、超参数设置和评价指标

对训练集中的图像进行了随机旋转,随机长宽比裁剪,随机水平翻转处理的数据增强操作,最后将图片尺寸Resize到224*224,用于ResNet,DenseNet和EfficientNet-B0模型的训练,对于其他EfficientNet模型的训练,根据缩放参数调整输入图片的size大小。基于ImageNet的预训练模型进行迁移学习以加速收敛,对每一类模型分别训练50轮, batch大小设置为16,由于显存限制,EfficientNet-B3的batchsize设置为8,EfficientNet-B4和B5的batchsize设置为4,采用随机梯度下降SGD(Stochastic Gradient Descent)优化方法,权值衰减系数设置为0.0005,初始学习率设置为0.01。学习率调整策略为带热启动的cosine退火衰减调整。

采用平均精度(Accuracy), 多分类的Marco精准率(Precision),Marco召回率(Recall),Marco F1-Score来评价不同模型在测试集上的精度,其中 Accuracy ,Precision,Recall, F1-Score的计算公式如下:

式中 TP (True Positive)为真正例,即实际类别是正例的样本被预测为正例,FP(False Positive)为假正例,即实际类别是负例的样本被预测为正例,TN (TrueNegative)为真反例,即实际类别是反例的样本被预测为反例,FN (False Negative)为假反例,即实际类别是正例的样本被预测为反例。将模型返回的Top-1类别作为识别结果,平均精度为模型正确分类样本与总数之比,Marco-Precision,Marco-Recall和Marco-F1是先计算出每个类别的Precision,Recall和 F1值,然后求平均值。

5、数据集的制作与预处理

将训练数据集以8:1:1的总体比例随机划分为训练集(train dataset)、验证集(valid dataset), 测试集(test dataset)。其中,训练集用于训练模型,验证集用于模型选择和调参,测试集用于对模型进行泛化性能的评估,不参与模型训练。训练前对图像数据集中的害虫进行目标截取以消除背景进行分类。

6、MaizePestNet识别结果对比

综合使用知识蒸馏和Grad-CAM算法的结果。分别在测试数据集上进行测试,结果如表1所示。通过融合知识蒸馏和Grad-CAM算法我们基于EfficientNet-B0模型实现了93.32%的识别精度,高于其他模型,表明利用也可以较准确地目标定位和精准的识别,实现了模型预期效果。其Grad-CAM热力图计算、定位和识别效果(激活阈值为0.4)如图6和图7所示。

表1基于EfficientNet-B0的二阶段模型识别效果

7、模型的评价和结论

作为一种弱监督的目标定位和识别模型,相比传统分类模型有以下几个优势,1.采用了知识蒸馏技术进一步提升了的EfficientNet模型的分类精度,同时具有更精简的体积和更快的推理速度,2.相比训练传统的目标检测模型,无需对数据集进行人工标注,仅通过类别标签即可训练模型,3.模型对算力要求低,对资源消耗小,可以部署在无GPU的服务器或者移动终端中。

本发明建立了一个包含草地贪夜蛾在内的36种玉米田间常见害虫的图像数据库,含成虫和幼虫两种虫态。

本发明设计了基于EfficientNet-B0的二阶段分类模型MaizePestNet,平均识别精度超过93%,模型体积减少10倍以上,优于对照组模型。实际具体来说,有3个与其他识别方法不同的创新点:

1)EfficientNet-B0本身就是一种高效且精度高的分类网络模型,保证精度的同时,还降低了模型部署成本和模型计算成本;

2)使用了知识蒸馏技术进一步提升EfficientNet-B0模型的分类精度;

3)通过梯度类激活热力图Grad-CAM算法实现目标定位降低背景干扰。

本发明基于MaizePestNet开发了草地贪夜蛾的图像识别系统和手机端小程序,可通过拍照玉米田害虫图像,随时随地进行草地贪夜蛾及其他害虫的种类鉴定。

为了更好地理解本发明,以上结合本发明的具体实施例做了详细描述,但并非是对本发明的限制。凡是依据本发明的技术实质对以上实施例所做的任何简单修改,均仍属于本发明技术方案的范围。本说明书中每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

技术分类

06120115632830