Scale Match for Tiny Person Detection-微小人物检测的尺度匹配
文章目录
论文题目:Scale Match for Tiny Person Detection-微小人物检测的尺度匹配
文章地址: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
参考博客:https://blog.csdn.net/qq_45552341/article/details/111567522
翻译:
Abstract
随着深度卷积神经网络的兴起,视觉目标检测取得了前所未有的进展。然而,在大型图像中检测微小物体(例如小于20像素的微小人物)的研究还不够深入。非常小的物体对特征表示提出了巨大的挑战,而大量复杂的背景聚集了误报的风险。在本文中,我们引入了一个新的基准(benchmark),称为TinyPerson,为远距离和大规模背景下的微小目标检测开辟了一个有前景的方向。实验发现,用于网络预训练的数据集与用于检测器学习的数据集之间的尺度不匹配会影响特征表示和检测器的性能。因此,我们提出了一种简单而有效的尺度匹配方法来对齐两个数据集之间的对象尺度,以获得良好的小对象表示。实验表明,我们提出的方法显著的性能增益超过最先进的检测器,并且TinyPerson与真实世界的场景相联系也是具有挑战的一方面。TinyPerson基准测试和我们的方法的代码将会开源。
1.Introduction
人/行人检测是计算机视觉领域的重要课题,应用广泛,包括监视、驾驶辅助、移动机器人、海上快速救援等。随着深度卷积神经网络的兴起,行人检测取得了前所未有的进展。然而,探测微小的人类还远远没有得到充分的探索。
tiny-person检测研究延迟的原因是缺乏重要的基准。现有的人/行人基准,比如CityPersons,主要是在近距离或中间距离。它们不适用于人们在大区域和很远的距离的场景,在直升机平台上进行海上搜救。
与适当尺度下的物体不同,微小物体由于体积极小,信噪比低,具有很大的挑战性,如图1所示。在视频编码/解码过程之后,图像模糊会导致微小物体与背景混合,这就需要在准备基准时花费大量的人力。低信噪比会严重恶化特征表示,从而挑战最先进的目标检测器。
为了检测微小的人,我们提出了一种简单而有效的方法——尺度匹配。我们的方法的直觉是对数据集的目标尺度进行预训练和检测器训练。尺度匹配的本质在于能够更好地研究和利用微小尺度下的信息,使得卷积神经网络(convolutional neural network, CNNs)对于微小对象的表示更加复杂。我们工作的主要贡献包括:
1.在海上快速救援的背景下,我们引入了TinyPerson,对野外微小目标的检测提出了巨大的挑战。据我们所知,这是第一个在远距离和大量背景下进行人员检测的基准。train/val,注释将会公开,并在算法评估中建立一个在线基准.
2.我们综合分析了关于tiny person的挑战,提出了 尺度匹配方法 ,目的是将用于网络预训练的数据集与用于检测器学习的数据集之间的特征分布进行对齐。
3.提出的尺度匹配方法在最先进的检测器(FPN)上显著提高检测性能(5%)
2.Related Work
Dataset for person detection(人检测数据集):
行人检测一直是计算机视觉研究的热点问题。更大的容量、更丰富的场景和更好的注释行人数据集,如INRIA、ETH、TudBrussels、Daimler、Caltech-USA[4]、KITTI[8]和CityPersons[27],代表了对更鲁棒算法和更好数据集的追求。部分数据集的数据采集在城市场景中,并从视频序列的标注帧中采样。尽管这些数据集中的行人分辨率较高,且行人的尺寸较大,但这种情况并不适合微小物体。
在海洋和海滩场景中,TinyPerson的分辨率非常低,主要低于20个像素。这种多样性使得在TinyPerson上训练的模型能够很好地概括到更多的场景,例如:远距离人体目标探测然后救援。
一些小型目标数据集包括WiderFace[25]和TinyNet[19]已经提出。TinyNet涉及远距离遥感目标探测。然而,该数据集不是公开可用的。widface主要关注人脸检测,如图1所示。这些面的绝对尺寸分布与TinyPerson相似,但分辨率更高,相对尺寸更大,如图1所示。
CNN-based person detection:
近年来,随着卷积神经网络(CNNs)的发展,在一些经典的数据集上,如ImageNet[3]、Pascal、MS COCO[16]的分类、检测和分割性能已经远远超过了传统的机器学习算法。区域卷积神经网络(R-CNN)[10]已经成为流行的检测体系结构。OverFeat采用Conv-Net作为图像金字塔上的滑动窗口探测器。R-CNN采用基于选择性搜索的区域建议方法,然后使用convnet对尺度归一化建议进行分类。空间金字塔池化(SPP)[11]在单一图像尺度上对提取的特征图采用了RCNN,这表明这种基于区域的检测器可以更有效地应用。Fast R-CNN[9]和Faster R-CNN[21]以多任务的方式实现了统一的目标检测器。Dai等人[1]提出了R-FCN,它使用位置敏感的RoI池来获得更快更好的检测器。
由于基于区域的方法复杂且耗时,因此提出了YOLO[20]和SSD[17]等单级检测器来加快处理速度,但性能有所下降,特别是在微小物体上。
Tiny object detection:
随着cnn的快速发展,研究人员专门寻找用于微小目标检测的框架。Lin等人[14]提出的特征金字塔网络使用带有横向连接的自顶向下体系结构作为一种优雅的多尺度特征扭曲方法。Zhang等人提出了一种尺度均匀的人脸检测框架,可以很好地处理不同尺度的人脸。然后J Li等人[13]提出了用于人脸检测的DSFD,这是一种开源的人脸检测器。Hu等人的[12]表明,上下文是至关重要的,并定义了利用大规模的大型接收域的模板。Zhao等人[30]提出了一种合理利用上下文的金字塔场景解析网络。Shrivastava等人[22]提出了一种在线硬例挖掘方法,可以显著提高小对象的性能。
3.Tiny Person Benchmark
本文将对象的大小定义为对象的bounding box(包围框)区域的平方根。我们使用Gij = (xij;yij;wij;hij)描述数据集第i幅图像Ii的第j个对象的包围框,其中(xij;yij)为左上角点坐标,wij;hij是边界框的宽度和高度。Wi、Hi分别为Ii的宽度、高度。然后计算一个物体的绝对大小和相对大小.
对于下面提到的对象大小,我们默认使用对象的绝对大小。
3.1.Benchmark description
Dataset Collection(数据集收集):
TinyPerson中的图像是从互联网上收集的。首先,从不同的网站收集高分辨率的视频。其次,我们每50帧对视频中的图像进行采样。然后我们删除有一定重复(同质)的图像。我们用手给72651个物体加上边框。
Dataset Properties(数据集属性):
1.TinyPerson中的人与其他有代表性的数据集相比是相当微小的,如图1和表1所示,这是TinyPerson的主要特点;
2.TinyPerson中的人的长宽比有较大的方差,在Table 1中给出。由于人体的各种姿态和观点,使得人体的多样性更加复杂,从而导致检测更加困难。此外,TinyPerson还可以在姿态和视图多样性方面对现有数据集进行有效补充;
3.在TinyPerson中,我们主要关注海边周围的人,可用于快速海上救援和海上防御;
4.TinyPerson中有很多物体密集的图像(每张图像200人以上)。因此,TinyPerson还可以用于其他任务,例如人员计数。
Annotation rules(注释规则):
在TinyPerson中,我们将人分为“海洋人”(海中的人)或“地球人”(陆地上的人)。
我们定义了四个规则来确定一个人属于哪个标签:
1)船上的人被视为“海洋人”;
2)躺在水中的人被视为“海洋人”;
3)半身以上在水中的人,按“海洋人”处理;
4)其他人被当作“地球人”。
在TinyPerson中,人被贴上“忽略”标签有三种情况:
1)人群,我们可以把它认作人。但是用标准长方形标注的时候人群是很难一个个分开的;
2)模糊不清的区域,很难区分是一个人还是几个人,
3)水中倒影。在TinyPerson中,有些物体很难被识别为人,我们直接给它们贴上“不确定”的标签。图2给出了一些注释示例。
Evaluation(评估):
我们使用 平均精度和失败率( AP (average precision) and MR
(miss rate) ) 进行性能评估。为了进行更详细的实验比较,尺寸范围分为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所示。在本文中,我们还将不确定性视为训练和测试中的忽略
训练和测试集:
训练集和测试集是通过将图像随机等分成两个子集来构建的,而来自同一视频的图像不能被分割到同一子集。
3.2Dataset Challenges
Tiny absolute size(微小的绝对尺寸):
当物体的绝对尺寸变小时,检测性能会下降。
MS COCO的对大小分布差异会导致性能下降。
微小物体变得模糊会导致语义信息较差。
Tiny relative size(微小的相对尺寸):
微小的相对大小导致更多的假阳性和严重的阳性/阴性失衡,因为在真实场景中引入了大量复杂的背景。微小的相对尺寸也极大地挑战了检测任务。
为了 更好地量化微小相对规模的效果, 我们分别通过直接向上采样3x3 个tiny CityPersons和TinyPerson,得到了两个新的数据集3xtiny CityPersons和TinyPerson。然后对3x3tiny CityPersons和TinyPerson训练FPN探测器。性能结果如表3所示。对于tiny CityPersons来说,简单的向上抽样使MRtiny 50和APtiny 50分别提高了29.95和16.31分,这更接近于原来的CityPersons的表现。然而,对于TinyPerson,相同的上采样策略只能获得有限的性能改进。
4.Tiny Person Detection
预训练数据集的数据量巨大,预先训练的模型有时会在一定程度上提高性能。然而,当这些额外数据集的域与任务指定数据集的域有很大差异时,性能的提高是有限的。我们如何使用具有大量数据的额外公共数据集来帮助特定任务的训练模型,例如,微小人物检测?
我们提出了一种简单但有效的尺度变换方法,通过保持tiny person和额外数据集之间的尺度一致性来检测微小的人。
对于数据集 X,我们将 X中物体大小s的概率密度函数定义为
定义一个scale transform(尺度变换)T,用于将额外数据集E(MS COCO)中对象大小的概率分布转换为目标数据集D(TinyPerson)中对象大小的概率分布,如等式(3)所示:
本文在不失一般性的前提下,采用MS COCO作为额外数据集E,尺度匹配用于尺度变换 T .
4.1.Scale Match(尺度匹配)
代表数据集E(COCO)的Ii图像的第j个目标。尺度匹配可简单的描述为三步。
其中, G^ij代表了尺度匹配后的结果。尺度匹配应用于E(COCO)中的所有目标以得到T(E),s是D(TinyPerson)数据集目标框的大小,AS(Gij)是E(COCO)数据集目标框的大小,尺度匹配算法的细节在算法1中展示。
估计Psize(s,D) :
在规模匹配中,我们首先估计Psize(s,D) ,遵循机器学习中的一个基本假设: 随机抽样训练数据集的分布接近实际分布。 因此,训练集Psize(s,Dtrain)用于近似Psize(s,D)。
校正直方图(Rectified Histogram):
离散直方图 ( H纵 , R横 ) 用于近似Psize(s,Dtrain) 进行计算, R [ k ]- 和 R [ K ] +是直方图中第 K个bin(个人理解是横坐标区间)的大小边界, K 是直方图中的bin的数量, N 是Dtrain中的对象数,Gij(Dtrain)是数据集Dtrain 的第i个图像中的第 j 个目标, H [ k ] (个人理解是纵坐标)是等式(4)中给出的第 K 个bin的概率。(直方图:横坐标是目标大小,纵坐标是目标大小在数据集中出现的概率)。
(在这个区间中,第i张图第j个目标大小在数据集中的概率)
然而,数据集分布的long tail(长尾)(如图4所示)使得直方图拟合效率低下,这意味着许多bin的概率接近于0。因此,提出了更有效的 校正直方图 (如算法2所示)。而**SR(稀疏率),**计算所有bin中有多少区间的概率接近于0,被定义为H的拟合有效性的度量:
其中,K定义为H的bin(纵坐标区间)的数量(K就是目标的大小,设置大小最大为100),设置为100,α设置为10,1/(α*K)用作阈值。利用校正直方图,信噪比从0.67下降到0.33。校正后的直方图H对分布贡献较小的长尾部分关注较少。(个人理解公式意思:对于概率小于等于0.001 可以忽略不计)
Image-level scaling(图像级缩放):
对于额外数据集E(COCO)中的所有对象,关于
,我们需要样本s估,将目标大小调整为s估。在本文中,我们 不是调整目标的大小,而是调整容纳对象的图像(也就是整个图片)的大小 ,使对象的大小为s估,这是由于只调整这些对象的大小会破坏图像结构。然而,在一个图像中可能有多个不同大小的目标。因此,我们对每幅图像采样一个 s ^,并保证该图像中目标的平均大小为 s ^ 。
Sample s ^:
我们首先对一个bin的指标,即关于H的概率进行抽样,然后对一个均匀概率分布进行抽样,其最小和最大大小分别等于R[k]-和R[k]+。第一步确保s的分布接近
的分布。第二步,使用统一的采样算法。
4.2.Monotone Scale Match (MSM) for Detection(单调尺度匹配检测)
尺度匹配可以将大小分布转换成任务指定的数据集,如图5所示。尽管如此,比例匹配可能会使原始尺寸混乱:一个非常小的物体可以采样一个非常大的尺寸,反之亦然。针对尺度变换,进一步提出了能 保持尺寸单调性的单调尺度匹配。
众所周知,用于图像增强的直方图均衡化和匹配算法保持了像素值的单调变化。我们遵循这个想法,单调地改变大小,如图6所示。
使用单调函数f将数据集E中的对象大小s映射到s估,使s估的分布与
相同。对于任意
其计算公式为:
其中, m i n ( s ) , m a x ( 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作为主干。如果没有指定,选择Faster RCNN-FPN作为检测器。训练12个epoch, base learning rate(基础学习率)设为0.01,6个epoch和10个epoch后衰减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时,性能显著下降。很难有高的定位精度和相对大小。
Spactial information:
由于微小物体的大小,空间信息可能比更深层次的网络模型更重要。因此,我们使用P2、P3、P4、P5、FPN的P6,而不是P3、P4、P5、P6、P7用于RetinaNet,这类似于Faster RCNN-FPN。我们将调整后的版本命名为 Adaptive RetinaNet。它获得了比 RetinaNet更好的性能( A P 50 t i n y 提高了10.43%)。
Best detector:
在MS COCO数据集上,RetinaNet和AnchorFree实现了比Faster RCNN-FPN更好的性能。如果样品不平衡得到很好的解决,单级检测器也可以超越两级检测器。与RetinaNet和AnchorFree相比,基于FCOS的无锚检测器具有更好的性能。然而,当对象的大小变得很小时,比如TinyPerson中的对象,所有检测器的性能都会下降很多。如表5和表6所示,RetinaNet和FCOS表现更差。对于微小物体,两级检测器比一级检测器更有优势.
DSFD用于人脸检测,它是SOTA人脸检测器的一种,有开源代码。但在TinyPerson上,由于相对尺度和宽高比的差异较大,其性能较差,这也进一步证明了所提出的TinyPerson数据集的巨大挑战。通过性能比较,选择Faster RCNN-FPN作为实验基线和基准。
5.3.Analysis of Scale Match
TinyPerson.
在MS COCO上的预处理通常比在ImageNet上的预处理获得更好的性能。然而,在MS COCO上预先训练的检测器在TinyPerson中的改进非常有限,因为MS COCO的对象大小与TinyPerson的对象大小非常不同。我们通过将每幅图像的较短边缘设置为100并保持高宽比不变来获得新的数据集COCO100。COCO100中对象大小的平均值几乎等于TinyPerson的平均值。然而,COCO100上预处理的检测器性能更差,如表7所示。得到的结论是将对象大小的平均值转换为TinyPerson中的值是低效的。
通过尺度匹配将数据集的MS COCO 整体分布转化为TinyPerson的整体分布,从而构建SM COCO。在SM COCO上对检测器进行预处理后,我们获得了 A P 50 t i n y有 3.22%的改进,见表7。最后,我们利用单调尺度匹配构造了多尺度匹配算子,用于多尺度匹配算子的变换。使用MSM COCO作为预训练数据集,性能进一步提高到 A P 50 t i n y 的47.29%,表7。
Tiny Citypersons.
为了进一步验证所提出的尺度匹配在其他数据集上的有效性,我们在Tiny Citypersons上进行了实验,并获得了类似的性能增益,表8。
6.Conclusion
本文介绍了一种新的数据集(TinyPerson),用于检测大规模图像中的微小物体,特别是小于20像素的微小人物。这些极小的物体对现有的人体探测器提出了巨大的挑战。
我们建立了微小人物检测的基线,并通过实验发现,尺度不匹配会恶化特征表示和检测器。因此,我们提出了一种简单而有效的方法,尺度匹配,用于微小的人检测。我们的方法受到人类认知过程的启发,而尺度匹配可以更好地利用现有的数据,使检测器更加复杂。缩放匹配被设计为用于对象缩放处理的即插即用通用块,这为一般的对象检测任务提供了新的见解。