Scale Match for Tiny Person Detection 论文分享

        前段时间一直忙着硕士毕业的事情,所以好久没有写博客了。伴随着又一次开学,一切安置妥当,学习也上排上日程了,希望自己在新的领域能够有所贡献,一天比一天进步。

        今天分享的是一篇有关小目标检测的论文:

        论文链接:https://arxiv.org/abs/1912.10664

        代码链接:TinyBenchmark/tiny_benchmark at master · ucas-vg/TinyBenchmark · GitHub

1、摘要

        小目标检测存在特征表达难和复杂背景带来的高虚警率的问题。本文提出了一个新的benchmark TinyPerson,以实现长距离和复杂背景下的小目标检测。

        作者发现用于网络预训练和检测器学习的数据集的尺度不匹配使特征表达不好,同时降低检测器的性能。于是,作者提出了一种尺度匹配方法,匹配两个数据集的目标尺度,从而提升小目标的特征表达。

2、引言

         主要贡献:
        1、基于海上快速救援的背景,提出TinyPerson,发起野外小目标检测的挑战。这是第一个用于长距离和大量背景下行人检测的benchmark。数据集公开!

        2、提出Scale Match方法,以匹配用于网络预训练和检测器学习的数据集的特征分布;

        3、与FPN相比,检测效果提升了5%。

3、TinyPerson Benchmark

        本文用目标bounding box的平方根来定义目标的尺寸。

        G_{ij}=(x_{ij},y_{ij},w_{ij},h_{ij}):第i张图片I_{i}的bounding box

        (x_{ij},y_{ij}):bounding box左上角的坐标

        w_{ij},h_{ij}:bounding box的宽度和长度

        W_{i},H_{i}:图片I_{i}的宽和长

        因此,目标的绝对尺寸AS和相对尺寸RS可以计算为

        AS(G_{ij})=\sqrt{w_{ij}*h_{ij}}

        RS(G_{ij})=\sqrt{\frac{w_{ij}*h_{ij}}{W_{i}*H_{i}}}

        全文的目标尺寸均指绝对尺寸。

3.1Benchmark描述

1、数据集收集:从网络上的高分辨率视频中每50帧采集图片,然后按照一定的概率删除图片。手工标注了72651个目标的bounding box。

2、数据集属性介绍:

1)和其它数据集相比,TinyPerson中的人真的很小,见Figure1和Table1。

2)由Table1可知,TinyPerson中人的长宽比变化很大。并且人的姿势和角度存在多样性。

3)TinyPerson主要是海边附近的人,可用于快速海上救援和海上防御。

4)一些图片上的人是密集的(一张图片上可能超过200个人),因此该数据集还可用于行人计数等任务。

3、标注规则:

        在TinyPerson数据集中,人类被分为“sea person”(persons in the sea)和“earth person”(persons on the land)两类。下面是定义规则:(可忽略)

1)在船上的人是“sea person”;

2)在水中的人是“sea person”;

3)超过半个身子在水中的人是“sea person”;

4)其余为“earth person”。

        在该数据集中, 三种情况下的人会被标注为“ignore”:

1)人群。人群中的人难以一一标注。

2)模糊的区域。难以区分此处是否有人。

3)水中的倒影。

        对于一些难以识别为人类的目标,标注为“uncertain”。标注的例子见Figure2。

4、评估:利用AP(average precision)和MR(miss rate)来评估结果。

        此外,目标按照尺寸大小被分到三个区间:tiny[2,20]small[20,32]all[2,inf]。tiny[2,20]包含三个子区间:tiny1[2,8]tiny2[8,12]tiny3[12,20]。IoU阈值设定为0.5。在一些任务(如失事船舶搜寻和救援)中,更关注的是找到人类,而不是精确定位人类,因此此时IoU阈值设定为0.25。

        在TinyPerson中,由于大部分ignore区域比人大很多,因此对于ignore类,我们利用IOD代替IOU,其它类仍使用IOU,如Figure3所示。在训练和测试的过程中,对待uncertain类的操作和ignore类的操作相同。

5、训练集和测试集:将图像随机分为两个子集,同一视频的图像不能分到同一个子集中。

        在人类检测任务中,将“sea person”和“earth person”当做相同的类别(person类),并且只使用人类数量小于200的图片。

3.2数据集的挑战

1、小的绝对尺寸:

        为了验证减小绝对尺寸对检测效果的影响,对CityPersons进行4倍下采样,得到tiny CityPersons,其中,目标绝对尺寸的平均值与TinyPerson一样。检测结果如Table4所示。

         当目标缩小后,检测器的性能大幅下降,tiny CityPersons的MR_{tiny}^{50} 比CityPersons的低40%。由此可见,小目标的尺寸给目标检测带来了巨大的挑战

        利用MS COCO训练的FPN在和MS COCO中目标大小一致的目标上的检测效果更好,不适用于小目标。尺寸分布的巨大差异会导致性能的下降。此外,小目标往往是模糊的,因此包含较少的语义信息

2、小的相对尺寸

        由于是对整幅图像进行下采样,因此相对尺寸并没有发生变化。与CityPersons相比,TinyPerson是在很高的高度下拍摄的,因此相对尺寸要小的多,如Figure1所示。

        为了验证小的相对尺寸的影响,分别对tiny CityPersons和TinyPerson进行3倍上采样,以得到3*3 tiny CityPersons和3*3 TinyPerson。FPN在两个新数据集上的结果由Table3所示:

         对于3*3 tiny CityPersons,上采样使MR_{50}^{tiny}AP_{50}^{tiny}分别提升了29.95和16.31,这和CityPerson的结果接近。对于TinyPerson,相同的上采样并没有使效果提升。由于目标的背景复杂,较小的相对尺寸会导致更多的假阳性和严重的正负样本不平衡。

4、小的人类目标检测

        大量的数据对于提升算法的效果是十分有必要的,然而收集数据的成本很高。常见的做法是用其它数据集训练预训练(pre-trained)模型,然后在特定任务的数据集上进行微调(fine-tune)。由于其它数据集的域与特定任务的数据集相差很大,因此采用上述办法进行性能提升的效果是有限的。如何用其它数据集来帮助训练用于微小人类检测的模型呢?

        公开数据集在目标类型和尺寸分布上与TinyPerson不同,如Figure1所示。受启发于人类认识的过程(这一段没看懂,懂得评论里讲一下~),作者提出了尺度变换的方法,从而另TinyPerson和其他数据集的尺寸存在一致性

        对于数据集X,定义X中目标尺寸s的概率密度函数为P_{size}(s;X),尺寸变换为T,以将其他数据集E中的目标尺寸的概率分布变换为目标数据集D(TinyPerson)的目标尺寸概率分布,如公式(3)所示:

P_{size}(s;T(E))\approx P_{size}(s;D)

        本文中,MS COCO数据集作为其它数据集,下文的Scale Match为尺寸变换T

4.1、Scale Match

         令G_{ij}=(x_{ij},y_{ij},w_{ij},h_{ij})表示数据集E中图像I_{i}的第j个目标。Scale Match可表示为三步:

        1、采样\hat{s}\sim P_{size}(s;D)

        2、计算比例c=\frac{\hat{s}}{AS(G_{ij})}

        3、利用比例c缩放目标得到\hat G_{ij}\leftarrow (x_{ij}*c,y_{ij}*c,w_{ij}*c,h_{ij}*c)

        对数据集E中的所有目标进行Scale Match,即可得到T(E)。当数据集E中的目标数量很大时,P_{size}(s;T(E))会和P_{size}(s;D)接近。算法细节如下图中的Algorithm1所示:

 1、估计P_{size}(s;D):按照机器学习中的假设“随机采样的训练集的分布与真实分布接近”,因此利用P_{size}(s;D_{train})去估计P_{size}(s;D)

2、校正直方图:离散直方图(H,R)被用于估计P_{size}(s;D_{train})R[k]^{-}R[k]^{+}是第k个bin的尺寸边界,ND_{train}中目标的数量,G_{ij}(D_{train})D_{train}中第i张图片上的第j个目标,H[k]是第k个区间的概率,如公式(4)所示:

H[k]=\frac{​{\color{Blue} |}\left \{G_{ij}(D_{train})|R[k]^{-}\leq AS(G_{ij}(D_{train}))<R[k]^{+}\right \}{\color{Blue} |}}{N}

        然而数据集分布的长尾问题(数据集中的少量类别占据了大量样本,而大量类别仅有少量样本,见Figure4)使得直方图拟合效率较低,即很多个bin的概率接近于0。 因此,作者提出了一个更加高效的校正直方图(见Algorithm2)。并利用SR(sparse rate)来表示概率接近于0的区间的个数:

SR=\frac{|\left \{ k| H[k]\leq 1/(\alpha *K) \, and \, \, k=1,2...,K\right \}|}{K}

其中,K是直方图中bin的个数,设为100,\alpha设为10,1/(\alpha *K)为阈值。对于TinyPerson,SR在0.33到0.67间变化。

 3、图像层面的缩放

         对于数据集E中的所有目标,需要关于P_{size}(s;D_{train})采样\hat{s},然后将目标缩放为\hat{s}大小。本文通过缩放整张图片使目标大小接近\hat{s}(防止破坏图片的结构)。然而图片中可能有多个尺寸不同的目标,此时只需保证所有目标的平均尺寸接近\hat{s}即可。

4、采样\hat{s}

        首先关于H的概率来采样bin的索引,然后在最小和最大尺寸分别为R[k]^{-}R[k]^{+}的前提下,以均匀分布采样\hat{s}。第一步保证\hat{s}的分布接近于P_{size}(s;D_{train}),第二步采用均匀采样法。

4.2、Monotone Scale Match

        Scale Match可以将尺寸的分布变换到特定任务的数据集上,如Figure5所示。然而,该操作可能导致原始尺寸混乱:一个很小的目标可能采样一个大的尺寸,反之亦然。因此提出Monotone Scale Match,以保持尺寸的单调性。

         Figure6为单调改变尺寸的图,利用单调函数f将尺寸s映射为\hat{s},使\hat{s}的数据分布与P_{size}(\hat{s},D_{train})一致。对于任何s_{0}\in [min(s),max(s)],计算如下:

\int_{min(s)}^{s_{0}}P_{size}(s;E)ds=\int_{f(min(s))}^{f(s_{0})}P_{size}(\hat{s};D_{train})d\hat{s}

 其中,min(s)max(s)分别表示E中的目标的最小尺寸和最大尺寸。(ps:这个公式对吗?我怎么感觉不对)

 5、实验

        详见原文。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值