【论文阅读系列】NWD-Based Model | 小目标检测新范式,抛弃IoU-Based暴力涨点(登顶SOTA) 计算机视觉

news2024/12/23 19:16:16

NWD-Based Model | 小目标检测新范式,抛弃IoU-Based暴力涨点(登顶SOTA)

计算机视觉
参考:博客1
知乎2
在这里进行纪录分享,这是有用的资料,避免之后再寻找相当麻烦。
image.png

小目标检测是一个非常具有挑战性的问题,因为小目标只包含几个像素大小。作者证明,由于缺乏外观信息,最先进的检测器也不能在小目标上得到令人满意的结果。作者的主要观察结果是,基于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。

1问题刨析

小目标在许多现实世界的应用中无处不在,包括驾驶辅助、大规模监控和海上救援。尽管由于深度神经网络的发展,目标检测取得了显著的进展,但大多数都是用于检测正常大小的目标。而小目标(AI-TOD数据集中小于像素)往往表现出极其有限的外观信息,增加了识别特征的学习难度,导致小目标检测失败的案例非常多。

小目标检测(TOD)的研究进展主要集中在改进特征识别方面。为了提高小目标和相应特征的分辨率,对输入图像的尺度进行了归一化处理。而生成对抗网络(Generative Adversarial Network, GAN)则被提出直接生成小目标的超分辨表示。此外,提出了特征金字塔网络(Feature Pyramid Network, FPN)来学习多尺度特征,实现尺度不变检测器。事实上,现有的方法在一定程度上提高了TOD的性能,但提高精度通常也带来了额外的计算成本。

image.png

除了学习可判别特征外,训练样本选择的质量对于基于Anchor的小目标检测器来说也很重要,其中正/负标签的分配至关重要。然而,对于小目标,少量像素的属性会增加训练样本选择的难度。从图1可以看出,IoU对不同尺度的物体的敏感性差异很大。

具体来说,对于像素的小目标,轻微的位置偏差会导致明显的IoU下降(从0.53下降到0.06),导致标签分配不准确。然而,对于像素的正常目标,IoU略有变化(从0.90到0.65),位置偏差相同。此外,图2给出了4条不同目标尺度的IoU-Deviation曲线,随着目标尺度的减小,曲线下降速度更快。值得注意的是,IoU的敏感性来自于BBox位置只能离散变化的特殊性。

image.png

这种现象意味着IoU度量对离散位置偏差的目标尺度是变化的,最终导致标签分配存在以下2个缺陷(其中,IoU阈值用于Anchor-Based检测器中Pos/Neg训练样本的分配,(0.7,0.3)用于Region Proposal Network (RPN)):

  • 首先,由于IoU对小目标的敏感性,使得微小的位置偏差翻转Anchor标记,导致Pos/Neg样本特征相似,网络收敛困难;
  • 其次,利用IoU度量,作者发现AI-TOD数据集中分配给每个Ground-Truth (GT)的平均正样本数小于1,因为GT与任何Anchor之间的IoU低于最小正阈值。

因此,训练小目标检测的监督信息不足。尽管ATSS等动态分配策略可以根据物体的统计特性自适应地获得分配Pos/Neg标签的IoU阈值,但IoU的敏感性使得小目标检测难以找到一个良好的阈值并提供高质量的Pos/Neg样本。

鉴于IoU不是一个很好的度量小目标的度量标准,本文提出了一种新的度量标准,用Wasserstein距离来度量BBox的相似性来代替标准IoU。具体来说:

  • 首先,将包围盒建模为二维高斯分布;
  • 然后,使用提出的Normalized Wasserstein Distance (NWD)来度量导出的高斯分布的相似性。

Wasserstein distance的主要优点是:

  1. 无论小目标之间有没有重叠都可以度量分布相似性;
  2. NWD对不同尺度的目标不敏感,更适合测量小目标之间的相似性。

NWD可应用于One-Stage和Multi-Stage Anchor-Based检测器。此外,NWD不仅可以替代标签分配中的IoU,还可以替代非最大抑制中的IoU(NMS)和回归损失函数。在一个新的TOD数据集AI-TOD上的大量实验表明,本文提出的NWD可以持续地提高所有检测器的检测性能。

本文的贡献总结如下:

  1. 分析了IoU对小目标定位偏差的敏感性,提出了NWD作为衡量2个BBox之间相似性的更好的度量;
  2. 将NWD应用于Anchor-Based检测器的标签分配、NMS和损失函数,并设计了一个小目标检测器;
  3. 提出的NWD可以显著提高目前流行的Anchor-Based检测器的TOD性能,在AI-TOD数据集上Faster R-CNN实现了从11.1%到17.6%的性能提升。

2相关研究

2.1 小目标检测

以往的小目标检测方法大致可以分为3大类:

  • 多尺度特征学习
  • 设计更好的训练策略
  • 基于GAN增强的检测

1、多尺度特征学习

一种简单而经典的方法是将输入图像的大小调整为不同的尺度,并训练不同的检测器,每一个检测器都能在一定的尺度范围内达到最佳性能。为了降低计算成本,一些研究尝试构建不同尺度的特征级金字塔。例如,SSD从不同分辨率的特征图中检测目标。特征金字塔网络(Feature Pyramid Network, FPN)采用横向连接的自顶向下结构,将不同尺度的特征信息结合起来,提高目标检测性能。在此基础上,提出了进一步提高FPN性能的方法,包括PANet、BiFPN、Recursive-FPN。此外,TridentNet构建了具有不同感受野的并行多分支体系结构,以生成特定比例的特征图。

2、更好的训练策略

Singh等人受到同时检测小目标和大目标很难的观察启发,提出了SNIP和SNIPER在一定规模范围内选择性训练目标。此外,Kim等人引入了Scale-Aware网络(SAN),并将从不同空间提取的特征映射到一个尺度不变的子空间,使检测器对尺度变化具有更强的鲁棒性。

3、基于GAN增强的检测

Perceptual GAN是第一个尝试将GAN应用于小目标检测的算法,它通过缩小小目标与大目标的表示差异来改进小目标检测。此外,Bai等人提出了一种MT-GAN来训练图像级超分辨率模型,以增强小ROI的特征。此外,有研究提出了一种特征超分辨率方法来提高基于建议检测器的小目标检测性能。

2.2目标检测中的评价指标

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。

2.3 标签分配策略

将高质量的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指标。

3.本文方法

IoU实际上是计算2个有限样本集相似度的Jaccard相似系数,受此启发,作者基于Wasserstein Distance设计了一个更好的度量小目标的度量方法,因为它可以一致地反映分布之间的距离,即使它们没有重叠。因此,在测量小目标之间的相似性方面,新度量比IoU具有更好的性能。具体内容如下。

3.1 为什么是Wasserstein Distance?

学好实变和测度论对机器学习是很有帮助的。对于暂时没有这些数学背景的同学,可以安全的把概率测度(probability measure)理解为概率分布(probability distribution),只要关心的空间是。2个概率分布之间的距离有很多种描述方式,一个比较脍炙人口的是KL divergence:

image.png

尽管它严格意义上不是一个距离(比如不满足对称性)。

image.png

q只是p的一个微小平移,但当平移量趋于0时,KL却blow up了。

image.png

其中是一个上的联合分布,必须同时满足和是其边缘分布。可以是上的任意距离,比如欧式距离,L1 距离等等。举个特例,当和时,唯一符合条件的只有,所以 ,两个delta分布间的距离正好等于它们中心间的距离。

Wasserstein distance是可以定义2个support不重合,甚至一点交集都没有的分布之间的距离的,而KL在这种情况并不适用。
image.png

这就变成了一个组合优化的问题。

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

3.2 BBox的高斯分布建模

image.png
image.png

二维高斯分布的概率密度函数为:

在这里插入图片描述

此外,边界框A和B之间的相似性可以转化为2个高斯分布之间的分布距离。

3.3 Normalized Gaussian Wasserstein Distance

在这里插入图片描述

上式可以简化为:

image.png

其中C是与数据集密切相关的常数。在接下来的实验中,设置C到AI-TOD的平均绝对大小并达到最佳性能。此外,观察到C在一定范围内是稳健的,细节将在补充材料中显示。

与IoU相比,NWD在检测小目标方面具有以下优点:

  1. 尺度不确定性;
  2. 位置偏差平滑性;
  3. 测量非重叠或相互包容的边界盒之间的相似性。

如图2所示,在不失通用性的前提下,在以下2种情况下讨论度量值的变化。

image.png

在图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之间的相似性。

3.4 NWD-based Detectors

提出的NWD可以很容易地集成到任何Anchor-Based Detectors,以取代IoU。在不失一般性的前提下,本文采用了具有代表性的基于Anchor的Faster R-CNN来描述的NWD用法。

具体来说,所有的修改都是在IoU最初使用的3个部分进行的,包括pos/neg label assignment, NMS和Regression loss function。

具体内容如下:

1、NWD-based Label Assignment

Faster R-CNN由2个网络组成:

  • 用于生成区域建议的RPN
  • 基于区域建议检测目标的R-CNN

RPN和R-CNN都包含标签分配过程。

对于RPN,首先生成不同尺度和比例的Anchor,然后给Anchor分配二值标签,训练分类和回归头。

对于R-CNN,标签分配过程与RPN相似,不同之处在于R-CNN的输入就是RPN的输出。

为了克服IoU在小目标检测中的上述缺点,设计了基于NWD的标签分配策略,利用NWD来分配标签。

具体来说,训练的RPN,positive标签将被分配到2种类型的Anchor:

  1. The anchor with the highest NWD value with a gt box and the NWD value is larger than θ;
  2. The anchor that has the NWD value higher than the positive threshold θ with any gt 。

因此,如果Anchor的NWD值低于负阈值θ(所有gt Box),则将给Anchor分配负标签。此外,既没有被分配正标签也没有被分配负标签的Anchor不参与训练过程。需要注意的是,为了将NWD直接应用到Anchor-Based检测器中,实验中使用了原始检测器的θ和θ。

2、NWD-based NMS

NMS是目标检测中不可或缺的一部分,用于抑制冗余预测边界框,其中应用了IoU度量。首先,它根据得分对所有预测框进行排序。选择得分最高的预测框M,并抑制与M有显著重叠(使用预定义的阈值Nt)的所有其他预测框。这个过程递归地应用于其余的框。但是,IoU对小目标的敏感性会使许多预测框的IoU值低于Nt,从而导致假阳性预测。

为了解决这一问题,作者认为NWD在小目标检测中是一个更好的NMS标准,因为NWD克服了尺度敏感性问题。此外,只需要几个代码,基于NWD的NMS就可以灵活地集成到任何小目标检测器。

3、NWD-based Regression Loss

image.png

4实验

4.1 与IoU度量的对比

image.png

1、Comparison in label assignment

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对小目标位置偏差的敏感性。

2、Comparison in NMS

在本实验中只修改RPN的NMS模块,因为只有RPN中的NMS直接影响检测器的训练过程。可以看出,在训练过程中使用不同的度量来过滤掉多余的预测,也会影响检测性能。具体来说,NWD的最佳AP为11.9%,比IoU的AP提高了0.8%。这意味着当检测小目标时,NWD是一个更好的度量来过滤多余的边界框。

3、Comparison in loss function

在RPN和R-CNN中都修改了损失函数,这两者都会影响检测器的收敛性。也可以看出,基于NWD的loss function的AP最高为12.1%。

4.2 消融实验

image.png

将NWD应用于单个模块

实验结果如表2所示。与baseline method相比,RPN和R-CNN中基于NWD的分配模块AP提高最高,分别为6.2%和3.2%,说明IoU导致的小目标训练标签分配问题最为明显。提出的基于NWD的分配策略大大提高了分配质量。

还可以看到,本文提出的方法在6个模块中的5个模块中提高了性能,这显著验证了基于NWD的方法的有效性。而R-CNN的NMS性能下降可能是由于默认的NMS阈值是次优的,需要进行微调来提高性能。

image.png

将NWD应用于多个模块

实验结果如表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,以更少的时间获得相当大的性能提升。

4.3 主要结果

1、AI-TOD数据集

image.png

2、Visdrone 数据集

image.png

4.4 可视化小目标检测结果

image.png

AI-TOD数据集上基于IoU的检测器(第1行)和基于NWD的检测器(第2行)的可视化结果上图所示。可以观察到与IoU相比,NWD可显著降低假阴性(FN)。

5.参考

[1].A Normalized Gaussian Wasserstein Distance for Tiny Object Detection
[2].https://www.zhihu.com/questio…

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/560359.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

监控易:信创工程,几十万台终端设备桌面集中监控运维方案​

监控易:信创工程,几十万台终端设备桌面集中监控运维方案 从2019年开始,我国因国际国内形势的迫切要求,在信息和网络安全方面启动 “安全可靠工程”,全面深入推进信创运维及相关产品国产化。时至今日,已取得令世人瞩目的成果。 过去&#xff…

learn_C_deep_14 (条件编译的基本使用与理解)

目录 条件编译 1.条件编译如何使用? 2.为何要有条件编译? 3. 条件编译都在哪些地方用? 条件编译 1.条件编译如何使用? C语言的条件编译是一种在程序编译时根据条件选择不同代码段进行编译的技术。条件编译可以用于实现代码跨平台,开启…

C++小知识点(auto关键字)

🌹作者:云小逸 📝个人主页:云小逸的主页 📝Github:云小逸的Github 🤟motto:要敢于一个人默默的面对自己,强大自己才是核心。不要等到什么都没有了,才下定决心去做。种一颗树,最好的时间是十年前…

猿创征文|Spring系列框架之面向切面编程AOP

⭐️前面的话⭐️ 本篇文章将介绍一种特别重要的思想,AOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。 …

Springcloud1---->Zuul网关

目录 简介加入zuul后的架构快速入门添加Zuul依赖编写zuul启动类编写zuul配置文件编写路由规则 面向服务的路由添加Eureka客户端依赖开启Eureka客户端发现功能添加Eureka配置,获取服务信息修改映射配置,通过服务名称获取 简化的路由配置过滤器使用场景自定…

这个 堆排序详解过程 我能吹一辈子!!!

文章目录 堆排序的概念堆的分类堆排序的算法思想堆排序的实现 堆排序的概念 堆是一种叫做完全二叉树的数据结构,可分为大根堆、小根堆,而堆排序就是基于这种结构产生的一种排序的算法。 堆的分类 大根堆:每个节点的值都大于或者等于它的左…

SpringBoot 读取 yml 文件属性值常用法总结

开发过程中有一些常量配置一般会写在application.yml文件中,而Spring Boot读取yml文件的主要方式有以下几种: 一、使用Value注解 在bean的属性上使用Value注解,直接读取yml中的值,如: 但这里面写法也有一些情况:其实这种写法对于 String 字符串其实没有…

计算机网络考试周极限复习--1

第一章 时延 因特网协议栈和OSI参考模型 应用层:报文 HTTP(提供了Web文档的请求和传送),SMP(提供了电子邮件报文的传送), FTP(它提供两个端系统之间的文件传送) 运输…

【线下|05.27】|StarRocks Friends 杭州站

StarRocks & Friends 是由 StarRocks 社区发起的城市线下 meetup,旨在联合社区与行业的专家小伙伴们分享基于 StarRocks 的最佳实践、大数据分析的前沿技术和 StarRocks 生态融合等热门话题。 不远千里奔赴,只为与你相聚。这个夏天,让我们…

Python大火,零基础还能学习么?

Python近段时间一直涨势迅猛,在各大编程排行榜中崭露头角,得益于它多功能性和简单易上手的特性,让它可以在很多不同的工作中发挥重大作用。 正因如此,目前几乎所有大中型互联网企业都在使用 Python 完成各种各样的工作&#xff0…

广义状态平均无线电能传输系统建模

关于WPT系统建模的一些笔记,在 CSDN 学到很多,现分享给大家,之前有看到过一篇博文, 内容语焉不详,对读者也很不客气,希望这篇博文对大家有用! Hierarchical multiobjective H-infinity robust …

Midjourney8种风格介绍+使用场景(3)

引言 我相信大家都或多或少玩过Midjourney,但是要形成自己独特的个人IP,那么有必要知晓画作的一些基础知识,如果你没有时间实践,没有关系,我来操作,定期分享画作相关知识,既简单又方便&#xff…

Systrace系列4 —— SystemServer 解读

本文主要是对 SystemServer 进行简单介绍,介绍了 SystemServer 中几个比较重要的线程,由于 Input 和 Binder 比较重要,所以单独拿出来讲,在这里就没有再涉及到。 窗口动画 Systrace 中的 SystemServer 一个比较重要的地方就是窗口动画,由于窗口归 SystemServer 来管,那么…

CentOS离线配置Java环境

CentOS离线配置Java环境 环境: 操作系统:Linux-CentOS 7Java版本:JDK17远程连接工具:MobaXterm 1.JDK下载 官网下载:https://www.oracle.com/cn/java/technologies/downloads/#java17 ​ 因为MobaXterm自带Sftp&am…

【python csv、Excel、json】零基础也能轻松掌握的学习路线与参考资料

CSV、Excel、JSON 是常用的数据存储格式,分别在不同的场景下有其特点和应用。下面将从以下几个方面进行比较:格式、特点、应用场景和优秀实践。 1.格式 CSV(Comma-Separated Values,逗号分隔值)格式是一种以纯文本形…

Contrastive Triplet Center Loss

Contrastive Loss background: 最直接的想法是我们假设存在一个损失函数,它满足如下的基本准则 近似样本之间的距离越小越好不似样本之间的距离越大越好 相似样本的坐标被放的越来越远,不似样本之间的距离越来越大,但训练的目标…

V神透露以太坊发展规划 未来十年,zkS将与区块链一样重要

作为加密世界,除中本聪外颇为“传奇”的人物,以太坊联合创始人V神眼光向来毒辣,在加密领域、区块链产业取得诸多“卓著”成绩。 在近期举行的EDCON 2023盛会上,V神透露了以太坊2.0的最新进展和未来规划,以及他对以太坊…

MySQL之索引初步

1. 索引概念 数据库是⽤来存储数据,在互联⽹应⽤中数据库中存储的数据可能会很多(⼤数据), 数据表中数据的查询速度会随着数据量的增⻓而逐渐变慢 ,从⽽导致响应⽤户请求的速度变慢——⽤户体验差,我们如何提⾼数据库的查询效率呢…

射频电容物位开关电容传感器的分类与应用

​射频电容物位开关电容传感器是一种常见的物位检测装置,广泛应用于粉状物料、液体、颗粒物料等不同类型的物料的检测和控制。本文将对射频电容物位开关电容传感器的分类和应用进行详细介绍。 一、射频电容物位开关电容传感器的工作原理 射频电容物位开关电容传感…

perl 通过 swig 调用 c++代码

Swig 是一个软件开发工具,可以简化不同语言与 C/C 的交互(直接在其它语言的代码中调用 C/C 的代码)。   记录一下成功用 perl 调用 c 代码的例子。 环境 操作系统:centos 7.9 perl: version 5.16.3 swig: version 2.0.10 g: v…