基于Mask R-CNN 模型的虫害识别方法研究

2023-02-08 11:50张耀丽许宁宋裕民康建明张国海孟庆山
农业装备与车辆工程 2023年1期
关键词:掩码食心虫虫害

张耀丽,许宁,宋裕民,康建明,张国海,孟庆山

(1.255000 山东省 淄博市 山东理工大学 农业工程与食品科学学院;2.250131 山东省 济南市 山东省农业机械科学研究院;3.252100 山东省 济南市 山东交通学院 汽车工程学院)

0 引言

在果树栽培管理中,虫害是影响果实品质的主要因素,严重影响果树的整个生长过程。传统果园虫害识别往往是人工在作物已经遭受虫害并外观发生变化时才能根据病理特征进行判断,而人工检查经常出现漏检、错检、虫害初期识别率较低的情况,费时费力[1]。因此,通过远程监测系统实现自动识别虫害对果园生产意义重大。

随着深度学习技术的发展,国内外学者开始研究将进行目标检测的卷积神经网络模型引入虫害识别中。魏杨等[2]提出了一种结合区域提取网络和Fast R-CNN 模型的虫害检测方法,在已经标注标签的实际场景的农业害虫数据库上进行实验与测试,平均识别准确度为82.13%,虽然有效地提升了虫害检测的准确度,但平均准确度依旧有待提高。Liu 等[3]基于优化YOLOv3 模型来识别番茄病虫害,该方法可以直接输入原始图片,采用端到端的结构,利用图像金字塔优化YOLOv3 模型的特征层,实现多尺度特征检测,提高YOLOv3 模型的检测精度和速度,准确、快速地检测番茄病虫害的位置和类别。孙钰等[4]使用改进Faster R-CNN 目标检测模型对诱捕器捕捉的红脂大小蠹进行目标检测,简化了检测流程,减少了模型的计算量,加快了检测速度,测试平均准确率可以达到97.2%。

基于目前应用于虫害识别的目标检测模型,Mask R-CNN 模型在Faster R-CNN 的基础上,添加了用来输出分割预测的与原始分类、框回归任务并列的Mask 回归分支,不仅可以实现目标像素级的检测,还可以精确识别目标物体的轮廓。但目前在梨园典型虫害检测识别领域的研究较少,因此本文提出了一种基于Mask R-CNN 模型的识别梨小食心虫的方法,使用自建的梨小食心虫数据库来进行模型的学习训练和测试,为果园虫害识别和精准防控提供支持。

1 Mask R-CNN 识别模型构建

Mask R-CNN 是卷积神经网络中的目标检测模型,它在Faster R-CNN 模型的基础上添加Mask 回归分支后,可同步实现输出分割预测、原始分类和框回归任务[5],它不仅可以实现目标像素级的检测,还可以精确地识别出目标物体的轮廓,达到目标分类、语义分割、实例分割等多种任务[6],从而适用于对不同生长周期的虫害精准判断。本文以Mask R-CNN 为基础,识别系统架构由特征提取模块、候选区域生成模块、目标检测模块以及实例分割模块4 部分组成,如图1 所示。在Faster R-CNN模型基础上优化添加用以预测分割的Mask 回归分支,如图1 中虚线部分所示,将原来进行2 次量化操作的RoI Pooling 层替换成使用线性插值算法的RoI Align 层,从而避免2 次量化操作产生的误差,以便提升整个模型的性能和准确性。另外添加并列的FCN 层,实现对输入图像的准确分割,可以在有效检测目标的同时输出高质量的实例分割Mask。

图1 Mask R-CNN 模型结构图Fig.1 Structure of Mask R-CNN model

2 数据集构建

2.1 样本采集

目前尚没有公共的梨小食心虫图像数据库,为了获取足够的训练样本,采用固定式物联网捕虫装置,可实现自动拍照、持续采集、远程获取。该装置使用性信息素诱捕器与光诱双向诱捕成虫,通过诱虫灯吸引昆虫,并采用性诱芯散发昆虫性激素,从而捕获特定昆虫,如图2 所示。昆虫碰到撞击板会掉落到接虫漏斗内,再掉落到杀虫单元,被电死后落入下方的黏虫板,当黏虫板累计到一定质量后,得到信号的控制单元会自动拍摄昆虫照片,通过WiFi 模块将图像信息传递到远程终端[7]。本项目在山东泰安市大河基地梨园放置捕虫装置1 台,图3 为黏虫板捕捉到的梨小食心虫。

图2 物联网自动拍摄捕虫装置Fig.2 IOT automatic filming insect trapping device

图3 黏虫板Fig.3 Sticky insect board

2.2 图像预处理

一方面,模型进行训练和识别需要大量的图像样本,由于虫害发生具有季节性特点,一般采集的图像样本数量有限,因此需要使用数据增广的方式增加样本的丰富度。使用VOC 格式工具将采集到的图像进行随机旋转、几何变换以及收缩变形和色彩抖动,经过筛选后将图像裁剪为512*512 像素的图片并建立梨小食心虫实验数据集。

另一方面,样本图像多为彩色,包含大量RGB(红绿蓝)颜色信息的图像会给识别模型造成巨大的计算量,为了快速计算,还需将彩色图像采用加权平均值法对其进行灰度化处理[8],以便降低矩阵维数,大幅提高运算速度,如图4 所示。灰度化公式为:

图4 灰度化处理后的图片Fig.4 Grayscale processed image

2.3 目标标注

目标标注是深度学习训练的关键环节。本文使用Labelme 标注工具对图像进行标注,生成.json文件,从而形成样本数据集。图5(a)为使用边界框标注目标,这种方法虽然简单高效,但会框选住大量的无效多余信息,影响计算效率。图5(b)为使用边缘勾选的掩模方式标注目标,这种方法可以更精确地将目标图像从背景分割出来。梨小食心虫外观边缘线条相对简单,宜采用边缘勾选的掩模方式标注,标注时仍应注意尽可能沿外观边缘多点标注,以减少标注误差。

图5 人工标注图像方式的比较Fig.5 Comparison of manual annotation image methods

3 深度学习训练

在处理后的数据集中随机选择4 800 张作为训练集,1 200 张作为测试集,比例为8∶2。选择多视角样本图像,以提高经过训练的识别模型准确度和通用性。最后舍弃一些人眼无法辨认的图像,避免在模型训练时给模型带来误导。

采用构建的Mask R-CNN 模型,对训练参数进行设置,各参数设置如表1 所示。

表1 实验超参数设置Tab.1 Experimental hyperparameter settings

完成注册数据集和配置文件设置后,开始数据集训练,训练过程中,log 日志、保存模型等均在tools/output 下,在测试过程中,log 日志会自动追加。Log 日志为:

1 训练:

2 python train.py --num-gpus 1

3 断点续训:

4 python train.py --resume

5 测试:

6 将coco_my_val,指代的 val.json,变为test.json,即可,然后运行

7 python train.py --eval-only

训练过程如图6 所示。

图6 数据集训练过程Fig.6 Dataset training process

模型训练的过程大约需要5 h,模型训练过程中得到的损失曲线如图7 所示,可见模型训练迭代到20 000 次时,损失值基本收敛。

图7 损失曲线Fig.7 Loss curve

4 识别结果与分析

4.1 识别结果评估

基于深度学习的智能识别结果评估有3 个重要指标,分别是准确率、召回率及平均精度[9]。准确率是指识别正确的物体个数与识别物体总数的百分率比值,比值越大准确率越高。平均精度是预测目标位置以及类别的这一类算法的性能度量标准。召回率是验证在所有正确的预测中预测为真的比例。其中有个关键参数是IoU 度量,联合截距(IoU)度量的平均值用于量化实际掩码与模型输出之间的重叠百分比。IoU 度量测量目标掩码和预测掩码之间的公共像素数除以2 个掩码中存在的像素总数。交集由预测掩码(B predict)和实际掩码(B ground-truth)中的像素组成,而并集由预测和掩码 real 中的所有像素组成。公式为:

为测试数据集中的每个图像计算IoU 度量,然后取平均值。公式为:

对于最小选择阈值,使用 IoU>0.45 的值,经过参考为IoU 指标建立了接近 0.5 的可接受值。

式中:TP——预测梨小食心虫的图像,预测正确;FP——预测梨小食心虫的图像,预测错误;FN——将其他图像识别为梨小食心虫的图像,预测结果错误;Pi——目标类别i 的查准率;Ri——目标类别i 的查重率。

经过计算得到:准确率为0.9,召回分数为0.9,平均精度为0.92。

4.2 对比实验与分析

为了突出Mask R-CNN 在目标检测精确度上有更高的优势,本实验还使用了同样的数据集,以Faster R-CNN 为目标检测模型来识别梨小食心虫,2 种模型的检测结果对比如图8 所示。针对1 200张测试集中的图片中5 909只梨小食心虫进行识别,4 次识别结果对比如表2 所示。其中“未检出”指的是图8 中为梨小食心虫但并未识别检出的个数,“误判”指不是梨小食心虫但是识别为梨小食心虫以及实际为梨小食心虫但打分低于0.8 的个数[10]。

表2 检测结果对比Tab.2 Comparison of test results

通过对比实验的结果进行分析,Mask R-CNN模型检测结果中梨小食心虫目标识别结果以检测框和实体分割的形式标注在图片上,Faster R-CNN模型检测结果中梨小食心虫目标识别结果以检测框形式标注在图片上,并且从图8 中白框标注的部分可以看出,Faster R-CNN模型难以识别边缘不清晰、显示不完整的梨小食心虫图像,而Mask R-CNN 较为准确地提取出了梨小食心虫的轮廓,出现漏检、误判的情况较少。在识别梨小食心虫方面,Faster R-CNN 模型平均未检出率6.6%,平均误判率3.7%,平均准确率89.6%;Mask R-CNN 的平均未检出率0.3%,平均误判率0.76%,具有更高的精确度,平均准确度达98.87%,还可以通过对检测目标的实体分割进行定位和分类。

图8 检测结果对比Fig.8 Comparison of test results

5 结论

(1)为提高果园虫害识别的准确率、稳定性,本文提出了基于Mask R-CNN 目标检测模型的虫害识别方法。该方法在Faster R-CNN 模型基础上优化添加用以预测分割的Mask 回归分支,实现自动识别的同时输出高质量的实例分割Mask,使用数据增广和掩模标注等方法构建数据集,深度学习训练后可有效提高梨小食心虫等虫害识别的准确性。

(2)选择常用的目标检测Faster R-CNN 模型与Mask R-CNN 模型进行对比实验,结果表明,本文提出的识别方法平均准确率达到98.87%,比Faster R-CNN 模型高出9.3%,能够对梨小食心虫进行精确、稳定、高效的识别,可为精确虫害防治提供参考。

猜你喜欢
掩码食心虫虫害
基于RISC-V的防御侧信道攻击AES软件实现方案
桃树主要虫害及防治方法
桃小食心虫对桃树的危害及无公害防治
不用农药也能治虫害
低面积复杂度AES低熵掩码方案的研究
基于布尔异或掩码转算术加法掩码的安全设计*
浅析白三叶的虫害防治
行道树香橼主要虫害及其防治
梨小食心虫性信息素在测报和防治上的应用
基于掩码的区域增长相位解缠方法