基于混合注意力机制和云数据平台的蝗虫识别系统研究

2023-09-13 02:47李军马行穆春阳王梦雪刘宝成李亚东
山东农业科学 2023年8期
关键词:虫情蝗虫注意力

李军马行穆春阳王梦雪刘宝成李亚东

(1. 北方民族大学电气信息工程学院,宁夏银川 750021;2. 北方民族大学宁夏智能信息与大数据处理重点实验室,宁夏银川 750021;3. 北方民族大学机电工程学院,宁夏银川 750021)

蝗灾、旱灾、涝灾曾并称为三大自然灾害,一直是中国农业防治的重点对象。 但在自然环境下,蝗虫目标小,同时受光照、遮挡等因素干扰,识别难度大。 因此,在现代农林业领域做到及时且准确的蝗虫监测意义重大[1]。

近年来,随着深度学习的发展,神经网络已经被广泛应用在害虫识别领域。 例如张博等[2]将空间金字塔池化和YOLOv3 卷积神经网络相结合,实现了实际场景下20 类害虫的识别,且识别精度达到88.07%。 许德刚等[3]提出了一种改进的Faster RCNN 粮虫目标检测方法,在自制数据集下实现了89.42%的精确度,为粮食存储安全提供了虫害监测新思路。 杨红云等[4]提出的基于迁移学习和卷积神经网络相结合的水稻害虫识别方法,使用VGG16 模型,实现了稻飞虱等5 种水稻害虫的识别。 甘雨等[5]通过改进EfficientNet模型实现作物害虫识别,在公开的大规模作物害虫数据集IP102 上实现了69.45%的识别率。 上述研究成果表明利用神经网络能够为害虫识别提供解决方法。

在蝗虫识别方面,近些年也取得了一些研究进展。 2017年刘欣[6]提出了基于无人机遥感平台的蝗虫灾害监测方法,该方法采用无人机遥感技术进行图像拍摄,然后将图像回传处理,对于大面积虫害识别具有较强的图像分析能力,但是对于小区域以及林地深处虫情无法兼顾,而且采用远端服务器进行图像处理,延迟高。 2020年张文霞[7]利用基于二值图像的区域性识别算法和快速卷积神经网络Faster RCNN 对蝗虫图像进行检测与识别,结果表明,在自制数据集下,模型的平均识别精度达到84%;但是在光线环境较弱和背景复杂的情况下,模型的特征提取能力会明显下降。 2021年李林等[8]以SSD 模型为基础,提出了一种K-SSD-F 蝗虫视频目标检测算法,通过采用KNN 算法提取蝗虫视频前后帧的时空特征来分析目标,平均精度达到88.94%,但该模型只针对东亚飞蝗,对于国内出现范围较广的中华稻蝗等蝗虫类未做研究,同时该方法未解决蝗虫识别过程中的实时虫情数据留存问题。

针对以上问题,本研究以飞蝗、稻蝗、竹蝗、沙蝗等农林业蝗虫为研究对象,结合当下嵌入式设备的发展情况,以轻量化的一阶段卷积神经网络YOLOv4-tiny 为基础,提出了一种基于混合注意力机制CBAM[9]、七牛云数据平台的蝗虫目标识别模型,然后利用Jetson Xavier NX 开发板的推理加速能力,将改进后的模型移植到开发板中,设计了一套小型蝗虫识别系统。

1 材料与方法

1.1 数据来源

数据集获取时充分考虑国内蝗虫虫情,选取对农林业危害较大、出现频率高、繁殖率高的飞蝗、稻蝗、竹蝗、沙蝗等,其中飞蝗主要是东亚飞蝗和亚洲飞蝗,稻蝗为中华稻蝗。 图像获取途径一是通过多时期、多角度、自然环境下的周边果园、农田实地相机采集;二是通过网络搜索获取相关蝗虫图片。 数据集像素从564×348 到4032×3024不等,共2 344 张图片。 数据集示例图片如图1所示。

1.2 图像标注与增强

对获取到的蝗虫数据集,采用labelImg 软件手动标签的方式进行图像标注。 同时,为了增强模型的泛化能力,通过对原蝗虫图片进行亮度调整、镜像翻转、平面旋转、添加高斯噪声等一些常规预处理来扩充数据集,最终得到25 860 张蝗虫图像。 数据集图像增强处理如图2 所示。

图2 数据集图像增强处理示例

1.3 模型选择

在深度学习领域,目标检测算法有单阶段和双阶段之分,双阶段算法模型大、精度高,但速度慢,例如R-CNN[10]、Fast R-CNN[11]、Faster RCNN[12];而一阶段算法巧妙地将目标检测问题转化为了回归问题,可以直接完成端到端的预测,精度高、速度快,SSD[13]、YOLO[14]便是一阶段算法的优秀代表[15]。

随着嵌入式设备的发展,越来越多的场景开始将神经网络部署到移动端,以此来提升工作效率。 在这种情况下,兼顾精度与速度的轻量级神经网络不断被提出。 2020年6月25日,Alexey Bochkovskiy 在发布YOLOv4 两个月后,正式推出YOLOv4-tiny[16]。 YOLOv4-tiny 作为YOLOv4 的轻量化版本,在尽可能保障模型精度的前提下做了参数删减。 YOLOv4-tiny 网络主要由3 部分构成,分别是主干特征提取网络CSPDarknet53-tiny、加强特征提取网络(feature pyramid network,FPN)和检测头YOLO Head。 CSPDarknet53-tiny主要用于前期特征提取,包括卷积层(Conv)、批量标准化层(BN)、激活函数层(Leaky ReLU)和3个CSPBlock 模块。 网络首先对输入进来的图像(416×416 像素)进行两次步长为2 的卷积操作,经过CSPDarknet53-tiny 主干特征提取网络后,一共可以获得13×13 和26×26 的两个有效特征层;FPN 结构将主干网络得到的有效特征层进行卷积加上采样操作来进行特征融合,获得两个具有更高语义信息的有效特征层;之后YOLO Head 对这两个具有更高级语义信息的特征层进行结果预测,形成13×13 和26×26 的两个目标预测尺度,最终得到蝗虫目标的置信度及位置信息。

1.4 模型改进

1.4.1 增加注意力机制在自然环境下,蝗虫目标大小不一,出现的背景也较复杂,并有大量物体遮挡,在这种情况下神经网络对每张图片的关注点就会分散。 为了提升模型的细节特征提取能力,加强神经网络在不同背景下对检测目标的重视程度,使神经网络将更多注意力放到所给信息的重点区域,同时兼顾模型的速度,本研究分别在YOLOv4-tiny 的加强特征提取网络输入位置和第一次卷积结果输出位置添加混合注意力机制CBAM,让神经网络在通道和空间上分别获取更多的特征信息,有效提升模型在复杂背景下的识别精度[17]。 改进方式如图3 所示。

图3 改进的YOLOv4-tiny 网络结构

CBAM 是一种混合注意力机制,包括通道注意力机制和空间注意力机制。 首先通道注意力机制利用平均池化和最大池化对输入进来的有效特征层进行特征信息聚合操作,并送到共享网络,之后再压缩输入特征图的空间维数,逐元素求和并合并,最后经过Sigmoid 激活函数后生成通道注意力特征图;然后空间注意力模块利用平均池化和最大池化对通道特征图进行高和宽的压缩,再进行Concat 操作,之后经过7×7 的卷积操作将特征图维度降为1,最后经过Sigmoid 激活函数后生成空间注意力特征图。 通过CBAM 模块,神经网络不仅提升了在复杂背景下对重点区域的关注,也加强了对有效色素点的关注。 CBAM 注意力机制模块结构如图4 所示。 CBAM 注意力机制的公式如下:

图4 CBAM 注意力机制结构

式中:MC(F )代表通道注意力机制操作;Ms(F )代表空间注意力机制操作;σ 表示Sigmoid 激活函数;F 表示输入特征图;F1表示经过通道注意力机制后的输出特征图;f7×7表示7×7 的卷积操作[18]。

1.4.2 嵌入云数据平台蝗虫害的治理需要前期就掌握虫情数据,但已有的大多研究只是对模型进行各种改进以提升模型精度,并未对模型实际应用过程中的数据问题进行引申研究或者提出解决方案。 针对该问题,本研究以七牛云数据平台为基础,通过对YOLOv4-tiny 预测模块进行修改,在模型的YOLO Head 部分嵌入七牛云数据平台软件包,使模型能够在实时目标检测中实现虫情数据的即时云端上传,并通过个人注册的合法域名,实现蝗虫虫情的实时数据留存与下载解析,这可为农林业及时监测或治理虫害提供数据支撑。 基于七牛云数据平台改进的蝗虫识别模型结构如图3 所示,七牛云服务器用户界面如图5 所示。

图5 七牛云服务器平台界面

1.5 模型训练

将25 860 张蝗虫图像按照9∶1 的比例划分为训练集与测试集,使用PyTorch 框架搭建模型,利用实验室戴尔服务器进行模型训练。 服务器主要配置为:Inter(R) Xeon(R) Gold 6246 CPU @3.30 GHz 12 核24 线程(双处理器),190 GB RAM;Tesla P40 GPU,96 GB 内存。 软件操作系统为Ubuntu18.04,CUDA 版本为10.0,CUDNN 版本7.1,Python 版本3.7,PyTorch 版本1.2。 模型训练输入图像尺寸为416×416,训练过程使用Adam 优化和更新权重参数。 具体训练参数如表1 所示。

表1 模型训练参数

1.6 模型评估

模型训练完成后在自制数据集下采用精确率(Precision)、平均精度均值(mean average Precision,mAP)、召回率(Recall)、F1 值(F1-score)、每秒帧率(frame per second,FPS)、模型大小(model size)6个指标来评估模型性能。 其中,FPS 越高,代表模型的检测速度越快[19];F1 值是精确率与召回率的调和平均(harmonic mean),是一个同时考虑精确率与召回率的评价指标[20],F1 值越大且越接近1 代表模型的综合性能越好。 精确率、召回率、F1 值的计算公式如下:

式中,TP 为正样本中检测正确的样本数目,FP 为负样本中错检为正样本的数目,FN 为正样本中漏检或错检为负样本的样本数目。

2 结果与分析

2.1 消融试验结果分析

为了验证改进后的模型性能,首先在自制数据集下设计了消融试验,结果如表2 所示。 其中YOLOv4-tiny(ECA)表示使用了ECA(efficient channel attention)[21]通道注意力机制,YOLOv4-tiny(CBAM)表示使用了CBAM 混合注意力机制。可知,在使用注意力机制的情况下,模型的综合性能得到了提升。 在只使用ECA 通道注意力机制的情况下,模型的精确率达到了91.51%,mAP 达到了93.35%。 在使用CBAM 混合注意力机制的情况下,模型的精确率、mAP、召回率、F1 值与原网络相比均有明显提升,分别提升1.69、1.57、1.62、2个百分点;同时相较于YOLOv4 -tiny(ECA)性能也有一定提升,模型大小维持不变。说明使用注意力机制能够有效提升模型的性能,且使用混合注意力机制的效果要优于单一的通道注意力机制。

表2 消融试验结果

2.2 对比试验结果分析

为了更加客观地评价模型的性能,再次在自制数据集下进行对比试验,结果如表3 所示。 其中YOLOX-tiny 表示YOLOX 的轻量级网络,YOLOv5n 表示YOLOv5 的轻量级网络。 可知,YOLOX-tiny 和YOLOv5n 作为两种较新的轻量级网络,模型的mAP 分别达到了97.58%和95.72%,性能优良,但检测速度分别只有47FPS 和57FPS,相较于YOLOv4-tiny(CBAM)的117FPS 差距明显。 同时通过与 YOLOv4 网络对比, 发现YOLOv4-tiny 作为简化版的YOLOv4,其模型的精度和速度更均衡,考虑到模型后期需要部署到嵌入式设备,所以选择YOLOv4-tiny(CBAM)是更好的方案。

表3 对比试验结果

2.3 模型识别效果可视化

最后为了更加全面地评价改进模型的性能,使用不同环境下、不同数量的蝗虫目标进行识别试验,识别效果如图6 所示。 可知,在复杂环境下的单目标识别试验中,各个模型均能顺利识别出目标,说明模型在自制数据集下提取了丰富的特征信息。 在自然环境下的双目标识别试验中,所有模型也均能正确识别出目标,但YOLOv4-tiny(CBAM)模型预测框更小,更接近蝗虫目标的真实体态。 在自然环境下多目标识别试验中,YOLOv4-tiny 模型出现了漏检情况,而其他模型均能实现4个目标的识别。 综上可得,YOLOv4-tiny(CBAM)模型的综合性能更加均衡,更适合后续的部署应用。

2.4 模型应用与测试

将改进并训练好的蝗虫识别模型移植到NVIDIA 的Jetson Xavier NX 开发板中,利用Jetson Xavier NX 开发板作为模型的应用载体,借助TensorRT 加速模型,搭建设计了一种便携式蝗虫识别装置,如图7 所示。 考虑加入的云数据平台,采用华为E5576 随身WIFI 装置作为数据提供模块,实现野外环境的数据服务功能。 相机部分采用索尼IMX219 模块CSI(有效像素800W)和海康U14a 便携式USB2K 镜头(有效像素400W)。

图7 便携式蝗虫识别装置实物图

系统工作流程如图8 所示。 通过CSI 或USB2K 摄像头获取图像信息,利用Jetson Xavier NX 内嵌改进并训练好的模型进行蝗虫识别,使用云数据平台进行蝗虫目标实时数据云端上传与存储,最后通过七牛云账号在线查看识别结果。数据格式中包括识别时间等信息,方便用户及时掌握虫情数据,进行有效防治[22]。

为了测试设计的蝗虫识别系统的识别效果,进行相关自然环境下的检测试验。 首先采用多角度、多体态、不同背景下的静态蝗虫目标数据进行识别测试,结果(图9)显示,搭建设计的蝗虫识别系统能够实现不同状态下的虫情识别,具有一定的针对性。 其次,为了验证模型及识别系统的实时动态识别效果,进行自然环境下模型的目标视频实时识别测试,实时识别效果及云平台实时数据分别如图10 和图11 所示。 可见,在不同的自然背景下,针对蝗虫目标数量不一、角度和光线不同等情况,系统均能够有效识别出目标,且实时检测速度达到28FPS。 综上可见,本研究设计的小型蝗虫识别系统在自然环境下具有较强的蝗虫识别能力;而嵌入在模型预测模块中的七牛云数据平台,实现了即时虫情识别数据的云端存储功能,大大提升了模型的可利用性,解决了以往虫情数据掌握不及时的问题,能够为现代农林业蝗虫识别提供新思路。

图9 静态目标识别效果

图10 视频实时识别效果

图11 蝗虫虫情识别云数据后台示例图

3 讨论与结论

通过对前人在蝗虫识别领域研究的分析,本研究提出了一种基于YOLOv4-tiny 网络改进的蝗虫目标识别模型,大小为23.6 MB。 首先,该模型使用轻量型的混合注意力机制CBAM 提升模型性能,弥补了过去蝗虫识别算法精度低、实时性差的缺点,提升了模型在复杂环境下的小目标特征提取能力,模型的平均精度可达到94.69%,召回率达到92.51%,F1 值达到93%,单张图片识别速度达到117FPS,在嵌入式开发板上的实时检测速度达到28FPS,模型性能优良。 其次,针对实际应用场景,在模型的预测模块引入了七牛云数据平台,借助个人域名,实现了模型对蝗虫虫情实时识别的云端数据存储与解析,提升了模型的应用价值,方便研究者实时掌握虫情数据。 最后,针对现代农林业蝗虫监测装置较大且多是采用气味或灯光诱捕害虫的思路,本研究借助高性能的嵌入式设备Jetson Xavier NX 搭载改进的模型,设计了一种小型的蝗虫识别装置。 通过试验验证,该系统在不同自然背景及光线强度下均取得了非常好的识别效果,具有较强的蝗虫目标识别能力。 本研究提出的方法可为农林业蝗虫识别提供新的技术参考。

另外,本研究用提取到的蝗虫共同特征信息作为研究基础,自建了一套有25 860 张图像的蝗虫数据集。 但本研究未进行分类目标预测,将在今后的研究中继续完善模型的分类识别功能,以实现蝗虫目标精细化识别。

猜你喜欢
虫情蝗虫注意力
虞以新:鉴定“虫情”的大侦探
你真的认识蝗虫吗
让注意力“飞”回来
都2020年了,人类为啥还拿蝗虫没辙?
基于AI图像识别的烟草制品虫情监测系统的设计与实现
人多势众的蝗虫
平山县2018年性诱剂和虫情灯诱测棉铃虫成虫效果比较
我国病虫害监测预警系统取得新突破
蝗虫
“扬眼”APP:让注意力“变现”