APP下载

多路感受野引导的特征金字塔小目标检测方法

2022-12-11张宝李小霞张婧卓亮彭帆

制造业自动化 2022年11期
关键词:金字塔卷积特征

张宝,李小霞,张婧,卓亮,彭帆*

(1.四川中烟工业有限责任公司绵阳卷烟厂,绵阳 621000;2.西南科技大学 信息工程学院,绵阳 621000)

0 引言

目标检测作为机器视觉领域十分重要的一个分支,一直是研究者关注的热点问题。其中小目标检测更是由于其目标像素少和噪点多等问题长期困扰着研究者[1]。对于小目标来说,利用浅层特征的传统方法已经满足不了检测需求,因此多层次的卷积神经网络是目前小目标检测技术的常用手段。

使用卷积神经网络检测小目标的主要难点在于获得高层次语义信息的同时会丢失低层的细节信息,因此容易造成小目标漏检。烟草甲是一种典型的小目标[2],并且具有与烟丝颜色相仿的保护色,而烟丝和粉尘也会造成检测背景复杂,因此更容易出现误检和漏检。自2017年Kaiming He等首次提出特征金字塔网络(Feature Pyramid Network,FPN)后[3],FPN被广泛的应用到了机器视觉领域,在目标检测方面也发挥了巨大的优势,FPN可融合高层特征信息与低层特征信息,既获得了高层的语义信息,也保留了低层的细节信息,在小目标检测上发挥了巨大的优势。自FPN提出后,其改进算法层出不穷,目标均是获得高层语义信息与低层细节信息之间更好的的融合方式。Ross等人提出RetinaNet[4],与FPN不同的是其特征融合从倒数第三层开始。Liu S等人提出PANet[5],提出了自顶向下的二次融合,对自底向上的FPN路径进行增强,缩短了信息传播路径,同时更好地利用了低层特征的精准定位信息。Liu S等人还提出了ASFF,将每一层的特征信息都与其他层次的特征信息相融合,在融合时采用了注意力机制,控制不同层次特征的贡献度。谷歌大脑团队提出NAS-FPN[6],旨在使用神经架构搜索,学习到更好的目标检测特征金字塔网络架构,在此基础上进一步提出BiFPN[7],在神经架构搜索的基础上进行人为设计,获得更好的特征金字塔网络。除了直接对FPN网络进行修改以外,还有些研究设计了可与FPN融合的模块提高检测效果,例如:Kai Chen等人提出的CARAFE[8]为一种全新的上采样方式,可以替换传统的上采样方式融入特征金字塔中,与传统的的上采样方式不同,CARAFE分为两个主要模块,分别是上采样核预测模块和特征重组模块,CARAFE首先利用上采样核预测模块预测上采样核,然后利用特征重组模块完成上采样,得到输出特征图,使之更加轻量级,可以获得更大的感受野,并随意嵌入分割或检测网络中。Liang-Chieh 等人提出的空洞空间金字塔池化(Astrous Spatial Pyramid Pooling,ASPP)[9]将具有不同空洞率的空洞卷积并行地应用到输入特征图上,以多个尺度捕捉图像的上下文信息。除此之外,其他基于FPN网络[10~14]的改进均一定程度的获得了检测效果的提升。

以上网络的改进大部分是在获得高低层次融合信息后继续增加路径,在增加网络复杂度的代价下提升了网络的性能,但在本质上并没有扩大网络高层的感受野,高层特征图语义信息不足,同时卷积网络重复下采样导致小目标信息丢失,网络难以有效提取烟草甲特征进行精确的预测。针对上述问题,本文提出一种多路感受野引导的特征金字塔的小目标检测方法,在传统特征金字塔的基础上融入多路扩大感受野模块,在不增加网络深度的情况下获取更大的感受野,提供更多的语义信息,提升网络模型的检测性能。最后将本文提出的算法与当前主流算法在自建数据集上进行性能对比和分析。

1 自建数据集

在卷积神经网络的学习中,质量优异的数据样本是网络训练的一个重要前提,因此制作一个优质的数据集是训练神经网络的首要条件。本文以烟草甲这种典型的小目标为例,验证本文提出算法的有效性。目前常用目标检测数据集内无公开的大规模烟草甲图片数据,为了获得质量优良的烟草甲数据集,本文采用自建数据集的方式,实地采集大量烟草甲的图片并且进行标注,使用自行设计的图像采集终端对烟草甲图片进行采集,选用的图片分辨率为1920×1080像素,标注工具使用的是LabelImg软件,图片标注格式为VOC数据集标注格式。自建数据集中烟草甲图片一共12861张,每张图片上烟草甲的数量不一,图片采集考虑到多种实际情况,具体各种情况数据分布如表1所示。

表1 烟草甲图片情况分布

为了更好地构建算法框架,本文对自建数据集内图片标注的实际目标框进行数据分析,统计了实际目标框的宽高以及实际目标框占整幅图片的宽高占比,采用热力图的形式展示,实际目标框的宽高热力图以及宽高占比热力图如图1所示。

图1 实际目标框宽高/宽高占比热力图

图1的热力图中,中间浅色部分代表目标数量多,外围深色部分代表目标数量少,根据热力图可看出实际目标框集中在40×40的像素大小,当下采样到32倍时,绝大部分目标只剩下一个像素,继续进行下采样会丢失绝大部分目标。

因此,根据以上数据统计,本文设定骨干网络2倍下采样次数不超过五次,保持下采样倍数不超过32倍,由此保证大部分目标信息不丢失。

从以上分析可知,在小目标检测时有必要对实际目标框宽高以及宽高占比进行统计,针对不同的小目标数据集,设定不同的下采样层数,保留大部分目标信息,可以保证骨干网络提取有效的目标特征。

2 方法

2.1 特征金字塔网络

特征金字塔网络(FPN)是由Kaiming He等人在文献[3]中提出的,FPN的提出解决了目标检测在处理多尺度变化问题时的不足,也降低了使用图像金字塔处理该问题时产生的高额计算量。FPN在图像金字塔各层特征图之间添加连接结构使特征图进行融合,再对融合后的特征图进行输出预测,连接结构如图2所示。

图2 FPN连接结构图

FPN通过骨干网络自底向上的方法提取各层特征图,再通过自顶向下进行上采样的方式将顶层的小特征图方法至与下一层特征图相同的大小。FPN中上采样的方式为最近邻插值法,最近邻插值法算法原理如图3所示。

图3 最近邻插值法算法原理

最近邻插值法的计算公式如式(1)、式(2)所示:

其中,s r c 表示旧图、d s t 表示新图,新图坐标(dstX,dstY)对应旧图坐标(srcX,srcY),srcWidth/dstWidth与srcHeight/dstHeight分别表示宽高缩放比。最近零插值法在计算坐标时,会将小数四舍五入至整数进行计算。

2.2 多路感受野引导的特征金字塔小目标检测网络

为了在不增加网络复杂度的同时获得更大感受野的特征图,本文提出多路感受野引导的特征金字塔(Multiple Receptive Fields guided Feature Pyramid Network,MRFgFPN)小目标检测网络,如图4所示。

图4 整体网络框架图

该网络包括获取目标图片特征的骨干网络、融合多路扩大感受野模块的特征金字塔网络以及具有两个分支的检测头网络这三个模块。本文选取可以更好地表征特征差异性以及拥有良好的特征提取性能的Resnet50网络[15]作为骨干网络;融合多路扩大感受野模块的特征金字塔网络将获得的特征信息经过多路扩大感受野模块后再进行特征融合,以引导网络获得不同层次感受野下的上下文信息,同时获取足够的语义信息和丰富的细节信息;最后通过两个分支网络得到目标的预测框以及分类置信度。

2.3 多路扩大感受野模块

感受野是深度学习中的一个基本概念,表示输出的特征图中某个节点的响应对应的输入图像的区域。原始的卷积神经网络主要以增加网络深度的方式增加感受野。记rn为第n层的感受野大小,kn为第n层的卷积核大小,si为第i层的卷积步长,卷积神经网络中感受野大小的计算公式为:

然而卷积神经网络中感受野的增大也伴随着图片分辨率降低和细节损失等问题。我们希望在获取更大感受野的同时不降低图片分辨率,由此空洞卷积[16]应运而生,当设置步长为1时,通过设置不同的空洞率可以在增大感受野的同时不降低图片的分辨率,从而解决在获取更大感受野的同时丢失细节信息的问题,空洞卷积感受野的计算公式为:

其中,rn-1为n-1层特征图的感受野大小,dn为空洞卷积的空洞率,(2∙dn+1)为空洞卷积的卷积核大小。

在小目标的检测任务中,为了保证大多数目标信息不丢失,在骨干网络中限定下采样的次数,但是有限次的下采样并不能获得足够的语义信息,因此为了在不增加下采样层数的同时获得更大的感受野以及更多的上下文信息,本文在特征金字塔网络融合多路扩大感受野模块,可以使本文设计的网络在保留细节信息的情况下获得更大的感受野以及更多的上下文信息,由此获得足够的语义信息,提高检测精度。

图5为多路扩大感受野模块示意图,该模块有四条并行支路,设置空洞率为1、3、5的三条并行支路对输入特征图进行空洞卷积,得到三个不同大小感受野的特征图并进行融合,然后使用1×1的卷积降低通道数,再与输入特征图融合,最后获得的输出特征图既保留了原有感受野下的细节信息,又获得了更大感受野下的语义信息。多路扩大感受野模块的计算公式如式(5)所示:

图5 多路扩大感受野模块

式(5)中,O为最终的输出特征图,I为输入特征图,M为对I进行空洞卷积后的三张特征图的连接特征图,Add表示特征图相加,M的计算公式如式(4)所示。

式(6)中,y1、y2、y3为对输入特征图进行空洞率为1、3、5的空洞卷积后的特征图,Concat表示将y1、y2、y3通道连接起来,y1、y2、y3的计算公式如公(7)所示:

式(7)中,DConv表示对I进行空洞卷积,括号内的第二列表示空洞率,第三列表示卷积核大小。

2.4 融合多路扩大感受野模块的特征金字塔网络设计

由于小目标的目标像素过小,不能采取传统的多次下采样的方式获得足够大的感受野,本文提出在传统的特征金字塔网络中融合多路扩大感受野模块,在不继续减小特征图尺寸的条件下,获取更大的感受野,提高小目标的检测率。本文提出的多路扩大感受野模块可以融入骨干网络与特征金字塔网络连接的任何一层,如图6(d)所示,其中深色方块为扩大感受野模块,通过后续消融实验发现在第四层特征图添加扩大感受野模块效果最好,因此本文对比试验仅在第四层特征图添加扩大感受野模块。

图6 特征金字塔网络设计

与其他特征金字塔网络相比,融合多路扩大感受野模块的特征金字塔网络并未在传统的预测输出后增加更多的融合路径,而是在骨干网络提取的特征信息的基础上增加并行的特征信息进行融合,在不增加网络复杂度的基础上可获得更大的感受野即更多的语义信息。

3 实验结果与分析

3.1 实验环境

本文的实验平台:CPU型号为Inter(R)Core(TM)i7-7700K、GPU型号为GeForce GTX 1080Ti、显存为11G、内存为32G的台式电脑;本文实验使用的深度学习框架为Pytorch1.2.0、Cuda10.1以及CuDNN7.6.4。在训练阶段,输入图片大小为1920×1080,然后经过缩放、裁剪补零操作后变换为1344×768,本文使用了随机水平翻转的数据增强方式,选用SGD优化器,初始学习率设定为0.01,训练批次大小为4,共训练70轮,为了微调模型,本文设定在训练了16轮之后将学习率降低为原来的1/3,在训练了30轮后,再次降低为上一次学习率的1/3。

3.2 评价指标

为了客观地评估小目标的检测结果,使用平均精度(mean Average Precision,mAP)作为评价指标。mAP是度量模型预测框类别和位置是否准确的指标,由于本文的检测只涉及到烟草甲虫这一种类别,因此精度与平均精度含义相同,是精度-召回率(Precision-Recall)曲线P(R)下的面积,mAP的计算公式为:

本文在进行测试时设置了三种不同大小的交并比(Intersection-over-Union,IoU)进行测试,IoU为预测框与真实框的交集与并集的比值。mAP0.5、mAP0.6、mAP0.7分别对应IoU=0.5、0.6、0.7时的平均精度。

3.3 实验介绍

在烟草甲虫的检测实验中,采用自建数据集中的2074张图片以及对应的标签作为实验数据,将图片按6:2:2随机分成训练集、验证集以及测试集。本文选用两种算法框架进行实验,分别是Faster R-CNN[17]和Cascade R-CNN[18],使用的骨干网络均为Resnet50。首先,对Faster R-CNN进行消融实验,即对特征金字塔的每一层分别添加多路扩大感受野模块进行结果对比。然后,在Faster R-CNN以及Cascade R-CNN的算法框架下将本文算法与目前主流的特征金字塔网络进行对比,对比的特征金字塔网络包括经典的FPN,二次融合的PANet,使用神经架构搜索的NasFPN,融合ASPP的特征金字塔网络形成Aspp_FPN,除此之外,还包括将上采样的CARAFE方法嵌入传统FPN中形成的CARAFE_FPN,由此验证本文提出算法的有效性。

3.4 实验结果与分析

表2为本文设计的多路扩大感受野模块添加在特征金字塔网络不同层的消融实验,算法框架为Faster R-CNN。本文将Resnet50的第二个到第五个卷积块的输出表示为{C2,C3,C4,C5},将{C2,C3,C4,C5}经过特征金字塔后的输出表示为{P2,P3,P4,P5}。由表2可知,多路扩大感受野模块添加在特征金字塔的C5~P5层时平均精度mAP0.5、mAP0.6、mAP0.7分别为90.3%、87.4%、59.5%,在将IoU阈值设定为0.5以及0.6时实验结果最好,这是因为相较于低层特征图,高层特征图的噪声信息减小了,避免了烟丝等干扰对烟草甲检测的影响,因此在高层添加多路扩大感受野模块可以更加有效地提高检测率,本文选择在C5~P5层即第四层特征图添加多路扩大感受野模块。

表2 消融实验结果

表3、表4为各种特征金字塔网络与本文提出的融合多路扩大感受野模块的特征金字塔网络在Faster R-CNN以及Cascade R-CNN两种算法框架下的对比试验,表明本文提出算法的有效性和普适性。在Faster R-CNN框架下本文提出算法的平均精度分别为:90.3%(IoU=0.5)、87.4%(IoU=0.6)、59.5%(IoU=0.7),在Cascade R-CNN框架下本文提出算法的平均精度分别为:90.1%(IoU=0.5)、87.4%(IoU=0.6)、61.7%(IoU=0.7),在不同的IoU阈值下本文设计算法的平均精度均达到最高,两种算法框架下的对比实验表明本文提出的算法优于目前主流的算法。

表3 Faster R-CNN框架下不同方法实验结果

表4 Cascade R-CNN框架下不同方法实验结果

4 结语

本文针对小目标检测时下采样次数有限而又需要足够的语义信息的问题,提出了多路感受野引导的特征金字塔(MRFgFPN)小目标检测方法。本文设计了一种多路扩大感受野模块,使用不同空洞率的空洞卷积使输出特征图具有更大的感受野,融合四种感受野大小的特征图可获得多层次的语义信息,在骨干网络和特征金字塔之间加入多路扩大感受野模块,可在不改变网络层数以及融合路径的基础上获得多种感受野下的上下文信息,同时获取足够的语义信息和丰富的细节信息,从而提高小目标检测精度。本文进行了大量的对比实验,在不同的算法框架下,本文方法的平均精度均优于目前主流的检测算法,表明本文方法对于烟草甲这样具有与烟丝颜色相仿的保护色且背景复杂的小目标检测具有更高的检测精度和实用性。

猜你喜欢

金字塔卷积特征
根据方程特征选解法
“金字塔”
离散型随机变量的分布列与数字特征
基于3D-Winograd的快速卷积算法设计及FPGA实现
Great Vacation Places
卷积神经网络的分析与设计
从滤波器理解卷积
不忠诚的四个特征
基于傅里叶域卷积表示的目标跟踪算法
金字塔是用金子造的吗