黄尧 何敬 付饶 刘刚 林远杨
摘要:福寿螺是我国重点关注的入侵物种,对农作物生长和生态环境会造成不利影响。及时获取福寿螺虫卵的分布信息,对于提前防治其入侵能起到有效的帮助作用。基于YOLOv5s基础网络模型,引入CBAM(Convolutional Block Attention Module)注意力机制模块,以提高在复杂的自然环境下对福寿螺虫卵特征信息的提取,提出YOLOv5s-CBAM模型进行福寿螺虫卵识别方法。试验结果表明,引入CBAM的识别效果要好于引入CA和SE注意力模块。同时,引入CBAM的YOLOv5s-CBAM模型,识别效果优于原基础YOLOv5s模型,一定程度上能够克服倒影、植物遮挡等因素干扰。且平均精度均值达到83.8%,相比原模型提升2.5个百分点。基于深度学习的方法对复杂自然环境中的福寿螺虫卵进行识别是切实可行的,为福寿螺等入侵物种的监测防控提供新的思路。
关键词:深度学习;YOLOv5s算法;注意力机制;福寿螺虫卵;图像识别
中图分类号:TP391.4
文献标识码:A
文章编号:2095-5553 (2024) 06-0223-06
收稿日期:2022年8月29日
修回日期:2022年10月25日
*基金项目:成都市技术创新研发项目(2022—YF05—01090—SN0);地质灾害防治与地质环境保护国家重点实验室项目(SKLGP2018Z010);四川省科技计划项目(2021YFG0365);四川省自然资源厅科研项目(kj—2021—3)
第一作者:黄尧,男,1997年生,四川达州人,硕士研究生;研究方向为农业遥感。E-mail: 1337952086@qq.com
通讯作者:何敬,男,1983年生,河南光山人,博士,副教授;研究方向为无人机影像处理、倾斜三维建模及遥感目标自动识别。E-mail: xiao00yao@163.com
Application analysis of the YOLOv5s-CBAM algorithm for the identification of eggs of Pomacea
Huang Yao1, He Jing1, Fu Rao1, Liu Gang1, 2, Lin Yuanyang1
(1. College of Earth Sciences, Chengdu University of Technology, Chengdu, 610059, China;
2. State Key Laboratory of Geohazard Prevention and Geoenvironmental Protection,
Chengdu University of Technology, Chengdu, 610059, China)
Abstract: Pomacea is an invasive species of major concern in China, which can have a negative impact on crop growth and the ecological environment. The timely acquisition of information on the distribution of eggs of Pomacea can help to prevent and control its invasion in advance. In order to improve the extraction of feature information from the Pomacea eggs in complex natural environments, this paper suggests a YOLOv5s-CBAM model for eggs of Pomacea recognition based on the YOLOv5s base network model and incorporating the CBAM (Convolutional Block Attention Module) attention mechanism module. The experimental results show that the incorporation of the CBAM module provides better recognition than the introduction of the CA and SE attention modules. The YOLOv5s-CBAM model, which incorporates CBAM, has a stronger recognition impact than the original YOLOv5s model and can, in some cases, overcome interference from elements like plant obscuration and reflection in the water. A 2.5 percentage point improvement over the original model, the mAP now stands at 83.8%. The method based on deep learning is feasible to identify the eggs of Pomacea in photographs obtained in complicated natural environment, which provides a fresh perspectives for the monitoring, prevention, and management of invasive species such as Pomacea.
Keywords: deep learning; YOLOv5s algorithm; attention mechanism; eggs of Pomacea; image recognition
0 引言
福寿螺为软体动物门瓶螺科的淡水螺类,又称为雪螺、大瓶螺和苹果螺等,原产于南美洲区域,后在北美地区广泛传播[1]。20世纪80年代作为水生经济作物被引入中国,因口感不佳而被弃养,后来成为我国重点关注的外来入侵物种[2, 3]。福寿螺具有繁殖快、适应性强、食性杂和扩散快等特点,严重威胁作物生长品质及影响农作物的产量[4]。并且由于缺乏天敌,长期适应环境,目前福寿螺已扩散到重庆、四川、安徽、湖南、江苏、福建、上海等地,有相关福寿螺危害记录的多达14个省或直辖市[5]。当前,入侵我国的福寿螺主要有3种,小管福寿螺(Pomacea canaliculata)、斑点福寿螺(Pomacea macula-ta)以及新类别Pomacea sp等[6]。
获得福寿螺虫卵的分布信息是防治其入侵及危害的重要基础之一[7]。近年来深度学习技术的快速发展,为精确快速的识别农作物病虫害提供了可行的方案。苗海委等[8]通过改进的SSD算法,对粘虫板诱捕的六类储粮害虫进行识别,检测平均正确率mAP达到81.36%。Chen等[9]利用VGGNet模型对水稻病害图像进行类别识别,平均准确率达到92.00%。张博等[10]通过一种改进的YOLOv3模型,对农作物害虫进行识别,平均识别准确率为88.07%。骆润玫等[11]利用改进的YOLOv5模型,在复杂背景下对广佛手病虫害进行识别,7种病虫害的平均精度为93.61%。Fuentes等[12]提出了一种基于深度学习识别植物的方法,用于检测识别番茄植物病虫害,该模型识别9种类型番茄疾病的平均精度达到85.98%。目前,大量的研究人员利用深度学习的方法来实时检测识别农作物害虫,但对于福寿螺等入侵物种的识别监测研究还比较少。
在自然环境中福寿螺虫卵图像背景复杂,且虫卵体积小,经常附着于植物茎秆和叶片下不易被识别。本文基于YOLOv5s网络模型,并融入CBAM(Convolutional Block Attention Module)双注意力机制模块以增强网络对目标图像特征的提取能力,提出一种福寿螺虫卵的识别方法,对精确防治福寿螺的入侵提供新思路。
1 材料与方法
1.1 试验数据集
本研究所用数据是南京航空航天大学刘宁钟教授公开的数据集,利用大疆无人机(FC2220)进行多角度低空拍摄收集,采集位置为太湖水域(东经119°11′至121°53′,北纬30°08′至32°08′)。数据集网址为(https://drive.google.com/file/d/1lOUIUelA6mdm
Brr2WswQrHjDf6edt9Xu/view?usp=sharing)。在此感谢刘宁钟教授团队提供的福寿螺虫卵公开数据集,为本试验提供了数据基础。数据集每张图像大小为1000像素×800像素,其中图像涵盖各种常见的场景,以确保模型有更高的鲁棒性。数据集中标签种类为AliveAmpullariaGigas和AmpullariaGigas两种,分别表示活着的虫卵和死亡的虫卵。数据集样例如图1所示。
1.2 福寿螺虫卵识别模型
目前基于深度学习的目标检测算法有很多种,YOLO(You Only Look Once)是高效快捷的目标检测方法之一[13]。YOLO是从网络中直接提取特征来预测目标分类和位置,本研究使用YOLOv5来构建识别模型。根据网络的深度和宽度,YOLOv5可分为四种基础架构,YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x,模型的复杂度依次增大,模型的准确率也依次有所提升,但是运行速度和占用的计算资源也会增大[14]。YOLOv5网络主要由三部分组成,Backbone、Neck和Head。输入图像后,Backbone在不同的图像粒度上聚合形成图像特征,Neck对图像特征进行拼接并传输到预测层,然后Head对图像特征进行预测,生成边界框和预测类别[15]。为快速准确地识别出福寿螺虫卵,本研究选用轻量化的YOLOv5s作为模型的基础网络,其结构如图2所示。
在福寿螺虫卵目标检测任务中,因虫卵占据像素数较少,其特征信息极易在深层网络中丢失,出现漏检、错检。因此,本研究在YOLOv5s的基础上融合注意力机制模块,以便于提高虫卵特征信息的提取能力。注意力机制本质上来说就是从众多的信息中提取出更加重要的信息,忽略不相关信息[16],目标检测中常用的注意力机制有CBAM、CA和SE等。CBAM注意力机制包含2个独立的模块,通道注意力模块(CAM)和空间注意力模块(SAM),通过通道注意力模块和空间注意力模块可有效增大小目标在整张特征图中的权重[17],促使小目标信息更容易被模型学习。CBAM注意力机制模块结构如图3所示。
根据前人的研究成果[17],本文将CBAM注意力机制融入backbone中,提取易被网络忽略的小目标信息,具体结构如图4所示。
CBAM注意力机制同时关注通道和空间信息[18],首先输入一个C×H×W的特征F,在通道注意力模块上经过基于width的全局最大值池化和基于hight和全局平均池化,将尺寸为C×H×W的特征图变成两个C×1×1的特征图。然后它们分别进入一个共享的两层神经网络(MLP),第一层的神经元个数为C/r,第二层神经元个数为第一层的r倍,接着将神经网络的输出特征进行压缩空间维数,再通过加和操作进行合并结果,并经过一个sigmoid激活函数得到权重系数Mc。最后将C×H×W的特征F与Mc做乘法操作,生成下一步空间注意力模块需要的输入特征F′。
空间注意力模块将C×H×W的特征F′作为输入特征图,首先进行通道维度的最大池化和平均池化操作,得到两个1×H×W的特征图。然后将这两个特征图按照通道维度拼接在一起,只压缩通道维度而不压缩空间维度,接着进行一个卷积操作,将其降维为1个通道,再经过sigmoid激活函数生成空间注意力的权重系数Ms,最后将权重系数Ms与特征F′相乘得到最终的细化特征F″。
1.3 评价指标
识别模型的准确性评价主要包括视觉比较和性能评价指标。视觉比较是通过比较得到目标的漏检和误检,性能评价指标包括识别准确率和识别速度[19]。速度指数是指识别图像所需的平均时间。识别准确率的基本指标是准确率Precision和召回率Recall。准确率表示预测样本中预测正确的样本占所有预测样本的比例。召回率表示预测样本中预测正确的样本占实际所有正样本的比例。本研究使用准确率、召回率和平均精度均值(Mean of Average Precision,mAP)作为模型的评价指标。具体计算公式如式(1)~式(4)所示。
Precision=TPTP+FP×100%(1)
Recall=TPTP+FN×100%(2)
AP=∫10Precision(Recall)dRecall(3)
mAP=1N∑Ni=1APi(4)
式中:TP——正确检测到的虫卵目标数量;
FP——被错误检测到的虫卵目标数量;
FN——未被检测到的虫卵目标数量;
AP——P-R曲线的面积;
mAP——所有AP值的均值,mAP值越大,识别的精度越高。
本研究中N为2。
2 结果与分析
2.1 模型训练
本文训练所用操作系统为Windows10,在Anaconda3环境下搭建Pytorch框架和YOLOv5环境。硬件方面,处理器为Intel(R)Xeon(R) E5-2690,GPU 型号为Nvidia Quadro M6000。本文数据集分为训练集、验证集和测试集,图像数量分别为2450、1050和1500。将训练集和验证集输入网络模型进行训练,经过300次训练,得到训练集和验证集的损失函数及mAP曲线(图5)。从图5可以看出,在开始的100次训练中,损失值下降很快,后面的训练损失下降变缓,并趋于稳定,说明模型趋于收敛。图5(c)和图5(f)表示在训练过程中验证集的识别精度情况。
2.2 识别结果对比
采用原YOLOv5s和融入CBAM注意力机制后的网络对福寿螺虫卵进行识别检测,验证融入CBAM后网络的实际效果,图6直观展示了这两种网络模型对不同情形的识别能力。
如图6所示,YOLOv5s和YOLOv5s-CBAM模型对于一些明显的目标都能准确识别出来。由图6(a)可知,YOLOv5s-CBAM模型对于目标在水中的倒影判别能力要比YOLOv5s模型好;根据图6(b)可知,当背景与目标物相近或者虫卵特征不明显时,YOLOv5s模型会出现遗漏的情形,说明YOLOv5s-CBAM模型提取虫卵特征信息能力更强;而图6(c)则表现了YOLOv5s模型对于虫卵颜色相近的物体会出现误判的情况;图6(d)表现了当虫卵被遮挡时,两种模型在虫卵识别计数方面的差异,图中的虫卵本是一个,由于植物茎秆的遮挡,YOLOv5s模型错误的将其识别为两个虫卵。表1为加入CBAM注意力机制前后,模型的验证精度情况。YOLOv5s-CBAM模型的准确率和召回率都高于原YOLOv5s模型;平均精度均值为83.8%,相比原模型提高了2.5个百分点。由此可见,融入CBAM注意力机制的模型识别福寿螺虫卵的有效性高于YOLOv5s基础网络模型。
2.3 不同注意力机制的对比试验
为了验证融合CBAM注意力机制模型的检测效果,本文引入了其他两种常见注意力机制CA和SE进行对比试验。对比试验是在相同的配置环境下,使用相同的训练参数训练相同的数据集进行的。图7为对比试验的模型训练结果,从图7中可以看出YOLOv5s-CBAM模型的三个指标均好于CA和SE。
从表2可以看出,添加SE和CBAM注意力机制的YOLOv5s-SE和YOLOv5s-CBAM模型,相比原始YOLOv5s模型,准确率、召回率和平均精度均值均有所提高;而引入CA注意力机制的YOLOv5s-CA模型的准确率、召回率和平均精度均值,相比原始YOLOv5s模型反而出现下降。试验结果表明,YOLOv5s模型引入注意力机制确实能提升模型的检测能力,但不一定每种注意力机制都适合,需要结合研究对象筛选合适的注意力机制模块。
3 讨论
本文所用的YOLOv5s-CBAM模型对福寿螺虫卵进行自动识别,mAP(IoU=0.5)达到83.8%,基本能满足福寿螺虫卵监控的需求。但本模型针对一些特殊情况仍存在误识别和漏检现象,情况如图8所示。
如图8(a)和图8(e)所示,当影像过曝或反光时,虫卵影像会出现失真现象,特征信息不明确,本模型就出现漏检。虫卵死亡后,虫卵颜色呈现灰白色(图1),与岩石颜色相近,当岩石出现与虫卵相似的外形时,模型就会误识别为死亡的虫卵(图8(b)和图8(f))。相比刘宁钟教授团队的成果[7],本文研究方法虽尚未达到其相近的识别精度,但因为本文主要着重于福寿螺虫卵的识别监测,对于虫卵精确数量并未深入探究。且由于本文网络模型引入CBAM注意力机制,目标更深层次的特征信息会被提取出来,如数据集中并没有标签的虫卵本文模型将其识别出来了,相当于式(1)中FP值提高了,则准确率就会降低。如图8(c)和图8(d)所示,对于虫卵孵化后仍残留在植物茎秆上的部分虫卵,数据集中并无标签,而本模型却将其识别为活的虫卵(图8(g)和图8(h)),这就在一定程度上影响了模型的精度。虽然本模型的精度还有待提高,但对于福寿螺虫卵识别监测已有不错效果。且本研究使用数据集为无人机进行采集,研究区域较大,对于未训练样本区域的数据也可进行识别,可提高虫卵的检测效率。本文提出的方法虽然能够较好识别出福寿螺虫卵,但无法直观从空间位置上显现出某一区域福寿螺入侵的程度。在后面研究中可利用多时相影像数据,采用摄影测量技术,研究空间尺度上福寿螺入侵的危害状况。
4 结论
在复杂的自然环境中检测定位病虫害,对于环境保护和作物病虫害防治具有重要意义。本文使用无人机采集的福寿螺虫卵影像数据集,利用引入CBAM注意力机制的YOLOv5s网络模型对福寿螺虫卵进行识别,提高对于虫卵小目标的特征信息提取。
1) 使用融合注意力机制的YOLOv5s-CBAM模型对福寿螺虫卵进行识别,对于活虫卵的识别的平均精度均值为75.2%,对于死亡虫卵检测的平均精度均值为92.4%,分别高于原始YOLOv5s模型0.7%和4.2%,且训练后模型大小为14.0Mb,小于预训练模型14.1Mb。因此,引入注意力机制的YOLOv5s-CBAM模型更能准确地识别和分类福寿螺虫卵,为防治福寿螺入侵提供相关技术参考。
2) 植物遮挡,背景相似和水中倒影在模型进行自动识别检测时会导致福寿螺虫卵的特征信息提取不完全或者特征识别错误,进而导致目标计数错误、误判和漏检,影响识别精度,但在引入CBAM注意力机制后影响有所改观。
YOLOv5s-CBAM网络模型应用于福寿螺虫卵的识别虽然取得了较好的效果,但是识别精度还有待提高,特别是在一些复杂场景下的检测。在以后的研究中,将继续优化模型结构,提高模型的鲁棒性和识别精度。
参 考 文 献
[1]Burks R L, Bernatis J, Byers J E, et al. Identity, reproductive potential, distribution, ecology and management of invasive Pomacea maculata in the southern united states [J]. Biology and Management of Invasive Apple Snails. Philippine Rice Research Institute, Maligaya, Science City of Muoz, Nueva Ecija, 2017, 3119: 293-333.
[2]刘义满, 戢小梅, 李长林, 等. 福寿螺[Pomacea canaliculata (Lamarck, 1819)]的世界分布[J]. 湖北农业科学, 2019, 58(6): 70-72, 77.
Liu Yiman, Ji Xiaomei, Li Changlin, et al. The global distribution of apple snail [Pomacea canaliculata (Lamarck, 1819)] [J]. Hubei Agricultural Sciences, 2019, 58(6): 70-72, 77.
[3]任和, 高红娟, 薛娟, 等. 福寿螺的生物学特性与防治[J]. 生物学通报, 2020, 55(12): 1-3.
Ren He, Gao Hongjuan, Xue Juan, et al. The preliminary study on biological characteristics and control methods of Pomacea canaliculata [J]. Bulletin of Biology, 2020, 55(12): 1-3.
[4]卓富彦, 王华生, 刘万才. 2011—2020年我国农田福寿螺发生防控情况[J]. 中国植保导刊, 2022, 42(1): 52-55.
Zhuo Fuyan, Wang Huasheng, Liu Wancai. Occurrence and management of Pomacea canaliculata in the farmland of China from 2011 to 2020 [J]. China Plant Protection, 2022, 42(1): 52-55.
[5]魏然, 吴承东, 谢洪芳, 等. 入侵性有害生物福寿螺在江苏的风险分析[J]. 扬州大学学报(农业与生命科学版), 2021, 42(6): 119-124, 37.
Wei Ran, Wu Chengdong, Xie Hongfang, et al. Risk analysis of the alien invasive pest Pomacea spp. in Jiangsu Province [J]. Journal of Yangzhou University(Agricultural and Life Science Edition), 2021, 42(6): 119-124, 37.
[6]贺超, 杨倩倩, 刘苏汶, 等. 我国外来入侵生物福寿螺种类的多重PCR鉴别方法[J]. 植物保护学报, 2019, 46(1): 97-105.
He Chao, Yang Qianqian, Liu Suwen, et al. Multiplex PCR detection of alien invasive apple snails introduced to China [J]. Journal of Plant Protection, 2019, 46(1): 97-105.
[7]Xu Y, Liu N, Yin T, et al. A multiscale feature fusion method for automatic detection of eggs from two Pomacea spp. in UAV aerial images [J]. IEEE Geoscience and Remote Sensing Letters, 2021, 19: 1-5.
[8]苗海委, 周慧玲. 基于深度学习的粘虫板储粮害虫图像检测算法的研究[J]. 中国粮油学报, 2019, 34(12): 93-99.
Miao Haiwei, Zhou Huiling. Detection of stored-grain insects image on sticky board u sing deep learning [J]. Journal of the Chinese Cereals and Oils Association, 2019, 34(12): 93-99.
[9]Chen J, Chen J, Zhang D, et al. Using deep transfer learning for image-based plant disease identification [J]. Computers and Electronics in Agriculture, 2020, 173: 105393.
[10]张博, 张苗辉, 陈运忠. 基于空间金字塔池化和深度卷积神经网络的作物害虫识别[J]. 农业工程学报, 2019, 35(19): 209-215.
Zhang Bo, Zhang Miaohui, Chen Yunzhong. Crop pest identification based on spatial pyramid pooling and deep convolution neural network [J]. Transactions of the Chinese Society of Agricultural Engineering, 2019, 35(19): 209-215.
[11]骆润玫, 殷惠莉, 刘伟康, 等. 基于YOLOv5-C的复杂背景广佛手病虫害识别[J]. 华南农业大学学报, 2023(1): 1-16.
Luo Runmei, Yin Huili, Liu Weikang, et al. Identification of bergamot pests and diseases in complex back ground using YOLOv5-C algorithm [J]. Journal of South China Agricultural University, 2023(1): 1-16.
[12]Fuentes A, Yoon S, Kim S C, et al. A robust deep-learning-based detector for real-time tomato plant diseases and pests recognition [J]. Sensors, 2017, 17(9): 2022.
[13]Redmon J, Divvala S, Girshick R, et al. You only look once: Unified, real-time object detection [C]. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2016: 779-788.
[14]Yan B, Fan P, Lei X, et al. A real-time apple targets detection method for picking robot based on improved YOLOv5 [J]. Remote Sensing, 2021, 13(9): 1619.
[15]Chen Z, Wu R, Lin Y, et al. Plant disease recognition model based on improved YOLOv5[J]. Agronomy, 2022, 12(2): 365.
[16]Chen J, Zhang H, He X, et al. Attentive collaborative filtering: Multimedia recommendation with item-and component-level attention [C]. Proceedings of the 40th International ACM SIGIR Conference on Research and Development in Information Retrieval, 2017: 335-344.
[17]黄彤镔, 黄河清, 李震, 等. 基于YOLOv5改进模型的柑橘果实识别方法[J]. 华中农业大学学报, 2022, 41(4): 170-177.
Huang Tongbin, Huang Heqing, Li Zhen, et al. Citrus fruit recognition method based on the improved model of YOLOv5 [J]. Journal of Huazhong Agricultural University, 2022, 41(4): 170-177.
[18]Woo S, Park J, Lee J Y, et al. CBAM: Convolutional block attention module [C]. Proceedings of the European Conference on Computer Vision (ECCV), 2018: 3-19.
[19]蒋芸, 张海, 陈莉, 等. 基于卷积神经网络的图像数据增强算法[J]. 计算机工程与科学, 2019, 41(11):2007-2016.
Jiang Yun, Zhang Hai, Chen Li, et al. An image data augmentation algorithm based on convolutional neural networks [J]. Computer Engineering & Science, 2019, 41(11): 2007-2016.