计算机视觉
参考:博客1
知乎2
在这里进行纪录分享,这是有用的资料,避免之后再寻找相当麻烦。
小目标检测是一个非常具有挑战性的问题,因为小目标只包含几个像素大小。作者证明,由于缺乏外观信息,最先进的检测器也不能在小目标上得到令人满意的结果。作者的主要观察结果是,基于IoU (Intersection over Union, IoU)的指标,如IoU本身及其扩展,对小目标的位置偏差非常敏感,在基于Anchor的检测器中使用时,严重降低了检测性能。
为了解决这一问题,本文提出了一种新的基于Wasserstein距离的小目标检测评估方法。具体来说,首先将BBox建模为二维高斯分布,然后提出一种新的度量标准,称为Normalized Wasserstein Distance(NWD),通过它们对应的高斯分布计算它们之间的相似性。提出的NWD度量可以很容易地嵌入到任何基于Anchor的检测器的Assignment、非最大抑制和损失函数中,以取代常用的IoU度量。
作者在一个用于小目标检测(AI-TOD)的新数据集上评估了度量,其中平均目标大小比现有的物体检测数据集小得多。大量的实验表明,当使用NWD度量时,本文方法的性能比标准fine-tuning baseline高出6.7 AP,比最先进的SOTA模型高出6.0 AP。
小目标在许多现实世界的应用中无处不在,包括驾驶辅助、大规模监控和海上救援。尽管由于深度神经网络的发展,目标检测取得了显著的进展,但大多数都是用于检测正常大小的目标。而小目标(AI-TOD数据集中小于像素)往往表现出极其有限的外观信息,增加了识别特征的学习难度,导致小目标检测失败的案例非常多。
小目标检测(TOD)的研究进展主要集中在改进特征识别方面。为了提高小目标和相应特征的分辨率,对输入图像的尺度进行了归一化处理。而生成对抗网络(Generative Adversarial Network, GAN)则被提出直接生成小目标的超分辨表示。此外,提出了特征金字塔网络(Feature Pyramid Network, FPN)来学习多尺度特征,实现尺度不变检测器。事实上,现有的方法在一定程度上提高了TOD的性能,但提高精度通常也带来了额外的计算成本。
除了学习可判别特征外,训练样本选择的质量对于基于Anchor的小目标检测器来说也很重要,其中正/负标签的分配至关重要。然而,对于小目标,少量像素的属性会增加训练样本选择的难度。从图1可以看出,IoU对不同尺度的物体的敏感性差异很大。
具体来说,对于像素的小目标,轻微的位置偏差会导致明显的IoU下降(从0.53下降到0.06),导致标签分配不准确。然而,对于像素的正常目标,IoU略有变化(从0.90到0.65),位置偏差相同。此外,图2给出了4条不同目标尺度的IoU-Deviation曲线,随着目标尺度的减小,曲线下降速度更快。值得注意的是,IoU的敏感性来自于BBox位置只能离散变化的特殊性。
这种现象意味着IoU度量对离散位置偏差的目标尺度是变化的,最终导致标签分配存在以下2个缺陷(其中,IoU阈值用于Anchor-Based检测器中Pos/Neg训练样本的分配,(0.7,0.3)用于Region Proposal Network (RPN)):
因此,训练小目标检测的监督信息不足。尽管ATSS等动态分配策略可以根据物体的统计特性自适应地获得分配Pos/Neg标签的IoU阈值,但IoU的敏感性使得小目标检测难以找到一个良好的阈值并提供高质量的Pos/Neg样本。
鉴于IoU不是一个很好的度量小目标的度量标准,本文提出了一种新的度量标准,用Wasserstein距离来度量BBox的相似性来代替标准IoU。具体来说:
Wasserstein distance的主要优点是:
NWD可应用于One-Stage和Multi-Stage Anchor-Based检测器。此外,NWD不仅可以替代标签分配中的IoU,还可以替代非最大抑制中的IoU(NMS)和回归损失函数。在一个新的TOD数据集AI-TOD上的大量实验表明,本文提出的NWD可以持续地提高所有检测器的检测性能。
本文的贡献总结如下:
以往的小目标检测方法大致可以分为3大类:
一种简单而经典的方法是将输入图像的大小调整为不同的尺度,并训练不同的检测器,每一个检测器都能在一定的尺度范围内达到最佳性能。为了降低计算成本,一些研究尝试构建不同尺度的特征级金字塔。例如,SSD从不同分辨率的特征图中检测目标。特征金字塔网络(Feature Pyramid Network, FPN)采用横向连接的自顶向下结构,将不同尺度的特征信息结合起来,提高目标检测性能。在此基础上,提出了进一步提高FPN性能的方法,包括PANet、BiFPN、Recursive-FPN。此外,TridentNet构建了具有不同感受野的并行多分支体系结构,以生成特定比例的特征图。
Singh等人受到同时检测小目标和大目标很难的观察启发,提出了SNIP和SNIPER在一定规模范围内选择性训练目标。此外,Kim等人引入了Scale-Aware网络(SAN),并将从不同空间提取的特征映射到一个尺度不变的子空间,使检测器对尺度变化具有更强的鲁棒性。
Perceptual GAN是第一个尝试将GAN应用于小目标检测的算法,它通过缩小小目标与大目标的表示差异来改进小目标检测。此外,Bai等人提出了一种MT-GAN来训练图像级超分辨率模型,以增强小ROI的特征。此外,有研究提出了一种特征超分辨率方法来提高基于建议检测器的小目标检测性能。
IoU是度量边界框之间相似性的最广泛使用的度量方法。然而,IoU只能在边界框有重叠情况下的问题。为了解决这一问题,提出了一种Generalized IoU (GIoU)的方法,该方法通过最小外接边界框相关的惩罚项来实现。然而,当一个边界框包含另一个边界框时,GIoU将降级为IoU。因此,为了克服IoU和GIoU的局限性提出了DIoU和CIoU,它们考虑了重叠面积、中心点距离和纵横比这三个几何特性。
GIoU、CIoU和DIoU主要应用于NMS和loss function中代替IoU以提高总体目标检测性能,但在标签分配中的应用很少讨论。在相似工作中,Yang等人也提出了Gaussian Wasserstein Distance (GWD)损失用于Oriented目标检测,通过测量Oriented BBox的位置关系。然而,该方法的目的是解决Oriented目标检测中的边界不连续和square-like问题。本文的动机是为了减轻IoU对小目标位置偏差的敏感性,本文提出的方法可以在Anchor-Based的目标检测中取代IoU。
将高质量的Anchor分配到GT小目标Box中是一项具有挑战性的任务。一个简单的方法是在选择正样本时降低IoU阈值。虽然可以使小目标匹配更多的Anchor,但训练样本的整体质量会下降。此外,最近的许多研究都试图使标签分配过程更具自适应性,以提高检测性能。例如,Zhang等人提出了自适应训练样本选择(Adaptive Training Sample Selection, ATSS),通过一组Anchor的IoU统计值自动计算每个GT的Pos/Neg阈值。Kang等人通过假设Pos/Neg的联合损失分布服从高斯分布,引入了概率Anchor Assignment (PAA)。此外,Optimal Transport Assignment (OTA)将标签分配过程作为一个全局视角的最优运输问题。但这些方法都是利用IoU度量来度量2个BBox之间的相似性,主要关注标签分配中的阈值设置,不适合TOD。相比之下,本文的研究重点是设计一种更好的评价指标,用以替代小目标检测中的IoU指标。
IoU实际上是计算2个有限样本集相似度的Jaccard相似系数,受此启发,作者基于Wasserstein Distance设计了一个更好的度量小目标的度量方法,因为它可以一致地反映分布之间的距离,即使它们没有重叠。因此,在测量小目标之间的相似性方面,新度量比IoU具有更好的性能。具体内容如下。
学好实变和测度论对机器学习是很有帮助的。对于暂时没有这些数学背景的同学,可以安全的把概率测度(probability measure)理解为概率分布(probability distribution),只要关心的空间是。2个概率分布之间的距离有很多种描述方式,一个比较脍炙人口的是KL divergence:
尽管它严格意义上不是一个距离(比如不满足对称性)。
q只是p的一个微小平移,但当平移量趋于0时,KL却blow up了。
其中是一个上的联合分布,必须同时满足和是其边缘分布。可以是上的任意距离,比如欧式距离,L1 距离等等。举个特例,当和时,唯一符合条件的只有,所以 ,两个delta分布间的距离正好等于它们中心间的距离。
Wasserstein distance是可以定义2个support不重合,甚至一点交集都没有的分布之间的距离的,而KL在这种情况并不适用。
这就变成了一个组合优化的问题。
def Wasserstein(mu, sigma, idx1, idx2):
p1 = torch.sum(torch.pow((mu[idx1] - mu[idx2]),2),1)
p2 = torch.sum(torch.pow(torch.pow(sigma[idx1],1/2) - torch.pow(sigma[idx2], 1/2),2) , 1)
return p1+p2
二维高斯分布的概率密度函数为:
此外,边界框A和B之间的相似性可以转化为2个高斯分布之间的分布距离。
上式可以简化为:
其中C是与数据集密切相关的常数。在接下来的实验中,设置C到AI-TOD的平均绝对大小并达到最佳性能。此外,观察到C在一定范围内是稳健的,细节将在补充材料中显示。
与IoU相比,NWD在检测小目标方面具有以下优点:
如图2所示,在不失通用性的前提下,在以下2种情况下讨论度量值的变化。
在图2的第1行中,保持Box A和Box B的尺度相同,而将Box B沿A的对角线移动。可以看出,这4条NWD曲线完全重合,说明NWD对Box的尺度方差不敏感。此外,可以观察到IoU对微小的位置偏差过于敏感,而位置偏差导致的NWD变化更为平滑。对位置偏差的平滑性表明,在相同阈值下,Pos/Neg样本之间可能比IoU有更好的区分。
在图2的第2行中,在B的边长一半位置延对角线方法A,与IoU相比,NWD的曲线更加平滑,能够一致地反映A与B之间的相似性。
提出的NWD可以很容易地集成到任何Anchor-Based Detectors,以取代IoU。在不失一般性的前提下,本文采用了具有代表性的基于Anchor的Faster R-CNN来描述的NWD用法。
具体来说,所有的修改都是在IoU最初使用的3个部分进行的,包括pos/neg label assignment, NMS和Regression loss function。
具体内容如下:
Faster R-CNN由2个网络组成:
RPN和R-CNN都包含标签分配过程。
对于RPN,首先生成不同尺度和比例的Anchor,然后给Anchor分配二值标签,训练分类和回归头。
对于R-CNN,标签分配过程与RPN相似,不同之处在于R-CNN的输入就是RPN的输出。
为了克服IoU在小目标检测中的上述缺点,设计了基于NWD的标签分配策略,利用NWD来分配标签。
具体来说,训练的RPN,positive标签将被分配到2种类型的Anchor:
因此,如果Anchor的NWD值低于负阈值θ(所有gt Box),则将给Anchor分配负标签。此外,既没有被分配正标签也没有被分配负标签的Anchor不参与训练过程。需要注意的是,为了将NWD直接应用到Anchor-Based检测器中,实验中使用了原始检测器的θ和θ。
NMS是目标检测中不可或缺的一部分,用于抑制冗余预测边界框,其中应用了IoU度量。首先,它根据得分对所有预测框进行排序。选择得分最高的预测框M,并抑制与M有显著重叠(使用预定义的阈值Nt)的所有其他预测框。这个过程递归地应用于其余的框。但是,IoU对小目标的敏感性会使许多预测框的IoU值低于Nt,从而导致假阳性预测。
为了解决这一问题,作者认为NWD在小目标检测中是一个更好的NMS标准,因为NWD克服了尺度敏感性问题。此外,只需要几个代码,基于NWD的NMS就可以灵活地集成到任何小目标检测器。
Table-1可以看出,与IoU指标相比,NWD的AP最高达到16.1%,比DIoU高了9.6%,说明基于NWD的标签分配可以为小目标提供更高质量的训练样本。
此外,为了分析改进的实质,作者进行了一组统计实验。其中,分别计算在相同的默认阈值下,使用IoU、GIoU、DIoU、CIoU和NWD时,每个gt box匹配的正Anchor的平均数量,分别为0.72、0.71、0.19、0.19和1.05。可以发现,只有NWD才能保证相当数量的正训练样本。
此外,虽然简单地降低基于IoU指标的阈值可以为训练提供更多积极的Anchor,但基于IoU的小目标检测器经过阈值微调后的性能并不优于基于NWD的检测器,这是因为NWD可以解决IoU对小目标位置偏差的敏感性。
在本实验中只修改RPN的NMS模块,因为只有RPN中的NMS直接影响检测器的训练过程。可以看出,在训练过程中使用不同的度量来过滤掉多余的预测,也会影响检测性能。具体来说,NWD的最佳AP为11.9%,比IoU的AP提高了0.8%。这意味着当检测小目标时,NWD是一个更好的度量来过滤多余的边界框。
在RPN和R-CNN中都修改了损失函数,这两者都会影响检测器的收敛性。也可以看出,基于NWD的loss function的AP最高为12.1%。
实验结果如表2所示。与baseline method相比,RPN和R-CNN中基于NWD的分配模块AP提高最高,分别为6.2%和3.2%,说明IoU导致的小目标训练标签分配问题最为明显。提出的基于NWD的分配策略大大提高了分配质量。
还可以看到,本文提出的方法在6个模块中的5个模块中提高了性能,这显著验证了基于NWD的方法的有效性。而R-CNN的NMS性能下降可能是由于默认的NMS阈值是次优的,需要进行微调来提高性能。
实验结果如表3所示。当训练12个Epoch时,在RPN、R-CNN或所有模块中使用NWD时,检测性能均有显著提高。当将NWD应用于RPN的3个模块时,获得了最佳的17.8%的性能。然而,在所有6个模块中使用NWD时,AP比RPN中仅使用NWD下降了2.6%。为了分析性能下降的原因,增加了一组实验,对网络进行了24个Epoch的训练。可以看出,性能差距从2.6%减小到0.9%,说明在R-CNN中使用NWD时,网络收敛需要更多的时间。因此,在接下来的实验中,只在RPN中使用NWD,以更少的时间获得相当大的性能提升。
AI-TOD数据集上基于IoU的检测器(第1行)和基于NWD的检测器(第2行)的可视化结果上图所示。可以观察到与IoU相比,NWD可显著降低假阴性(FN)。
[1].A Normalized Gaussian Wasserstein Distance for Tiny Object Detection
[2].https://www.zhihu.com/questio…