【文献阅读】Scale Match for Tiny Person Detection-微小人物检测的尺度匹配

Scale Match for Tiny Person Detection-微小人物检测的尺度匹配


本博客仅作学习记录,不做他用!

文章名称:Scale Match for Tiny Person Detection.pdf
文章地址:https://arxiv.org/abs/1912.10664v1
代码地址:https://github.com/ucas-vg/TinyBenchmark
文章作者:Xuehui Yu、Yuqi Gong、Nan Jiang、Qixiang Ye、Zhenjun Han
发表时间: 23 Dec 2019

我的总结:

【文献阅读】Scale Match for Tiny Person Detection-微小人物检测的尺度匹配

Abstract

极小的物体对特征表示提出了巨大的挑战,而巨大而复杂的背景聚集了错误警报的风险。在本文中,我们引入了一种新的基准,称为TinyPerson,为远距离和大规模背景下的微小目标检测开辟了一个有前途的方向。
因此,我们提出了一种简单而有效的尺度匹配方法来对齐两个数据集之间的对象尺度,以获得良好的对象表示。
实验表明,我们提出的方法比最先进的检测器有显著的性能提高,并且TinyPerson的挑战性方面与现实世界的场景有关。

1. Introduction

微小人物检测研究延迟的原因是缺乏重要的基准。
与适当尺度的物体不同,由于物体尺寸极小且信噪比低,微小物体更具挑战性,如图1所示。
【文献阅读】Scale Match for Tiny Person Detection-微小人物检测的尺度匹配
为了检测微小的人,我们提出了一个简单而有效的方法,称为Scale Match(尺度匹配 )。
我们的方法的直觉是对齐数据集的对象比例,用于预训练和检测器训练。
尺度匹配的本质是它可以更好地研究和利用微小尺度上的信息,并使卷积神经网络在微小对象表示方面更加复杂。
我们工作的主要贡献包括:

  1. 我们引入TinyPerson,在海上快速救援的背景下,对野外微小物体检测提出了巨大的挑战。据我们所知,这是远距离和大规模背景下检测人的第一个基准。火车/瓦尔。注释将公开,并将为算法评估建立一个在线基准。
  2. 我们综合分析了有关微小人物的挑战,并提出了尺度匹配方法,目的是在用于网络预训练的数据集和用于检测器学习的数据集之间对齐特征分布。
  3. 与最先进的检测器(FPN)相比,所提出的尺度匹配方法显著提高了检测性能(5%)。

2. Related Work

用于人员检测的数据集

pedestrian datasets:

  • INRIA
  • ETH
  • TudBrussels
  • Daimler
  • Caltech-USA
  • KITTI
  • CityPersons

涉及远程遥感目标检测:

  • WiderFace
  • TinyNet

微小物体检测:
Hu等人1表明,语境是至关重要的,并定义了利用大规模感受野的模板。
Shrivastava等人2提出了一种在线硬示例挖掘方法,可以显著提高小对象的性能。

3. Tiny Person Benchmark

在本文中,对象的大小被定义为对象的包围盒面积的平方根。我们使用 G i j = ( x i j , y i j , w i j , h i j ) G_{ij}= (x_{ij},y_{ij},w_{ij},h_{ij}) Gij​=(xij​,yij​,wij​,hij​) 来描述数据集中第 i i i 个图像 I i I_i Ii​的第 j j j 个对象的边界框,其中 ( x i j , y i j ) (x_{ij},y_{ij}) (xij​,yij​) 表示左上角点的坐标,而 w i j w_{ij} wij​, h i j h_{ij} hij​ 表示边界框的宽度和高度。 W i W_i Wi​, H i H_i Hi​分别记下 I i I_i Ii​ 的宽度和高度。然后,对象的绝对大小和相对大小计算如下:
【文献阅读】Scale Match for Tiny Person Detection-微小人物检测的尺度匹配

3.1. Benchmark description

数据集收集:
TinyPerson中的图像是从互联网上收集的。首先,从不同的网站收集高分辨率的视频。其次,我们每50帧对视频中的图像进行采样。然后我们删除有一定重复(同质)的图像。我们用手给72651个物体加上边框。

数据集属性:

  1. TinyPerson中的人与其他有代表性的数据集相比是相当微小的,如图1和表1所示,这是TinyPerson的主要特点;

  2. TinyPerson中的人的长宽比有较大的方差,在Talbe 1中给出。由于人体的各种姿态和观点,使得人体的多样性更加复杂,从而导致检测更加困难。此外,TinyPerson还可以在姿态和视图多样性方面对现有数据集进行有效补充;

  3. 在TinyPerson中,我们主要关注海边周围的人,可用于快速海上救援和海上防御;

  4. TinyPerson中有很多物体密集的图像(每张图像200人以上)。因此,TinyPerson还可以用于其他任务,例如人员计数。

注释规则:
在TinyPerson中,我们将人分为“海洋人”(海中的人)或“地球人”(陆地上的人)。

我们定义了四个规则来确定一个人属于哪个标签:
1)船上的人被视为“海洋人”;
2)躺在水中的人被视为“海人”;
3)半身以上在水中的人,按“海人”处理;
4)其他人被当作“地球人”。在TinyPerson中,

人被贴上“忽略”标签有三种情况:
1)人群,我们可以把它认作人。但是用标准长方形标注的时候人群是很难一个个分开的;
2)模糊不清的区域,很难区分是一个人还是几个人,
3)水中倒影。在TinyPerson中,有些物体很难被识别为人,我们直接给它们贴上“不确定”的标签。
图2给出了一些注释示例。
【文献阅读】Scale Match for Tiny Person Detection-微小人物检测的尺度匹配

评估:
我们使用平均精度和失败率进行性能评估。为了进行更详细的实验比较,尺寸范围分为3个区间:微小[2,20],微小[20,32]和全部[2,inf]。对于微小的[2,20],它被分成3个子区间:tiny1[2,8],tiny2[8, 12], tiny3[12, 20]。并且IOU阈值设置为0.5,用于性能评估。由于微小人物检测的许多应用更多地涉及寻找人物而不是精确定位(例如,海难搜索和救援),IOU阈值0.25也被用于评估。

对于Caltech或CityPersons,评估采用IOU标准。Caltech和CityPersons的大部分忽略区域的大小人和行人一样。然而在TinyPerson中,大部分被忽略的区域比一个人的要大得多。因此,我们将IOU标准更改为忽略区域的IOD(IOD标准仅适用于忽略区域,因为其他类仍然使用IOU标准),如图3所示。在本文中,我们还将不确定性视为训练和测试中的忽略。
【文献阅读】Scale Match for Tiny Person Detection-微小人物检测的尺度匹配
训练和测试集:
训练集和测试集是通过将图像随机等分成两个子集来构建的,而来自同一视频的图像不能被分割到同一子集。

3.2. Dataset Challenges

微小的绝对尺寸:
当物体的绝对尺寸变小时,检测性能会下降。
【文献阅读】Scale Match for Tiny Person Detection-微小人物检测的尺度匹配
MS COCO的对大小分布差异会导致性能下降。
微小物体变得模糊会导致语义信息较差。

微小的相对尺寸:
微小的相对大小导致更多的假阳性和严重的阳性/阴性失衡,因为在真实场景中引入了大量复杂的背景。微小的相对尺寸也极大地挑战了检测任务。
【文献阅读】Scale Match for Tiny Person Detection-微小人物检测的尺度匹配

4. Tiny Person Detection

预训练数据集的数据量巨大,预先训练的模型有时会在一定程度上提高性能。然而,当这些额外数据集的域与任务指定数据集的域有很大差异时,性能的提高是有限的。我们如何使用具有大量数据的额外公共数据集来帮助特定任务的训练模型,例如,微小人物检测?

我们提出了一种简单但有效的尺度变换方法,通过保持tiny person和额外数据集之间的尺度一致性来检测微小的人。

对于数据集 X X X,我们将 X X X 中物体大小 s s s 的概率密度函数定义为 P s i z e ( s ; x ) P_{size}(s;x) Psize​(s;x) 。
定义一个尺度变换 T T T,用于将额外数据集中对象大小的概率分布转换为目标数据集中对象大小的概率分布,如等式(3)所示:
【文献阅读】Scale Match for Tiny Person Detection-微小人物检测的尺度匹配
本文在不失一般性的前提下,采用MS COCO作为额外数据集,尺度匹配用于尺度变换 T T T。

4.1. Scale Match

G i j = ( x i j , y i j , w i j , h i j ) G_{ij}= (x_{ij},y_{ij},w_{ij},h_{ij}) Gij​=(xij​,yij​,wij​,hij​) 表示数据集 E E E的图像 I i I_i Ii​ 的第 j j j 个对象。尺度匹配方法可以简单地描述为三个步骤:
【文献阅读】Scale Match for Tiny Person Detection-微小人物检测的尺度匹配
估计 P s i z e ( s ; D ) \mathbf{P_{size} \left(s;D\right)} Psize​(s;D):
在规模匹配中,我们首先估计 P s i z e ( s ; D ) P_{size} (s;D) Psize​(s;D) 遵循机器学习中的一个基本假设:随机抽样训练数据集的分布接近实际分布。因此,训练集 P s i z e ( s ; D t r a i n ) P_{size} (s;D_{train}) Psize​(s;Dtrain​) 用于近似 P s i z e ( s ; D ) P_{size} (s;D) Psize​(s;D) 。

校正直方图(Rectified Histogram):
离散直方图 ( H , R ) (H,R) (H,R) 用于近似 P s i z e ( s ; D t r a i n ) P_{size} (s;D_{train}) Psize​(s;Dtrain​)进行计算, R [ k ] R[k] R[k] 和 R [ K ] + R[K]+ R[K]+ 是直方图中第 K K K 个面元的大小边界, K K K 是直方图中的面元数, N N N 是 D t r a i n D_{train} Dtrain​ 中的对象数, G i j ( D t r a i n ) G_{ij}(D_{train}) Gij​(Dtrain​) 是数据集 D t r a i n D_{train} Dtrain​ 的第 I I I 幅图像中的第 j j j 个对象, H [ k ] H[k] H[k] 是等式(4)中给出的第 K K K个面元的概率:
【文献阅读】Scale Match for Tiny Person Detection-微小人物检测的尺度匹配
然而,数据集分布的长尾(如图4所示)使得直方图拟合效率低下,这意味着许多面元的概率接近于0。因此,提出了更有效的校正直方图(如算法2所示)。而SR(稀疏率),计算所有面元中有多少面元的概率接近于0,被定义为H的拟合有效性的度量:
【文献阅读】Scale Match for Tiny Person Detection-微小人物检测的尺度匹配
其中,K定义为H的数量,设置为100,α设置为10,1/(α∫K)用作阈值。利用校正直方图,信噪比从0.67下降到0.33。校正后的直方图H对分布贡献较小的长尾部分关注较少。
【文献阅读】Scale Match for Tiny Person Detection-微小人物检测的尺度匹配

图像级缩放:
对于额外数据集E中的所有对象,我们需要样本A相对于 P s i z e ( s ; D t r a i n ) P_{size} (s;D_{train}) Psize​(s;Dtrain​) 在本文中,我们不是调整对象的大小,而是调整容纳对象的图像的大小,使对象的大小达到。由于只调整这些对象的大小会破坏图像结构。然而,在一个图像中可能有多个不同大小的对象。因此,我们对每幅图像采样一个 s ^ \hat s s^,并保证该图像中物体的平均尺寸为 s ^ \hat s s^。

Sample s ^ \mathbf{\hat s} s^:
我们首先对一个面元的指数相对于H的概率进行抽样,然后对一个均匀概率分布进行抽样,其最小和最大大小分别等于R[k]和R[k]+。第一步确保s的分布接近 P s i z e ( s ; D t r a i n ) P_{size} (s;D_{train}) Psize​(s;Dtrain​) 的分布。第二步,使用统一的采样算法。

4.2. Monotone Scale Match (MSM) for Detection

尺度匹配可以将大小分布转换成任务指定的数据集,如图5所示。尽管如此,比例匹配可能会使原始尺寸混乱:一个非常小的物体可以采样一个非常大的尺寸,反之亦然。针对尺度变换,进一步提出了能保持尺寸单调性的单调尺度匹配。
【文献阅读】Scale Match for Tiny Person Detection-微小人物检测的尺度匹配

众所周知,用于图像增强的直方图均衡匹配算法保持像素值的单调变化。我们遵循这个思路单调地改变大小,如图6所示。
【文献阅读】Scale Match for Tiny Person Detection-微小人物检测的尺度匹配
用单调函数f将数据集E中对象的大小映射到 s ^ \hat s s^,使得分布与 P s i z e ( s ; D t r a i n ) P_{size} (s;D_{train}) Psize​(s;Dtrain​)相同。对于任何 s 0 ∈ [ m i n ( s ) , m a x ( s ) ] s_0∈ [min(s),max(s)] s0​∈[min(s),max(s)],其计算公式如下:
【文献阅读】Scale Match for Tiny Person Detection-微小人物检测的尺度匹配
其中, m i n ( s ) , m a x ( s ) min(s),max(s) min(s),max(s)分别代表物体的最小和最大尺寸。

5. Experiments

5.1. Experiments Setting

Ignore region:
在TinyPerson中,我们必须处理训练集中的忽略区域。因为忽略区域总是一群人(不是一个人)或其他既不能作为前景(阳性样本)也不能作为背景(阴性样本)的东西。
训练时处理忽略区域有两种方法:

1)用训练集中图像的平均值替换忽略区域;

2)不要反向传播来自忽略区域的梯度。在本文中,我们只是简单地采用第一种方法来忽略区域。

Image cutting:
TinyPerson中的大多数图像都是大尺寸的,导致GPU内存不足。因此,在训练和测试过程中,我们将原始图像分割成一些重叠的子图像。然后使用NMS策略将所有子图像的结果合并到一个相同的图像中进行评估。虽然图像切割可以更好地利用GPU资源,但有两个缺点:

1)对于FPN,纯背景图像(该图像中没有对象)不会用于训练。由于图像切割,许多子图像会变成纯背景图像,没有得到很好的利用;

2)在某些条件下,NMS不能很好地合并重叠区域的结果。

Training detail:
代码基于facebook maskrcnn-benchmark。我们选择ResNet50作为主干。如果没有指定,选择更快的RCNN-FPN作为检测器。训练12个纪元,基础学习率设为0.01,6个纪元10个纪元后衰减0.1。我们在两个2080Ti GPUs上进行训练和评估。锚点大小设置为(8.31,12.5,18.55,30.23,60.41),纵横比通过聚类设置为(0.5,1.3,2)。由于某些图像在TinyPerson中包含密集对象,因此每个IMG的检测数(每个图像的检测器输出结果框的最大数量)设置为200。

Data Augmentation:
仅采用水平翻转来扩充训练数据。与其他基于FPN的检测器不同,它将所有图像的大小调整为相同的大小,我们使用原始图像/子图像的大小,而不进行任何缩放。

5.2. Baseline for TinyPerson Detection

RetinaNet:one stage anchor base detector
FCOS:anchor free detector
Faster RCNN-FPN:two stage anchor base detector
DSFD

Poor localization:
如表5和表6所示,当IOU阈值从0.25变为0.75时,性能显著下降。很难有高的定位精度和相对大小。
【文献阅读】Scale Match for Tiny Person Detection-微小人物检测的尺度匹配
Spactial information:
由于微小物体的大小,空间信息可能比更深层次的网络模型更重要。因此,我们使用P2、P3、P4、P5、FPN的P6,而不是P3、P4、P5、P6、P7用于视网膜网络,这类似于更快的RCNN-FPN。我们将调整后的版本命名为自适应视网膜。它获得了比视网膜更好的性能( A P 50 t i n y AP^{tiny}_{50} AP50tiny​提高了10.43%)。

Best detector:
在MS COCO数据集上,RetinaNetAnchorFree实现了比Faster RCNN-FPN更好的性能。如果样品不平衡得到很好的解决,单级检测器也可以超越两级检测器。与RetinaNetAnchorFree相比,基于FCOS的无锚检测器具有更好的性能。然而,当对象的大小变得很小时,比如TinyPerson中的对象,所有检测器的性能都会下降很多。如表5和表6所示,RetinaNetFCOS表现更差。对于微小物体,两级检测器比一级检测器更有优势。

5.3. Analysis of Scale Match

TinyPerson.
在MS COCO上的预处理通常比在ImageNet上的预处理获得更好的性能。然而,在MS COCO上预先训练的检测器在TinyPerson中的改进非常有限,因为MS COCO的对象大小与TinyPerson的对象大小非常不同。

我们通过将每幅图像的较短边缘设置为100并保持高宽比不变来获得新的数据集COCO100。COCO100中对象大小的平均值几乎等于TinyPerson的平均值。D
然而,COCO100上预处理的检测器性能更差,如表7所示。将对象大小的平均值转换为TinyPerson中的值是低效的。
【文献阅读】Scale Match for Tiny Person Detection-微小人物检测的尺度匹配
通过尺度匹配将数据集的MS COCO 整体分布转化为TinyPerson的整体分布,从而构建SM COCO
在SM COCO上对检测器进行预处理后,我们获得了 A P 50 t i n y AP^{tiny}_{50} AP50tiny​ 3.22%的改进,见表7。最后,我们利用单调尺度匹配构造了多尺度匹配算子,用于多尺度匹配算子的变换。使用MSM COCO作为预训练数据集,性能进一步提高到 A P 50 t i n y AP^{tiny}_{50} AP50tiny​ 的47.29%,表7。

Tiny Citypersons.
为了进一步验证所提出的尺度匹配在其他数据集上的有效性,我们在Tiny Citypersons上进行了实验,并获得了类似的性能增益,表8。
【文献阅读】Scale Match for Tiny Person Detection-微小人物检测的尺度匹配

6. Conclusion

本文介绍了一种新的数据集(TinyPerson),用于检测大规模图像中的微小物体,特别是小于20像素的微小人物。这些极小的物体对现有的人体探测器提出了巨大的挑战。
我们建立了微小人物检测的基线,并通过实验发现,尺度不匹配会恶化特征表示和检测器。因此,我们提出了一种简单而有效的方法,规模匹配,用于微小的人检测。我们的方法受到人类认知过程的启发,而尺度匹配可以更好地利用现有的注释数据,使检测器更加复杂。缩放匹配被设计为用于对象缩放处理的即插即用通用块,这为一般的对象检测任务提供了新的见解。


  1. P . Hu and D. Ramanan. Finding tiny faces. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 951–959, 2017. ↩︎

  2. A. Shrivastava, A. Gupta, and R. Girshick. Training region-based object detectors with online hard example mining. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 761–769, 2016. ↩︎

上一篇:目标检测资源汇总--持续更新


下一篇:Tiny-shell(三): 实现流水线处理