基于改进YOLOv7的线虫智能识别研究

2024-08-24 00:00:00牛成侯华鑫谢雯媛王秀丽殷汝枭曲建平王己光周波
关键词:注意力机制目标检测线虫

关键词: 目标检测; 注意力机制; 损失函数; 激活函数; 线虫

中图法分类号: S154.38+6; TP391.41 文献标识码: A 文章编号: 1000-2324(2024)01-0100-08

根结线虫会对多种类型的作物产生负面影响,包括蔬菜(如番茄、黄瓜、胡萝卜等)、果树(如柑橘类、苹果等)以及经济作物(如棉花等),线虫防治是一个全球性的问题,目前化学防治方法仍是根结线虫病防治主要手段之一。高效低毒的杀线剂研制过程中,在试剂的活性测试筛选阶段,研究人员需要测定不同浓度的化合物药剂下线虫的存活率,以对比判断试剂的杀线虫效果。传统的线虫形态学检测方法通常包括取样、分离和镜检三个步骤,需要生物实验室研究人员进行肉眼识别和手动计数工作,亟待利用信息化手段,减轻研究人员的繁重筛选工作。

随着计算机深度学习技术的发展,深度卷积神经网络在计算机视觉领域发展迅速,可方便地实现智能识别与目标检测,在害虫识别或YOLO网络模型优化方面,陆健强等[1] 提出基于YOLOv5s 的线虫快速识别方法YOLOFN,通过坐标注意力机制和高效损失函数提高精度,但基线性能有待提升。李浩等[2] 结合ResNet50 和Faster R-CNN实现高准确率染病松木识别,但对比研究有限。宋怀波等[3]提出改进的YOLOv7模型,加入ECA 机制提高自然环境下苹果幼果检测精度,但未实现算法的实际应用。王小荣等[4]增加Swin Transformer 注意力机制提高模型对各分类样本的检测精准率,改进了Focal Loss损失函数,对于红花的识别准确率达到88.5%,仍有待提升。朱香元等[5]用TPH-YOLOv5 进行害虫识别,结合CBAM和在线数据增强,平均精度85.7%,但缺配套软件。徐信罗等[6]采用FasterR-CNN识别染病松树,准确率82.42%,未与其他高性能模型比较。郑果[7]等提出改进YOLOv7,结合卷积注意力、特征金字塔和MobileNetv3,提高水稻害虫检测准确率至85.46%,模型大小20.6 M。Hong 等[8]提出一种改进的YOLOv7 模型进行绝缘表面缺陷检测,使用动态ODConv替换传统卷积,使用SIoU 作为损失函数,模型准确度到达88.7%,仍存在提升空间。Wang 等[9]基于CSP 方法对YOLOv4 目标检测神经网络进行扩展和缩减,构建适用于小型和大型网络的模型,但是未实现高通量。

本文以改进的YOLOv7 神经网络模型为核心算法,实现线虫的死/活状态智能识别,通过摄像头捕捉线虫图像,实时上传到云端系统进行识别检测,高效准确的线虫死/活状态识别和计数,为线虫研究人员提供便捷手段;此外,开发可视化的WEB端线虫智能识别管理系统,方便研究人员进行数据管理和分析。

1 数据采集与处理

1.1 数据采集

本文研究所用数据自2023 年3 月于山东农业大学生命科学学院微生物学系微生物资源实验室采集,共收集到2 402 张JPG 图像格式,1280像素×960像素分辨率的线虫图像。

本文基于STM32 与OV5640,设计并开发了集控制、拍摄、传输一体化的单目采集设备。该设备可在显微镜目镜处自动拍摄图像。设备在接收到服务器命令后,捕获图像帧并对数据进行编码,通过无线网络向服务器传输数据。STM32单片机以及单片机和摄像头的整体连接如图1所示。

拍摄终端的整体工作流程如表1所示:

线虫图像中,基于体态学对线虫死/活状态进行划分,虫体蜷曲扭动、形态不定的判定为活虫,虫体僵直不动、呈现“J”状的判定为死虫,如图2 所示。在线虫研究人员的观察指导下,使用开源标注软件Labelimg按照死虫和活虫两个类别对数据集进行标注,标注示例图片如图3所示。

1.2数据增强处理

线虫具有虫体个体相似度高的特点,为提高模型的鲁棒性,增强模型的泛化能力,采取离线数据增强与在线数据增强两种方式扩充数据集,使模型更易获取线虫更全面的特征。

按照8∶2的比例对2402张线虫图像样本进行划分,将数据集分割成训练集和测试集。对训练集图片进行了多种离线数据扩充技术,包括随机旋转,仿射变换和随机裁剪等,如图4 所示,将训练集图片规模增大到了3 834张。

另外,还将batchsize设置为8,初始学习率为0.01,在每张图片输入网络模型训练前,将图像分别放缩至640×640,采用Mosaic 数据增强[10],随机切割四张图像并合并为一张图像,再作为新训练数据传入神经网络进行训练学习,增加了传入网络的线虫样本数,显著扩充了检测数据集。在推理阶段,将图像左右翻转以3 个不同的分辨率进行处理,输出结果在NMS之前被合并。

2 改进的YOLOv7网络模型

YOLOv7 网络主要通过高效层聚合网络(EELAN)和MP 结构的骨干部分提取图像特征,MP 层采用了maxpooling 和stride=2 的3×3 卷积用于进行下采样,输出通过concat 的方式连接起来,使得网络可以更好地提取特征。本文为避免线虫图像模糊造成的检测效果不佳,在YOLOv7特征提取主干网络中引入ECA 注意力机制,有效减少了冗余信息的干扰。因YOLOv7 原模型的损失函数与激活函数不适合线虫图像,为提高模型在该数据集上的性能,对默认损失函数与激活函数进行优化。

2.1 添加ECA注意力机制

在一幅图片中,为了识别出图片中的目标,图片中的某些区域往往比其他区域更为重要。基于注意力机制的模型能够在处理复杂任务时,对输入信息进行加权,以便模型更加集中地关注对当前任务更为重要的部分,从而提高模型的性能。引入ECA模块的YOLOv7模型结构如图5所示。

ECA 注意力机制下,输入特征图首先通过全局平均池化进行空间特征压缩,压缩后的特征图通过1×1 卷积进行通道特征学习,最后以通道为重点的特征图与原始输入特征图逐个通道相乘,输出以通道为重点的特征图。后续对该改进模型进行的实验验证显示本方法能较好提升模型识别效果,mAP值达到94.5%。

2.5 神经网络训练及图形检测效果比较

本文具体模型训练环境部分配置如表2所示。

使用改进后的YOLOv7 算法进行训练,训练后的Precision、Recall、mAP如图6所示。

由图6可得,在前100 个epochs,模型的Precision、Recall、mAP上升较快,在前200个epochs已经达到相当高的精度,在300epochs 完成之后,模型达到最优值,可以准确地识别线虫目标。

为验证改进后YOLOv7算法的有效性,对改进后YOLOv7算法进行了消融试验,试验结果如表3 所示,上述改进机制的引入使模型在评价指标上均有提升:

在图像识别效果上,各模型检测结果对比如图7 所示。四张图片是改进前后模型对同一张图片的不同检测情况,最终(d)YOLOv7+ECA+EIoU+Mish 模型的mAP值达到95.3%,高于其它模型,能达到更高的检测精度。

将目前主流的目标检测模型SSD、Faster-RCNN、YOLOv5 以及改进后的YOLOv5 模型CBAM-YOLOv5、SE-YOLOv5 训练后对测试集中的线虫图像进行检测,将mAP作为评价指标,各模型结果对比表现如表4所示。

对比试验结果表明,本文算法的mAP 值最高,比SSD、Faster-RCNN、YOLOv5、CBAMYOLOv5、SE-YOLOv5 和YOLOv7 模型分别提升了12.3%、6.2%、4.3%、1.7%、1.8%、1.2%,能更好地完成了线虫存活识别检测任务。

3 线虫检测系统的设计实现

模型的开发目的是帮助研究人员节省时间,加快杀线剂测试阶段的进程。在摄像头捕捉图像、人工或单片机控制自动上传图片后,模型能对线虫进行快速智能识别及计数统计,最终在WEB 端程序实现可视化数据管理及结果展示。

3.1 线虫检测模块

用户选择图片上传或实时拍摄,客户端将图片转换为url 安全的base64 编码,点击“开始检测”按钮后将编码数据发送到后端服务器,服务器解码获得原图像后开始检测,检测结果示意图如图8所示。

3.2 历史数据管理模块

源图片与检测后图片均使用数据库image表中的id 来标识,死/活数的记录使用格式字符串liveamp;dead 存储于task 表中,对数据库查询时再进行解析。服务器在收到用户查询请求时对数据库进行分页查询,返回json 格式的数据供前端使用,效果如图9所示。

3.3 系统部署

核心检测模块使用Triton Inference Server开源深度学习框架[13],可方便部署深度学习模型,以及提供请求排队、多路复用、动态批处理等功能。将改进后的YOLOv7 Pytorch 模型转换为开放神经网络交换(ONNX)模型[14]部署到Triton Inference Server 开源服务框架,对外提供服务。系统采取微服务架构[15],使检测程序和用户服务程序互不干扰地独立运行( 如图10)。

4结论

本文提出了一种基于改进YOLOv7网络的线虫计数模型,在主干网络中添加ECA注意力机制、采用EIoU作为网络架构损失函数、替换原激活函数为Mish激活函数,提高了对重叠黏连线虫的检测能力和回归精度,减少了冗余信息干扰。对比试验结果表明,改进后的模型mAP达到了95.3%,改进模型在线虫存活率检测的效率和准确性方面显著优于其他经典目标检测算法。此外,基于Vue和SpringBoot 等技术开发了基于改进模型的线虫存活数量检测系统,能在线识别和统计线虫死/活量,大幅提升研究人员的线虫计数效率。

本研究后续将开发专用线虫拍摄硬件,优化拍摄质量与采传性能,增加拍摄通道,实现多路线虫识别,实现更加高效的线虫数量统计。

猜你喜欢
注意力机制目标检测线虫
夏季蔬菜换茬期线虫防治要注意
今日农业(2022年14期)2022-09-15 01:44:26
基于深度学习的问题回答技术研究
地黄花对秀丽线虫寿命的影响
中成药(2018年2期)2018-05-09 07:20:04
基于LSTM?Attention神经网络的文本特征提取方法
基于注意力机制的双向LSTM模型在中文商品评论情感分类中的研究
软件工程(2017年11期)2018-01-05 08:06:09
InsunKBQA:一个基于知识库的问答系统
朝鲜孢囊线虫——浙江省孢囊线虫新记录种
视频中目标检测算法研究
软件(2016年4期)2017-01-20 09:38:03
行为识别中的人体运动目标检测方法
移动机器人图像目标识别