ronghuaiyang · 9月20日 · 北京市

RFLA:基于高斯感受野的标签分配策略,大大提升小目标检测能力

导读

使用RFLA,实验表明,在4个数据集上都是有效的,特别是在AI-TOD数据集上,超过了当前的SOTA达到4.0AP。

image.png

摘要:检测小目标是物体检测的主要问题之一。通用的物体检测器,在遇到小目标的时候,检测效果就会急剧下降。在本文中,我们指出,无论是有先验框的anchor based物体检测器,还是使用先验点的anchor free的物体检测器,对于小目标都不是最优的。我们的关键发现在于,当前的anchor based和anchor free的物体检测器的label分配策略会产生很多小尺寸的ground truth离群点样本,这导致检测器不能很好的聚焦于小目标上。因此,我们提出了基于高斯感受野的label分配策略(RFLA)。具体来说,RFLA首先利用了特征感受野加上高斯分布的先验信息。然后,不是用IoU或者中心采样的策略来分配标签,我们使用一种新的感受野距离(RFD)来直接度量高斯感受野和ground truth的相似度。考虑到基于IoU阈值和中心采样的策略是偏向于大目标的,我们进一步设计了一种层次标签分配模块,来为小目标达到一种平衡的学习。实验表明,我们的方法在4个数据集上都是有效的,特别是在AI-TOD数据集上,超过了当前的SOTA达到4.0AP。

代码:https://github.com/Chasel-Tsui/mmdet-rfla

1.介绍

小目标,一般是指小于16x16像素的目标。由于小目标缺少可区分的特征,通用的物体检测器往往效果不好。在本文中,我们讨论了当前的先验框和先验点的方法,以及对应的度量策略对于小目标都不是最优的,会对标签分配有不好的效果。具体来说,我们以单个先验框和先验点为例子,从分布的角度进行了重新的思考。

image.png

首先,单个先验框和先验点都只有有限的域(的地方),而现有的标签分配度量是高度依赖于重叠的区域的。也就是说,当某个gt和特定的先验没有重叠的时候,这种位置关系没办法通过IoU和中心来解决。而对于小目标,这是很常见的情况,因此会导致正样本的缺失。因此,启发式方法常常用来保证小目标有更多的正样本。但是,这种分配方式往往不能抵消IoU不重叠,或者没有中心点带来的问题。因此,网络往往关注小目标较少。第二,当前的先验区域基本上对每个位置均匀分布的,然而,先验信息对于辅助标签分配的过程是非常重要的,在这个过程中,一个隐含的规则是将带有合适感受野的区域的特征点分配给gt。之前的工作已经从理论上分析过,当把特征点的感受野映射回到输入图像上,感受野的作用域实际上是一个高斯分布。先验的均匀分布和感受野的高斯分布之间的gap会导致gt和感受野特征点分配之间的不匹配。

为了缓解这个问题,我们介绍了新的基于高斯感受野的先验,并设计了基于高斯感受野的标签分配策略(RFLA)。本文的贡献如下:

(1)我们从实验上回顾了当前的anchor-based和anchor-free的物体检测器存在的在小目标的标签分配上的尺度样本不均衡的问题。

(2)为了缓解这个问题,我们提出了一个简单有效的方法,基于高斯感受野的标签分配(RFLA)策略,可以方便的替换标准的基于框和基于点的标签分配策略,提高小目标的检测能力。

(3)在4个数据集上的试验表明我们的方法的有效性,可以大大提高小目标的检测能力,而且在推理阶段无额外开销。

2. 小目标检测

现有的小目标检测方法大致可以分为4类:数据增强,多尺度学习,自定义训练策略和特征增强策略。

数据增加这是一个简单有效的方法,就是收集更多的小目标的数据。另一种是使用简单的数据增强的方法,如旋转,翻转,上采样,复制粘贴等等。

多尺度学习多尺度学习的基本方法是使用不同分辨率的图像金字塔进行学习。为了降低计算量,有些工作提出构建特征级别的金字体。后来,更多的方法放在如何提升FPN上,如PANet,BiFPN,RecursiveFPN等,还有TridentNet构建了多个分支的检测头使用了不同的感受野来生成特定尺度的特征图。多尺度学习一般都可以提升小目标检测的效果,但是会增加计算量。

自定义训练策略物体检测器往往不能在小目标和大目标上同时达到很好的效果,受到这个现象的启发,SNIP和SNIPER设计了一种策略,可以选择特定尺度范围的目标进行训练。SAN将不同空间的特征映射到不同尺度的之空间中,是的检测器对尺度变化更加鲁棒。

特征增强策略有些工作通过超分辨率或者GAN的方法来增强小目标的特征表示。PGAN首次尝试将GAN引入小目标检测中,MT-GAN训练了一个图像级别的超分辨率模型来增强小目标的RoI区域的特征。

目前大部分的方法都需要引入额外的标注或者计算量。相比之下,我们的方法从标签分配的角度切入,不增强额外的开销。

3. 物体检测中的标签分配

anchor-based和anchor-free物体检测器之间的本质区别在于如何定义正负样本。正负样本的选择会很大程度上影响检测器的性能。最近,有许多工作提出了更好的样本分配策略,FreeAnchor基于检测定制化的相似度来决定正样本的anchor,PAA利用GMM来建模anchors的分布,并基于GMM的中心来划分正负样本。OTA将标签分配过程当成最优传输过程,并寻求解决最优化分配策略。ATSS通过统计特征动态调整正负样本。AutoAssign和IQDet基于预测的IoU和置信度重新加权高质量区域的样本。

不同于上面的这些通用的目标检测策略,这篇文章聚焦于针对小目标检测来设计先验信息以及对应的标签分配策略。

4. 方法

4.1 感受野建模

物体检测的一个基本原则是分而治之,也就是FPN的不同层去检测不同尺度的物体。具体来说,anchor-based目标检测器将不同尺度的先验框分配到不同的FPN的层上,检测器在FPN的不同层上检测不同尺度的目标。对于anchor free的检测器,将不同尺度范围内的目标分配到FPN的不同层上。尽管标签分配策略各有不同,基本的原则就是将合适的感受野的特征点分配到对应的目标尺寸上。因此,感受野可以直接作为标签分配的一个很好的先验信息,不需要启发式的设计anchor框的设置和尺度的组合。

image.png

4.2 感受野距离

得到高斯分布的有效感受野ERF,下面就是度量特征点的ERF和某个gt之间的匹配度。前面讨论过,均匀分布不能很好的适配小目标,需要将gt建模为另外的分布。

image.png

KLD是具有尺度不变性的,这对目标检测很重要。但是主要的缺点是当两个分布重叠很小的时候,不能连续反应出距离的变化。因此,本文选取EFR和gt之间的KLD作为另外一个RFDC。

总的来说,我们研究了3种经典的分布相似性的度量方法,选取了Wasserstein距离和KL散度作为RFDC。然后,我们对RFDC做一个非线性变换,得到RFD,并归一化到(0,1)范围内,如下:

image.png

4.3 层次化标签分配

有些anchor-based目标检测器设置了一个IoU的阈值来决定正负样本,anchor-free的检测器一般通过空间位置来确定正负样本。而小目标往往在这两种策略上的效果都不好,我们提出了一种使用得分排序的层次化的方法来分配标签。

image.png

4.4 应用到检测器中

提出的RFLA策略可以方便的应用到anchor-based和anchor-free的框架中,不失一般性,我们以Faster R-CNN和FCOS为例。具体来说,对于Faster R-CNN,RFLA可以用来代替标准的anchor分配过程。对于FCOS,我们去除掉特征点需要在gt框之内的限制,然后可以很方便的代替基于点的分配策略。注意,我们将centerness损失修改为下面的形式,避免梯度爆炸:

image.png

和式(1)类似,c设置为0.01避免中心点在gt框以外的时候梯度消失的问题。

5. 实验

5.1 数据集

我们在4个数据集上进行了实验,主要的实验是在AI-TOD数据集上做的,这个数据集的平均目标尺寸为12.8像素,包括28036张图像。我们还在TinyPerson,VisDrone2019和DOTAv2.0数据集上做了实验。这些数据集都包含大量的小目标(小于16x16像素)。

5.2 实验设置

所有的实验都是在一块NVIDIA RTX 3090 GPU上做的,核心代码基于MMDetection构建,用ImageNet的pretrain模型作为主干。优化器为SGD,训练12个epochs,0.9的momenta,weight decay 0.0001,batch size为2。初始的学习率为0.005,在第8和第11个epoch的时候学习率下降。RPN的proposals数量为3000。

5.3 消融学习

RFD的有效性我们分别使用了WD和KLD来作为距离的度量,我们还测试了GIoU的效果。所有的实验都是基于Faster R-CNN w/HLA因为HLA和RFD是独立的。结果见表1,我们发现,GIoU对于RFD的效果不好,WD和KLD的效果相当。之前说过,由于KLD具有尺度不变性,因此对于非常小的目标会更好,后面的实验中,我们使用KLD作为默认的RFD。

image.png

各个部分的有效性本文的核心设计是独立的,可以分为2个部分:层次化标签分配(HLA)策略和基于HLA构建的感受野距离(RFD)。注意,RFD的验证需要在第一个步骤上使用HLA,我们没有在RFD上用阈值来分配标签,因为原始的阈值是基于IoU来设计的,和RFD不是相同的维度。我们将RFD和HLA逐步应用到Faster RCNN中,结果见表2,AP逐步的提升。当切换到基于RFD的分配策略的时候,有9.6AP的提升。这个解释了框的先验的局限性,anchor和gt之间的IoU是非常小的,很多的gt无法匹配到anchor。使用高斯先验和RFD的时候,可以度量出所有的特征点和特定gt之间的RFD得分,即便是这个gt和所有的先验框都没有重叠,也可以在合理的感受野范围内补偿一些正样本出来,最终为小目标的训练得到足够多的正样本。

image.png

不同的衰减因子β在HLA中,我们设计了一个因子β,用来缓解离群效应。在表3中,我们保持所有的其他的参数固定,实验表明,0.9是最好的选择。将β设置的过低会导致太多的低质量的样本。

image.png

不同的k的影响在HLA中,超参数k用来调整每个实例的正样本的数量。我们保持其他的所有参数固定,将k设置从1到4变化,performance分别为20.7,21.1,21.1和20.9。当k设置为2或者3时,达到最佳效果。因此默认设置推荐用3。另外,测试的不同的k引起的AP的变化很小,我们对比了微调anchor size的AP的变化和不同的k的AP的变化,见图3。很容易发现,在TOD任务上,检测器的性能对于先验框的尺寸是很敏感的。

image.png

高斯anchor和感受野anchor我们直接将anchor建模为高斯分布,计算和gt之间的RFD得分,并且使用HLA进行标签分配。结果见表4。结果显示,高斯先验以及组合使用HLA有很大的好处。高斯先验具有更大的作用域,能更好的进行样本补偿。另外,我们将anchor的尺寸改为ERF的尺寸,然后用MaxIoU的策略进行标签分配。这个基于baseline的提升进一步表明了先验框在TOD数据集上的敏感性。同时也揭示了当前的anchor在小目标上和感受野是不匹配的。

image.png

5.4 主要结果

我们也和其他的方法在AI-TOD数据集上进行了对比,见表5。DetectoRS w/ RFLA达到了24.8AP,比其他的SOTA高了4AP。值得注意的是,在多阶段的anchor-based的检测器上,提升尤为明显。我们认为这是由于多阶段检测器的重复观察思考的机制。在第一个步上,使用了RFLA的RPN可大大提高小目标的召回率,在第二个步上,这些建议区域进一步的进行精确的定位和分类。另外,对于一阶段和anchor-free的检测器,在上的提升也很明显。

image.png

5.5 分析

我们进行了一组分析实验,以深入研究不同的先验设计以及小目标的标签分配方法。在第一步中,我们分别 在Faster R-CNN, FCOS和RFLA中使用平铺的先验。第二步,我们在图像的不同位置随机生成不同的gt并模拟 统计标签分配的过程。具体来说,gt的尺寸是随机的从0到64。之后,我们将尺度范围分成16个区间,如图4所示,并计算分配的平均正样本数。每个gt在不同的尺度范围。图4中的观察结果表明现有检测器存在严重的比例样品不平衡问题。相比之下,在RFLA上,在不同尺度范围内分配给gt的样本具有很好的一致性,为小目标检测实现了平衡优化。

image.png

5.6 在更多的数据集上的实验

我们还在TinyPerson,VisDrone2019, DOTA-v2.0数据集上做了实验,结果见表6,表7,表8。

image.png

—END—

论文链接:https://arxiv.org/pdf/2208.08738.pdf

首发:AI公园公众号
作者:ronghuaiyang

推荐阅读

关注图像处理,自然语言处理,机器学习等人工智能领域,请点击关注AI公园专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。
欢迎关注微信公众号
AI公园 公众号二维码.jfif
推荐阅读
关注数
8149
内容数
210
关注图像处理,NLP,机器学习等人工智能领域
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息