APP下载

基于改进YOLOv4-tiny的节肢动物目标检测模型

2024-01-24吴建平何旭鑫高雪豪

计算机技术与发展 2024年1期
关键词:节肢动物卷积特征

余 咏,吴建平,2,何旭鑫,韦 杰,高雪豪

(1.云南大学 信息学院,云南 昆明 650504;2.云南省电子计算中心,云南 昆明 650223)

0 引 言

节肢动物在目前已知的物种中约有三分之二,Arthropoda,其门下包括常见的蜘蛛、甲虫、蚊子、蝉、蚂蚁、蜜蜂、飞蛾、豆娘等。现阶段,对节肢动物的检测手段相对局限,耗时耗力。因此,提高昆虫识别的准确率和效率,进而促进精准农业节肢动物的鉴定与识别,对生态环境监测[1-2]、减少病虫害损失等方面有着重大的意义。

目前,常见的卷积神经网络检测算法可划分为单阶段目标检测算法和两阶段目标检测算法。只进行一次特征提取的目标检测算法以YOLO(You Only Look Once)[3],SSD(Single Shot multibox Detector)[4],RetinaNet[5]系列算法为代表,提升检测速率同时兼顾了较好的准确性。两阶段目标检测算法以R-CNN为代表,后续衍生出Fast R-CNN以及Faster R-CNN[6],检测精度得到大幅度提升,但因网络参数量较大,导致检测速度较慢;单阶段目标检测算法在一定程度上比两阶段目标检测算法的检测效率更高,使得实时检测成为了可能。

近年来,基于深度学习的发展,为识别方向的研究奠定了坚实的基础,对节肢动物检测提供了可能。 2019年Lin等[7]通过改进灰狼优化算法,利用主旋转局部二值模式(Dominant Rotated Local Binary Patterns,DRLBP)的纹理特征提取算法作为提取器,基于概率协同表示的分类器(Probabilistic Collaborative Representation Based Classifier,PROCRC)实现鳞翅目昆虫识别;2020年黄世国等[8]使用一种新的特征选择技术以准确、快速地对鳞翅目进行分类;2021年谢娟英等[9]提出2种新的注意力机制,DSEA(direct squeeze-and-excitation with global average pooling)和DSEM(direct squeeze-and-excitation with global max pooling),改进单阶段目标检测典型算法RetinaNet,对自然环境鳞翅目(Lepidoptera)其下蝴蝶科进行自动识别;唐万梅等[10]使用新的区域候选框建议提取网络Imp-RPN进行融合,在改进损失函数的基础上,提取特征再筛选,通过迁移学习的方式实现蜻蜓目检测;2022年Guo等[2]设计了基于YOLO v5的昆虫识别方法,解决小样本情况下识别少量类别精确度的问题,实现对四种有害昆虫的识别。

当前算法大多只对某一种或单一目的节肢动物进行自动识别,在自然环境复杂多样的条件下难以满足实际的检测需求。因此,该文提出了基于轻量化、易部署的YOLOv4-tiny目标检测框架,针对自然生态环境下存在的密集目标、复杂背景及多尺度等情况提出改进算法。该算法将提取的浅层特征和深层特征进行融合,针对性改变原有模型结构,通过类激活图对提取特征有效性分析后,验证了该算法的可行性。

1 YOLOv4-tiny-ATO

自然环境下由于节肢动物背景复杂、形态万千、遮挡目标和目标尺度多样等因素,对节肢动物特征进行提取时,容易出现边界不清晰,噪声过多,导致模型检测效率不高,边界框预判错误的情况。该方法从硬件设备的配置要求出发,选取具有易部署、多尺度、端到端等特点的轻量级模型YOLOv4-tiny[11]进行节肢动物检测的研究。引入可变形卷积(DCN)以及改进的加权双向特征金字塔,重塑卷积和特征融合方式进行多尺度预测;结合空间、通道卷积注意力机制(CBAM),抑制背景噪声;在FPN网络中引出一层Feat@3,嵌入空间金字塔池化结构,有效提取节肢动物的各种显著特征。改进后模型泛化能力和鲁棒性更强,将其命名为YOLOv4-tiny-ATO。

1.1 可变形卷积(Deformable Convolution)

可变形卷积(DCN)的核心思想是在原有卷积的基础上,通过增加空间采样点数量,利用额外的偏移量实现对目标形态学习感知(如图1所示),新的卷积方式不需要额外的监督学习,而是直接进行反向传播,便能完成端到端的正则化学习。

常规定义卷积公式如式1:

(1)

其中,pn是由卷积核规定对于p0的偏移量,p0是输出feature map中的采样点。

可变形卷积与式1相比,在原有基础上多出的偏移量,则是由输入feature map通过第二层卷积对每一个点进行卷积生成,绝大部分非整数。

(2)

由于偏移量Δpn大部分为非整数,无法对在feature map 上的采样点进行求导,便利用双线性插值(Bilinear)的方法获得间断点采样值,公式表示如下:

(3)

双线性插值的主要思想是通过对采样点进行归一化处理后,使其与feature map上临近4个像素点,根据采样点横纵坐标来规定处理每个点的权重,利用线性函数进行求值,最终得到目标像素的值。从上式可看出,函数中规定了对间断点插值的权重距离,最大值小于1个像素距离max(0,1-...)。

两种卷积采样位置对比如图2所示。

图2 两种卷积采样位置对比

在可变形卷积结构中,其偏移量是通过另一层卷积结构进行计算得到,属于同一个网络结构,不同卷积层进行处理的结果,均可在网络中进行梯度反向传播训练。可变形卷积核权重通过目标形状特征进行自适应动态处理,将偏移量结合学习后,实现对复杂的不规则图像内容进行特征提取。

1.2 激活函数改进

在YOLOv4-tiny网络中的激活函数采用LeakyRELU,其函数表达如下:

(4)

选用更优的ELU激活函数代替YOLOv4-tiny网络中的LeakyRELU函数,其函数表达式如下:

(5)

图3 激活函数ELU和LeakyRELU对比

式中,x为输入图像的特征,α数值可变,负值部分饱和程度由α控制。由式5能够看出ELU在x≤0时能够更好的收敛,是因为此时具有指数函数特性。图3为激活函数Leaky RELU与ELU的对比,从图中能够看出,在负区间,ELU比LeakyRELU对噪声的过滤效果更好,收敛速度更快。

1.3 基于注意力机制的多尺度预测

基于节肢动物尺度差异较大的特性,YOLOv4-tiny模型仅对两级有效特征层进行预测,再进行特征聚合,在模型训练过程中,检漏、误检情况较多,实际效果并不理想。增加一级浅层有效特征层,位于网络颈部,尺寸为52×52,扩大特征提取感受野。引入注意力机制,能够有效弥补添加浅层特征层带来的问题,减轻提取过多背景噪声带来的负面影响。

前馈神经网络卷积块注意力机制,是一种简单有效的轻量型双独立维度(Spatial and Channel)注意力机制模块(CBAM),仅需要较少的计算资源,便可无缝集成到YOLOv4-tiny模型中,具体网络结构如图4所示。

1.4 引入改进BiFPN和SPP空间金字塔池化

YOLOv4-tiny网络模型采用FPN结构,但由于其融合特征的方式是单向的,导致提取的不同尺度信息利用率不高。于是,在FPN基础上,改变那些只有一个输入的节点,自顶向下对不同特征进行融合,引入 PANet(Path aggregation network)[12]实现双向路径聚合,其次,将同一级输出与输入节点进行链路聚合,引入BiFPN双向特征金字塔结构,减轻网路负担的同时,能够有效提取目标中更具有代表性的特征信息。根据训练实际情况,由于过多的链路聚合的方式存在,融合了大量节肢动物的无效特征信息,从而移除横向尺度链接,降低了过拟合。BiFPN和改进BiFPN的网络结构如图5所示。

图4 CBAM网络结构

(a)FPN (b)BiFPN (c)改进BiFPN

SPP能解决因全连接层特征数固定,导致输入图像尺寸与输入标准不统一的问题,对多方面特征进行融合,丰富提取特征的语义表达能力。为针对节肢动物图像尺寸大小不一导致语义信息模糊的情况,在特征融合网络中嵌入空间金字塔池化SPP结构,使模型检测性能得到提升。

1.5 YOLOv4-tiny-ATO网络结构

结合空间、通道卷积注意力机制(Convolutional Block Attention Module,CBAM)[13]、可变形卷积(Deformable Convolution,DCN)[14],在其颈部网络引出52×52的大尺度特征层,引入改进的加权双向特征金字塔(Bidirectional Feature Pyramid Networks,BiFPN)[15],重塑卷积和特征融合方式进行多尺度预测,并在FPN前加入空间金字塔池化结构(Space Pyramid Pooling,SPP),有效提取节肢动物的各种显著特征,使模型泛化能力更强。改进后的模型命名为 YOLOv4-tiny-ATO,模型结构如图6所示。

图6 YOLOv4-tiny-ATO 节肢动物检测模型

2 实验方法与分析

2.1 模型训练环境与方法

所有模型使用深度学习框架Pytroch1.10.0+cu113,加速环境为CUDA11.0,GPU型号为NVIDIA GTX3060,显存6 GB,CPU型号为AMD Ryzen 7 5800H CPU @3.2 GHz。batchsize设置为16,图片输入尺寸416×416,使用余弦退火算法进行训练,最小学习率为0.001,最大学习率为0.01,每个实验均迭代70个epoch。

2.2 数据集

使用公开带标签的节肢动物图像数据集,称其为节肢动物数据集(Arthropod Taxonomy Orders Object Detection Dataset,ArTaxOr),所描述的节肢动物种类超过130万种,总共有15 374张图。包括双翅目(Diptera)(蚊子、蠓等)、鳞翅目(Lepidoptera)(蝴蝶、飞蛾)、蜘蛛目(Araneae)(成蛛、幼蛛)、膜翅目(Hymenoptera)(蚂蚁、蜜蜂、黄蜂)、鞘翅目(Coleoptera)(甲虫)、蜻蜓目(Odonata)(蜻蜓,豆娘等)、半翅目(Hemiptera)(蚜虫、蝉、飞虱、盾蝽等)七类,部分数据集图像如图7所示。将其按比例8∶2,随机划分为训练集(12 234张)和验证集(3 140)张。

图7 部分数据集图像

2.3 模型评价指标

该文规定IoU=0.5~0.95作为判断阈值,采用平均精度(Average Precision,AP)、平均精度均值(mean Average Precision,mAP)、检测速度(FPS)、模型大小(Model size)和召回率(Recall)5种性能指标对各实验进行评价。其中,召回率为被检测出的正样本,如式6所示。AP是针对一组IoU阈值分别为0.5~0.95时计算的,当前类别下模型Recall为0~1时的平均精度,即以精确率、召回率绘成的PR曲线下的面积,计算方法如式7所示。FPS指每秒检测的图像数量,单位为帧·s-1。 mAP是每类别平均精度AP的均值,如式8所示。

(6)

(7)

(8)

2.4 YOLOv4-tiny-ATO模型收敛性能

YOLOv4-tiny-ATO模型,加载YOLOv4-tiny预训练权重,实验损失曲线如图8所示。损失在0~10poch 明显下降,后续快速趋于平稳,说明余弦退火算法匹配性强,改进后的模型训练效果较好。当epoch为50时,val loss和train loss接近收敛,在第epoch为70时模型具有良好的稳定性,训练损失基本收敛,模型性能达到最佳,实验表明该改进方法是可行的。

图8 训练损失和验证损失曲线

2.5 YOLOv4-tiny-ATO模型的消融实验

消融实验采用余弦退火算法进行训练,为了量化YOLOv4-tiny模型,引入以上改进方法对节肢动物检测,逐一增添机制与模型结合,实验结果如表1所示。

表1 消融实验模型结构及结果

根据实验数据来看,在YOLOv4-tiny模型基础上,从特征融合网络中引出Feat@3,但对模型性能的提升并不明显,主要原因在于浅层特征虽然能提取更多的特征信息,同时也会忽略更多特征信息中的无效信息及噪声。 YOLOv4-tiny_Feat@3_CBAM模型嵌入注意力机制能够在不增加计算量的前提下,一定程度上改善对目标的关注度,快速获取高语义特征信息。 YOLOv4-tiny_Feat@3_CBAM_BiFPN 模型引入改进的特征金字塔结构,仅占用较少计算资源,有效融合不同层级的信息,从而进行多尺度特征表示。YOLOv4-tiny_Feat@3_CBAM_BiFPN_DCN 模型在引入 DCN后,模型通过反向传播更好的自适应学习目标形态特征,显著提高了模型的检测性能。

2.6 YOLOv4-tiny改进前后的对比结果

改进前后模型进行实验对比,效果如图9所示。YOLOv4-tiny模型出现较多的误检、漏检以及预测锚框位置不准确等情况,改进后的YOLOv4-tiny-ATO模型对于不同环境下的目标检测效果明显提升,弥补了原模型对密集目标检测性能差的缺陷,同时提高了对拟态动物的检测效率,预测锚框定位也更加准确。

图9 改进前后模型检测效果

2.7 不同模型的对比实验

为进一步验证提出的YOLOv4-tiny-ATO算法的优越性,对比了目前主流单阶段end-to-end的全卷积神经网络模型RetinaNet、YOLO系列目标检测算法 YOLOv4和YOLOv5-l[16]以及现阶段节肢动物检测效果最优模型AROD RCNN[17]。实验数据如表2所示,利用各类AP、Model size、mAP、recall和FPS对模型进行评估。

从对比数据可看出,文中模型对节肢动物检测有针对性的改善,提出的YOLOv4-tiny-ATO模型在大小仅为54.6 Mb的前提下,很好地平衡了整体的性能,检测精度和召回率分别为0.725和0.585,检测速度达到89.6帧·s-1。因此,在模型大小、检测速度上更适用于移动端部署,检测精度也满足对节肢动物的检测需求。

2.8 类激活图可视化分析

基于梯度定位的Grad-CAM[18]网络可视化结构,通过类激活图呈现出可视化图像,能观察出模型对图像中感兴趣的区域。模型改进前后的热力图对比结果如图10所示,两个模型进行对比后发现, YOLOv4-tiny模型对单一目标关注度比 YOLOv4-tiny-ATO更高,YOLOv4-tiny-ATO模型对密集目标和重叠目标均可较好地进行定位关注。从热力图分析可看出,改进的模型具有以下特性:

(1)在复杂背景前提下,能有效区分噪声边界,提取出具有高语义的特征信息;

(2)对于复杂背景,被遮挡目标的图像,模型特征提取效率高,目标边界清晰;

(3)模型关注度匹配于节肢动物多重特性,有效区分出待检测目标。

图10 改进前后模型类激活图

表2 对比主流检测模型结果

3 结束语

基于轻量型易部署的YOLOv4-tiny目标检测框架,提出一种自然环境复杂背景下改进的节肢动物检测算法。通过替换原模型特征融合网络为改进的BiFPN,有效融合高语义信息,并在其网络颈部引出Feat@3,提高模型特征提取感受野,嵌入CBAM减少感受野扩大带来的背景噪声干扰,改变原有卷积方式为DCN,自适应融合临近形状和位置特征,使检测感受野随特征的变化而变化。针对节肢动物门下7类物种,在模型大小、检测速度和检测精度达到平衡的前提下,能够一定程度上解决背景复杂、数量密集及重叠等问题,有效提升了模型的检测性能。

通过实验结果证明,提出的各项方法在YOLOv4-tiny模型上进行改进的有效性,改进后的YOLOv4-tiny-ATO模型,识别节肢动物的平均精度达到0.725,召回率为0.585,检测速度为89.6帧·s-1,且模型大小仅为54.6 Mb,较YOLOv4-tiny原始模型,mAP提高0.426,Recall提高0.274。对比目前节肢动物最优模型AROD RCNN,大小仅占其16.7%,mAP提升0.008,FPS提高82.4帧·s-1。该模型对自然环境下的节肢动物检测性能良好,移动部署性强,可为节肢动物鉴定识别、生态监控和减少病虫害损失等方向的研究提供参考。

猜你喜欢

节肢动物卷积特征
三眼巨虾化石揭示节肢动物演化
基于3D-Winograd的快速卷积算法设计及FPGA实现
蝉为什么会蜕皮
如何表达“特征”
从滤波器理解卷积
不忠诚的四个特征
古老的节肢动物
基于傅里叶域卷积表示的目标跟踪算法
抓住特征巧观察
贵阳学院不同植被上节肢动物的群落特征