文章目录[隐藏]
点击上方“AI公园”,关注公众号,选择加“星标“或“置顶”
导读
本文分析了小目标检测中使用IoU的最大缺点,对于位置的微小变化太过敏感,因此提出了一种新的度量包围框相似度的方法,用来替换IoU,从实验结果来看,效果也是非常的明显。
后台回复“nwd”获取论文链接
A Normalized Gaussian Wasserstein Distance for Tiny Object Detection
摘要:检测小目标是个很大的挑战,因为小目标一般在尺寸上只占据很少的像素,目前的最好的物体检测器也无法在小目标上取得满意的效果,因为缺少明显的信息量。我们发现,目前的基于IoU的度量方法,对于小目标的位置的变化非常的敏感,因此,当我们在使用基于anchors的方法时,会明显的使得检测结果。为了减轻这个影响,我们对于小目标,提出了基于Wasserstein距离的度量方式。具体来说,我们先对包围框建模成一个2D的高斯分布,然后提出一个新的度量方式,叫做Normalized Wasserstein Distance (NWD) ,来计算对应的高斯分布之间的相似度。我们提出的这个NWD度量方式可以非常容易的嵌入到基于anchor的检测器的标签分配,非极大值抑制,以及损失函数中,替代常用的IoU的度量。我们在一个新的小目标检测数据集上评估了我们的这个度量方式,在这个数据集中,目标的平均尺寸要比现有的物体检测数据集的物体尺寸要小的多。广泛的实验表明,当使用了NWD的度量方式后,我们的方法要比baseline高6.7AP,相比于SOTA也高6AP。
1、介绍
小目标检测在现实场景中是很常见的,但是现有的目标检测器大都是在常规尺寸的目标上进行研究和发展。而小目标在AI-TOD数据集中为小于16x16像素的目标,表现出的信息量非常的少,这导致了网络很难学习出可区分的特征,因此,在检测的时候会出现非常多的错误。
当前,对于小目标检测的发展主要集中在如何提取可区分的特征上。有些是通过对输入图像尺寸进行归一化,提高小目标及其特征的分辨率来提升效果。还有些实用生成对抗网络来生成超分辨率的图。另外,还有通过FPN来学习多尺度的特征来得到具有尺度不变性的检测器。这都取得了一些进展,但是这些精度的提升都是有额外的代价的。
为了学习到具有可分性的特征,训练样本的选择在anchor based检测器中起到了非常关键的作用,也就是说正负样本的分配是非常重要的。但是,由于小目标只有几个像素,这在训练时选择样本的时候增加了难度。如图1,我们发现,IoU度量对于不同尺度的物体的敏感程度会有很大的不同,对于6x6的小目标,一个很小的位置变化会导致IoU的巨大的变化。而对于正常尺寸的物体36x36,同样大小的位置变动,其IoU的变化很小。图2显示了4个对于不同的尺寸的物体,IoU的变化曲线。在小物体的时候,曲线下降的很快。值的注意的是,Iou的敏感性导致了,对于特定的包围框的位置,只能进行离散的变化。
这个现象表明,IoU的度量对于尺度是不具备不变性的,而且变化是离散的,这就导致了在标签分配时有2个缺陷。具体来说,IoU阈值()在anchor based物体检测器中用来分配正负样本,在RPN中,一般用到(0.7,0.3)。首先,IoU在小目标上的敏感性会导致标签很容易变得相反,这就导致正负样本可能会具有相似的特征,网络很难收敛。第二,我们发现,在AI-TOD数据集中,使用IoU作为度量的话,每个gt平均分配到的正样本的数量是小于1的,这是由于有些gt和任意的anchor之间的IoU都小于阈值。这样,在训练的时候,小目标就会缺少足够的监督信息。尽管有一些自适应调整阈值的方法,如ATSS,可以动态的调整匹配的阈值,但是对于小目标,仍然很难找到一个合适的阈值,来得到高质量的正负样本。
既然发现了IoU对于小目标并不是一个很好的度量方法,我们就提出了一个新的度量方法来计算框和框之间的相似度,就是把框建模成高斯分布,然后用Wasserstein距离来度量这两个分布之间的相似度,来代替IoU。这个距离的好处是,即便是2个框完全不重叠,或者重叠很少,还是可以度量出相似度出来。另外,NWD对于目标的尺度不敏感,对于小目标的更加的稳定。
NWD可以用在一阶段和二阶段的方法上,不仅可以替代标签分配中的IoU,还可以替代NMS和损失函数中的IoU。实验表明,在AI-TOD数据集中,使用我们的方法可以持续的提升性能。本文的贡献总结如下:
-
我们分析了IoU对于小目标的敏感性,提出了NWD,作为一个更好的度量框之间相似度的指标。
-
我们将NWD用到了标签分配,NMS和损失函数中,设计出了一个强大的物体检测器。
-
我们提出的方法可以显著的提升TOD数据集上的表现,在Faster RCNN上,可以提升11.1%到17.6%。
2、相关工作
2.1 小目标检测
之前的小目标检测的方法可以大致分为3类:多尺度特征学习,设计更好的学习策略,基于GAN的检测。
多尺度特征学习:一个简单的方法就是把图像缩放成不同的尺度,训练不同的检测器,每个检测器在对应的尺度范围内可以达到很好的效果。为了减少计算量,开始使用不同尺度的特征,特征金字塔,之后,就是对特征金字塔FPN的各种改进,PANet,BiFPN等等。另外,TridentNet构建了平行的多分支的结构,使用了不同的感受野来生成针对特定尺度的特征图。
设计更好的学习策略:由于同时去检测小目标和大目标是很困难的,所以提出了SNIP和SNIPER,训练的时候,选择特定尺度范围内的物体去训练。Scale-Aware Network(SAN)将不同空间的特征映射到尺度不变的子空间,使得检测器对于不同的尺度更加的鲁棒。
基于GAN的检测器:Perceptual GAN通过将小目标的特征和大目标的特征的表示变得更接近来提升小目标的检测。MT-GAN训练了一个图像级的超分辨率模型来提升小ROI的特征表示。
2.2 物体检测中的评估指标
IoU是目前用来度量包围框之间相似度的最常用的方法。但是,IoU只在包围框相交的时候有用。为了解决这个问题,提出了GIoU,然后又提出了DIoU和CIoU。在NMS的时候,可以提升效果,但是,在标签分配中的使用却很少提到。GWD(Gaussian Wasserstein Distance)loss,用在旋转物体检测中,用来度量旋转框之间的位置关系。我们的方法主要是为了缓解小目标对于IoU太过敏感的问题,可以替换anchor based物体检测器中的IoU。
2.3 标签分配策略
对于小目标来说,将高质量的anchor匹配到gt上是很难的。一个简单的方法就是降低IoU的阈值,虽然这样可以增加小目标的正样本的数量,但是总体质量也会下降。目前有一些工作想将标签分配做的更加的自适应,比如ATSS,自动计算阈值,还有PAA,OTA。但是,这些方法还是用的IoU,对于TOD数据集来说,不是很合适。
3、方法
3.1 对包围框进行高斯分布建模
对于小目标来说,包围框里总是会有一些背景像素的,因为真实的物体不可能正好是个矩形。在包围框中,前景像素一般集中在中间,背景像素一般集中在边上。为了更好的对包围框中的每个像素进行加权,可以将包围框建模成一个2D的高斯分布。具体来说,对于水平的包围框 ,用内接椭圆可以表示为:
其中,是椭圆的中心点,是x和y轴的半径。对应到包围框中,,,,。2D高斯分布的概率密度函数为:
其中,X,μ,∑分别表示坐标(x,y),均值和方差。当:
时,这个椭圆就是2D高斯分布的一个分布轮廓。因此,水平包围框 可以建模为一个2D高斯分布:
这样一来,两个包围框之间的相似度可以用这两个高斯分布之间的距离来表示。
3.2 归一化的高斯Wasserstein距离
我们使用了最优传输理论中的Wasserstein距离来计算两个分布的距离。对于两个2D高斯分布,其2阶Wasserstein距离可以定义为:
简化一下:
对于两个包围框来说:
但是,这是个距离度量,不能直接用于相似度。我们用归一化后的指数来得到一个新的度量,叫做归一化的Wasserstein距离。
这里C是一个常数,和数据集有关。在下面的实验中,我们把C设成数据集中目标的平均绝对尺寸,这样可以到达最好的效果。我们发现,C在一定范围内,对于结果都是稳定的。
相比于IoU,NWD有以下好处:
1、尺度不变性。
2、对于位置的差别变换平缓。
3、具有度量不想交的框的相似度的能力。
3.3 NWD-based检测器
我们提出的NWD可以方便的替换anchor based检测器中的IoU的度量。我们以FasterRCNN为例,具体来说,我们分析了3个部分,标签分配,NMS,损失函数。
NWD-based标签分配:FasterRCNN包括2个网络,RPN用来生成proposal,R-CNN用来基于这些proposal来检测目标。RPN和R-CNN部分都有标签分配的环节,在RPN中,首先会生成不同大小和尺度的anchor,然后对这些anchor会分配一个二分类的标签。对于R-CNN,标签分配的过程和RPN类似,区别就在于R-CNN的输入是RPN的输出。我们用NWD来替换其中的IoU,具体来说,在训练RPN的时候,有2种anchors会分配为正样本:1)对于某个gt,具有最高NWD的anchor,且该NWD的值大于,2)和某个gt的NWD值大于的anchor。对应的,如果NWD值小于,就是负样本。另外,有一部分anchor既不是正样本,也不是负样本,不参与训练。
NWD-based NMS :NMS用来去除冗余的框,也用到了IoU。而对于小目标,由于IoU的敏感性太高,会使得很多位置接近的框的IoU值太小,从而导致太多的误检。换成NWD后会缓解这个现象。
NWD-based Regression Loss :IoU损失可以减少训练和测试时候的gap,但是IoU-based loss在2中情况下无法提供梯度来优化网络1)在没有overlap的时候,2)当gt完全包含预测框或者相反的时候。而在小目标的时候,这两种情况都会出现。虽然DIoU和CIoU可以处理这两种情况,但是对于位置的变化太敏感了。因此,我们设计了基于NWD的loss:
其中,是预测框的高斯分布,是GT框的高斯分布。
4、实验
我们在AI-TOD和VisDrone2019数据集上进行了验证,消融实验在AI-TOD做,AI-TOD数据集的平均尺寸是12.8像素。
4.1 和基于IoU的其他度量方法对比
标签分配,NMS,损失函数的对比:
4.2 消融研究
在单个环节使用NWD的效果:
多个地方使用NWD的效果:
我们发现,在所有6个地方都使用NWD相比于只在RPN中使用NWD效果要差,为了进一步分析这个问题,我们多训练了12个epochs,发现差距缩小了,这说明在R-CNN中使用NWD使得收敛变慢了。为了得到更好的效果和节省训练时间,我们只在RPN中使用NWD。
4.3 结果
在AI-TOD上的效果:
不同方法在AI-TOD上的对比:
不同方法在VisDrone2019上的对比:
—END—
请长按或扫描二维码关注本公众号
喜欢的话,请给我个在看吧!
版权声明:本文为CSDN博主「ronghuaiyang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u011984148/article/details/122119488
暂无评论