基于改进Faster RCNN的节肢动物目标检测方法

2023-02-03 03:01郭子豪董乐乐曲志坚
计算机应用 2023年1期
关键词:节肢动物偏移量卷积

郭子豪,董乐乐,曲志坚

(山东理工大学 计算机科学与技术学院,山东 淄博 255000)

0 引言

节肢动物数量庞大、种类多样、生活环境复杂,在全部动物物种中,节肢动物占比超过80%,是动物界中最大物种种类,囊括一百多万种的无脊椎动物。节肢动物分布广泛,对自然环境的变化反应敏感,因此节肢动物的鉴定与识别在生态环境监测、农田害虫监测[1-3]等方面有着重大的意义;然而,这些因素也给节肢动物的采样、分类和识别带来了巨大的挑战。通过节肢动物对环境进行监测,或者对农田病虫害情况进行分析,都需要先高效地对该区域内的节肢动物进行准确识别和采样。传统的节肢动物采样方法包括:1937 年Malaise[4]提出的马氏网诱集法,1993年綦立正等[5]提出的吸虫器法,1999年冯兰萍等[6]提出的盆拍法以及1999年周强等[7]提出的目测法人工采样方法。传统的节肢动物分类方法主要依靠专业的昆虫分类学家进行人工分类,这种识别方式不仅耗时耗力,而且对专业知识有着较高要求,难以普及和推广。

机器学习尤其是深度学习的高速发展为节肢动物进行实时、准确、自动的识别分类带来了新的契机。早期,人们利用昆虫的纹理、颜色等特征分别与支持向量机、人工神经网络等机器学习模型相结合对节肢动物进行识别。但是,节肢动物数据量大、种类丰富,人工神经网络学习容易欠拟合,识别效率不高,并且以往研究采用的数据集多为纯动物形式的模式照[8],相关模型或算法在实际的复杂背景的生态环境中难以对节肢动物进行准确的识别。近年来,将深度学习模型用于复杂背景下的昆虫自动识别已经取得了一些成果。2017 年Zhu 等[9]利用将深层卷积神经网络作为提取器、支持向量机作为分类器的方式对鳞翅目物种进行分类;2018 年谢娟英等[8]提出利用Faster RCNN 实现对节肢动物门下蝴蝶物种生态照的自动识别;2019 年Pang 等[10]通过聚类方法改进原始自定义锚框生成,并使用基于区域的全卷积网络(Region-based Fully Convolutional Network,R-FCN)模型实现自然环境下的昆虫识别;李策等[11]使用可变形卷积改进残差网络和感兴趣区域池化层(Region of Interest Pooling,RoI Pooling),通过迁移学习的方式实现蝴蝶检测;2020 年Zhang等[12]为了解决复杂自然环境下昆虫识别准确率低的问题,在DenseNet 中引入无边缘主动轮廓分割策略;2021 年袁哲明等[13]使用轻量化网络进行多尺度特征融合实现鞘翅目等物种的分类。

虽然深度学习模型在昆虫或动物识别领域取得了良好的效果,但是现有模型算法实现自然环境中节肢动物的识别和分类时仍存在一些问题:首先,节肢动物门数据集还不完善,大多数方法仅仅针对节肢动物门下具体某一目或某一种进行识别,模型在泛化能力和鲁棒性方面还存在着不足;其次,模型算法大多基于动物的模式照进行识别且偏向于分类,在自然生态环境复杂的情况下其识别精度和识别准确率难以满足实际需求;最后,实际采集的节肢动物数据中通常包含小目标和密集目标,而现阶段对此类问题的研究往往局限于通用目标检测或特定检测场景[14-16],缺乏检测小目标和密集目标的针对性方法。

针对以上问题,本文提出了一种改进Faster RCNN 模型的节肢动物识别方法,该方法适用于复杂背景下各种形态的节肢动物识别任务。不同于以往应用于节肢动物门下单一目或种的方法,本文方法实现了对节肢动物门下主要7 种目的检测,具有更好的泛化能力和鲁棒性;同时还针对自然生态环境下存在的密集目标、小目标以及复杂背景下目标的识别问题提出了有效解决办法。

1 ArTaxOr数据集

本文研究的数据来源于Kaggle 开源的ArTaxOr(Arthropod Taxonomy Orders Object Detection)数据集,它一共包含7 类,共15 376 张图片,具体类别数据分布如表1 所示。获取数据集后将图像标签文件转为MS COCO 格式,并将图像数据按照6∶2∶2 的比例随机划分成训练集、验证集和测试集。

表1 ArTaxOr数据集类别分布Tab.1 Category distribution of ArTaxOr dataset

ArTaxOr数据集部分数据集示例如图1所示。对ArTaxOr数据集进行观察和分析,可以发现数据集中的节肢动物图像具有以下特征:1)形态多变,所处环境复杂,且部分节肢动物拥有隐匿自身形态的技能;2)活动状态丰富,多数情况下处在爬行、飞行、交配、捕食与被捕食等运动状态下;3)各类目标尺寸不一,存在一定数量的小目标和密集目标。这些特征能够很好地反映节肢动物的自然生存环境,同时也给节肢动物目标检测带来了巨大的影响。为了提高自然环境下野外节肢动物检测的精度和准确率,本文改进了两阶段目标检测通用模型Faster RCNN[17],提出了具有良好检测性能的AROD RCNN(ARthropod Object Detection RCNN)方法。

图1 数据集示例Fig.1 Dataset examples

2 AROD RCNN方法

2.1 模型概述

AROD RCNN 方法是一种基于Faster RCNN 的节肢动物识别算法,而Faster RCNN 是一种能够真正实现端到端训练的两阶段目标检测模型。Faster RCNN 模型主要可以分为四个模块:特征提取网络、区域建议网络(Region Proposal Network,RPN)、RoI Pooling 以及分类和回归部分。

AROD RCNN 模型针对生态环境中节肢动物特点对Faster RCNN 模型中的四个模块分别做了相应的适配与改进,具体如下:

首先,针对野外节肢动物活动状态多样、节肢动物个体尺寸差异较大、数据集采集角度不统一等问题导致的利用常规卷积规则采样点难以学习到节肢动物在各种复杂场景下的姿态特征的问题,采用可变形卷积网络(Deformable Convolution Network,DCN)[18]重 塑Faster RCNN 骨干特征提取网络卷积层。

其次,针对一些节肢动物能够利用伪装与环境融为一体进行自我保护的特点,以及数据集中存在部分的密集目标图像,导致RPN 提取出的前景建议框中可能出现大量噪声、遮挡以及难以区分目标边界的情况,提出一种有监督的并行空间与通道注意力(Supervised Parallel Spatial and Channel ATtention modules,SPSCAT)结构,解决节肢动物图像数据集中小目标、遮挡目标、模糊目标和复杂背景的问题。

再次,由于节肢动物生态照中存在多尺度的目标,而多尺度的节肢动物目标差异会影响模型的识别效果,另外特征图在骨干网络中进行连续的下采样过程中往往会丢失小目标的位置和特征信息,所以使用特征金字塔网络(Feature Pyramid Network,FPN)[19]对底层空间位置特征和高层语义特征进行互补,可以在各级分辨率特征图中检测不同尺寸的目标。

最后,针对节肢动物数据集存在的密集目标问题,使用密集局部回归(Dense Local Regression,DLR)方法[20]对回归阶段进行改进,提高了模型回归的准确性。

改进后模型架构如图2 所示,使用3×3 的可变形卷积替换特征提取网络中C1~C5 块原有的3×3 卷积,并在C3~C5 块后加入了SPSCAT 机制,同时采用特征金字塔思想对C2~C6块进行特征融合,在最后的回归阶段使用密集局部回归。

图2 改进后模型的架构Fig.2 Architecture of improved model

2.2 可变形卷积和可变形RoI Pooling

在AROD RCNN 模型骨干网络中,可变形卷积对每一个采样点都增加了一个偏移量{Δhn|n=1,2,…,N}(N∈ |R|),此时卷积操作如图3 所示。由图3 可知,卷积操作由图3(a)变为不规则采样点图3(b);图3(c)和(d)为可变形卷积中的特殊情况,表明可变形卷积可适用于各种形态变化。

图3 常规卷积与可变形卷积的对比Fig.3 Comparison of conventional convolution and deformable convolution

常规卷积操作中采样点h0与可变形卷积采样点公式对比如下:

其中:R为规则网格,规定了感受野的大小;ω(hn)为权重;增加偏移量Δhn意味着需要对不连续位置进行求导,偏移量Δhn通常不是整数,这里利用双线性插值[21]来解决。

另外,普通卷积操作输出通道数为N的输出特征,同样的操作在可变形卷积中可以得到通道数为2N的输出特征,比普通卷积多了偏移特征,如图4 所示。

图4 可变形卷积过程Fig.4 Deformable convolution process

加入偏移量后,可能会出现卷积核的感受野大于目标区域的情况,为解决此问题,在式(2)加上惩罚项,改进后如式(3)所示:

普通RoI Pooling 是把一张特征图分为若干个形状规则、位置固定的区域,这给特征映射过程带来了局限性,进而会降低检测结果的准确性。ROI Pooling 也可借鉴可变形思想,在其原有结构上增加了偏移特征如式(4)所示(式(4)可由式(2)推出):

其中:nij是第(i,j)特征图区域空间块上像素数;Δhij是通过全连接层输出的偏移量矩阵。可变形的RoI Pooling 提取了更多的节肢动物的结构特特征,并且该模块中全连接层的参数可以通过反向传播进行学习调整,进而通过下采样加速训练。

标准卷积与可变形卷积的采样位置对比如图5 所示,可变形卷积采样点通过偏置矩阵的作用由原来的规则采样变成根据特征变换采样点位置,提取到的特征更具有代表性;同时感受野随特征的变化而变化,自适应地融合每个像素点相邻的相似结构信息,生成可变形的特征图像,进而提高检测的准确率。

图5 两种卷积的采样位置对比Fig.5 Comparison of sampling positions of two convolutions

2.3 SPSCAT机制与特征金字塔结构

SPSCAT 机制的网络结构分为两部分:虚线的上半部分为空间注意力模块,下半部分为通道注意力模块,如图6所示。

图6 SPSCAT机制的网络结构Fig.6 Network structure of SPSCAT mechanism

在空间注意力模块中,经过卷积得到的特征图首先投影到一组非对称的卷积结构中,通过各尺度的卷积得到不同尺度的特征映射,获取更丰富的空间特征,融合后再进行一次卷积得到包含目标区域与背景区域得分的显著性图(Saliency map)。同时对输入图像进行二值化,该操作通过对应标签给原始图像不同区域打分,设含有目标区域内得分为1,其他区域得分为0,以此得到二值图(Binary map),利用显著性图和该二值图交叉熵损失进行有监督训练。通过训练调整各尺寸卷积核的权重,提高对目标区域关注度,从而提高感兴趣区域特征的影响力、降低背景信息的干扰。

在通道注意力模块中,将获取到的特征信息沿通道方向分别进行全局平均池化和全局最大池化,将原始特征图压缩成一维向量,包含全局特征的向量再经过两个全连接层和一个激活层拟合通道间的相关性,分别得到两个通道特征图后进行融合,最后经过sigmoid 操作获得归一化后的权重并赋给每个特征通道。该模块不同于SE-Net(Squeeze-and-Excitation Network)[23]中只利用全局平均池化作为压缩操作的通道注意力机制,本文通过全局最大池化作为并联分支,能提升该模块的稳健性。

将加权处理后的空间特征图、通道特征图、原特征图相乘得到新的特征图FA,图7(b)、(c)分别为未经过注意力机制的特征图可视化结果和新的特征图FA可视化结果,图7(d)、(e)分别表示C5~C6 块中SPSCAT 模块下经过不同尺度特征映射的融合结果及显著性图。这表明该模块能够增强有效特征、减弱无效特征,而且还可以保留细小特征信息和上下文语义信息。同时,引入的监督机制可有效引导网络进行正确学习,有利于网络后期的分类和回归,增加网络的鲁棒性。

图7 可视化注意力机制和FPN融合Fig.7 Visualized attention mechanism and FPN fusion

为防止在连续的卷积操作过程中丢失小目标的特征信息,本文采用特征金字塔思想对特征提取网络中不同卷积块进行特征融合。图7(f)为使用FPN 进行特征融合得到的融合特征层P6 输出的可视化结果,图中高亮区域为模型预测目标所在位置,由该图可以得知特征金字塔结构能够拟合不同尺度目标的位置和语义信息,有效应对复杂环境下节肢动物尺度不一的问题。

2.4 密集局部回归方法

边界框回归一直是目标检测的难题,在Faster RCNN 模型回归阶段,输入是Q×Q大小的特征子图,将其作为一个单一的全局变量并求其在四个方向的偏移量,然后通过全连接层预测单个候选框的偏移量,如式(5)所示:

其中:(x,y)为框的中心点坐标,(w,h)为框的宽和高,G、P分别表示目标真实框与目标候选框。

使用上述方式进行回归预测往往会导致密集目标检测精度不高,回归框中有多个目标时准确率会大幅度下降。针对这一问题,在回归阶段使用密集局部回归方法,示意图如图8 所示。

图8 密集局部回归采样Fig.8 Dense local regression sampling

首先将Q×Q大小的特征子图中任一点作为特征点,针对每个特征点求其在4 个方向的偏移量O(m,n,s,v),使用各个局部特征对任意框的局部位置进行偏移预测,如式(6)所示:

其中:(x0,y0)为局部特征坐标;(xm,ys)、(xn,yv)分别为真实框左上角和右下角的坐标。

同时,为了减少计算多个偏移量所带来的计算量,引入新的矢量ti,其定义如式(7)所示:

在求偏移量之前利用交并比(Intersection over Union,IoU)判断特征点属于前景还是背景,然后在确定是有效特征点的基础上求取偏移量,最后将每一个特征点的偏移量取均值得到最终的特征图偏移量用作回归。

3 实验与结果分析

3.1 实验环境及超参数

本文所有实验均基于Ubuntu18.04 操作系统,使用深度学习算法框架Pytorch1.4.0 并利用GPU 进行加速计算,硬件系统为Intel Core i5-10400F,显卡为GeForce RTX 2070 SUPER。消融实验采用标准随机梯度下降法进行训练,batchsize 均为1,初始学习率为0.001 25,权重衰减项为0.000 1,梯度更新权值为0.9,每个实验均训练24 个epoch。

3.2 本文所用评价指标

本文设定IoU 在0.5~0.95 作为判断检测目标是前景或背景的阈值,使用平均精度(Average Precision,AP)、召回率(Recall)和各类别平均精度均值(mean Average Precision,mAP)等评价指标对各实验结果进行评价。其中,AP 是IoU为0.5~0.95 时,当前类别下模型Recall 为0~1 时的精度均值,计算方法如式(8)所示,即以召回率为横轴、精确率(Precision)为纵轴绘成的Precision-Recall 二维曲线与横轴间的面积。mAP 是所有类别平均精度AP 的均值,如式(9)所示。

3.3 实验结果与分析

为了量化分析Faster RCNN 中引入可变形卷积结构、特征金字塔结构、SPSCAT 机制、改进回归方式等方法对节肢动物目标检测性能的影响,本文分别使用上述方法与Faster RCNN 相结合,并在ArTaxOr 数据集上进行消融实验,消融实验中各模型结构以及结果如表2 所示,表中各模型骨干网络均为ResNet50,AT 均为SPSCAT 模块,DCN 均指DCNv2。图9反映了各模型在不同阈值下的PR(Precision-Recall)曲线。

从表2 和图9 的实验结果来看,分别引入可变形卷积(Faster RCNN-DCN)、SPSCAT 模块(Faster RCNN-AT)、特征金字塔结构(Faster RCNN-FPN)对原Faster RCNN 模型检测精度和召回均有较大的提升。其中单独引入SPSCAT 模块的检测效果较另外两个模型略有不足,原因分析如下:1)Faster RCNN-AT 结构是在特征提取网络中C6 块之后对特征图进行改进,网络输出的仅是聚集注意力的最高层特征信息,而特征图在进行连续的下采样过程中会丢失大量的像素信息,在SPSCAT 结构中的空间注意力部分获得的显著图无法很好地保留上下文语义信息,导致模型的鲁棒性较差;2)特征提取网络中特征图经过该模块叠加空间和通道注意力机制时,上层提取到的特征图受限于普通卷积的影响,同时,数据集中存在一部分图像目标被遮挡情况,被遮挡部分形状不规则,注意力机制能消除部分背景信息影响,较小程度的干扰信息依然会影响模型的效果。

图9 消融实验中各模型的PR曲线Fig.9 PR curves of different models in ablation experiments

从各模型识别效果来看,Faster RCNN 模型对节肢动物的检测效果并不理想。主要是因为ArTaxOr 数据集中存在密集小目标以及目标环境背景复杂等问题。说明Faster RCNN 模型针对单一目标、背景信息简单的节肢动物图像有较好的性能,但未能检测出隐匿能力较强的目标,即针对节肢动物外形纹理和背景相似的图像检测效果较差,对于多目标数据漏检率较高,对密集目标以及部分遮挡目标检测效果不佳。图10 给出了Faster RCNN 以及单独引入可变形卷积(Faster RCNN-DCN)、SPSCAT 模块(Faster RCNN-AT)、特征金字塔结构(Faster RCNN-FPN)在部分数据集中的表现,从图中可以看出,针对Faster RCNN 模型在检测自然生态环境下的节肢动物时存在的问题,各改进后的模型效果均有一定程度的改善。

图10 单独引入各方法的效果对比Fig.10 Comparison of effect of introducing single method individually

考虑到数据集图像中存在丰富的背景信息,使用特征金字塔结构进行不同尺度的特征融合能够很好地结合高低层特征的位置及语义信息,提高模型的鲁棒性,故后续消融实验均使用特征金字塔结构对骨干网络中的C2~C6 块进行特征融合,表2 中Faster RCNN-DCFPN(实验5)和Faster RCNNATFPN(实验6)对比实验表明在加入FPN 后,两个模型在节肢动物目标检测任务中拥有更好的拟合能力,尤其是Faster RCNN-ATFPN 模型,在引入有监督并行空间和通道注意力的基础上增强了特征,消除背景信息干扰的同时融合各层语义和位置信息,效果较可变形卷积加特征金字塔结构更优。改进模型较原模型在ArTaxOr 数据集上的mAP0.5:0.95提升了0.453,召回率提升了0.303,大幅度改善了漏检情况。

表2 消融实验中各模型结构及结果Tab.2 Structures and results of different models in ablation experiments

为验证DLR 方法对节肢动物目标检测效果的影响,在实验5 和实验6 的最后回归阶段使用了密集局部回归方法,结果如表2 中实验7 和实验8 所示。图11 分别为实验5~8 的对比效果,图中显示使用DLR 方法后针对密集目标以及目标被遮挡情况均有改善,说明模型在回归阶段通过利用IoU加入过滤掩膜剔除无效区域特征点,计算整个图中有效特征点在4 个方向的偏移矢量的方法对于边界框的回归有较大改进。

图11 二次引入各方法的效果对比Fig.11 Comparison of effects of introducing two methods

表3 为对比实验中各模型在节肢动物数据集中检测的各类AP 值(IoU 为0.5 到0.95 的各AP 均值),原始Faster RCNN 模型在数据集的7 个类别节肢动物检测中表现均较差,主要是漏检率和误报率高,尤其是膜翅目,由于该类别下多为密集目标图像且该类本身类间差距小、类内差距大,导致该类AP 值很低。表3 的实验结果表明,本文设计的各个模块对各类节肢动物检测精度有显著提升。

表3 消融实验中各模型的各类别AP值Tab.3 AP value of each category of each model in ablation experiment

通过热力图可以直观地看出各模型对待检测图像的感兴趣区域。图12 是对各模型在部分测试集中进行可视化分析的热力图及与原图叠加后的结果。图12(b)~(j)分别为实验1~9 中(详见表2)各个模型的效果,前4 张图像分别为不同环境下的密集目标实例,第5 张图像为包含大目标与小目标实例,最后一张图像为被捕食状态即被遮挡目标实例。图12 的结果显示,本文提出的模型对自然生态环境下的节肢动物检测取得了较好的检测结果,主要表现在:1)模型提取到的特征中几乎不含噪声,噪声等因素对模型检测干扰小;2)对于含多目标的图像,模型漏检率低、目标间边界清晰;3)包含语义和位置信息丰富,能够在复杂背景下对各种节肢动物精准定位,进而使得模型误识率(模型判定背景区域为 目标区域)低,精度高。

图12 消融实验中不同模型的热力图对比Fig.12 Comparison of heatmaps of different models in ablation experiments

为进一步验证本文提出的算法有效性,对比测试了现阶段主流的无锚框检测模型 FreeAnchor[24]、FoveaBox[25]、单阶段检测模型RetinaNet[26]、YOLOv4[27]、两阶段检测模型Double-Head RCNN[28]、Grid RCNN[29],实验结果如表4 所示,表中列出了各模型在节肢动物数据集中检测各类别精度以及所有类别平均精度和召回率。

表4 本文模型对比主流检测模型的结果Tab.4 Comparison results of the proposed model and mainstream detection models

总体而言,无锚框检测模型受限于回归方式的影响,预测时多为假阳性目标,故模型召回率较高但精度很低;单阶段检测模型受限于检测时回归方式单一、特征表达能力较弱,且模型检测误报率较高,故检测精度较差;对比而言两阶段检测模型在节肢动物数据集中具有更好的表现。而本文提出的模型充分考虑到数据集目标的特点,有针对地对数据集中存在的目标背景复杂、形态多变、小目标和密集目标问题进行改进,故对于节肢动物检测效果优于上述主流模型,在各类别检测中也表现出良好的性能。

4 结语

针对野外自然环境下节肢动物检测精度和准确率不高的情况,改进了Faster RCNN 的节肢动物目标检测方法,改进模型较原模型在ArTaxOr 数据集上的mAP0.5:0.95提升了0.453,召回率提升了0.303,大幅度改善漏检情况。首先,提出了一个新的注意力机制SPSCAT,采用有监督的学习方式使模型更关注待检测目标区域的特征,避免采集和学习大量无用背景特征,降低了节肢动物所在环境的影响,解决了提取目标特征时含有大量噪声和遮挡问题,更易于区分交杂在一起的节肢动物,改善了漏检误报情况;由于注意力机制更倾向于关注全局特征分布,为充分利用局部信息的特征,使用可变形卷积重塑骨干网络中的普通卷积,同时使用可变形RoI Pooling 使模型更准确地拟合不同节肢动物的形状和位置特征,大幅度提高模型的检测精度和泛化能力。其次,使用特征金字塔结构进行特征融合,保留小目标的低级语义特征,避免高分辨率和低分辨率特征图中同时包含的目标信息丢失,显著提升了小目标节肢动物的检测精度。最后,在模型的回归阶段使用密集局部回归方法,利用全卷积网络代替全连接层对每个候选子区域进行回归预测,实现节肢动物在不同背景下的精准定位。

为进一步验证模型的泛化能力,后续将对数据集种类进行扩充,并在原有数据上进行光照畸变、几何畸变等数据增强方法,模仿人类对节肢动物分类的过程,采用半监督学习方式进行训练,提高模型性能;同时,今后还要深入研究节肢动物类间差异与类内差异导致模型检测存在误报的问题。

猜你喜欢
节肢动物偏移量卷积
基于格网坐标转换法的矢量数据脱密方法研究
基于3D-Winograd的快速卷积算法设计及FPGA实现
蝉为什么会蜕皮
采伐胁迫对大兴安岭针阔混交林地表节肢动物群落的长期影响*
卷积神经网络的分析与设计
从滤波器理解卷积
古老的节肢动物
基于AutoLISP的有轨起重机非圆轨道动态仿真
翻斗鱼
DEM辅助偏移量跟踪技术的山地冰川运动监测研究