Scale Match:国科大提出小目标检测的尺度匹配方法,用于预训练数据集处理
圣诞快乐~
该文作者信息:
作者均来自中国科学院大学。
众所周知,小目标检测一直是比较棘手的技术问题,现有目标检测算法往往难以给出理想的结果,但在某些场合,小目标检测却非常有意义。
比如,长距离的视频监控,画面中的人物可能都比较小。
作者构建的 TinyPerson 细小人物目标数据库与其他知名的目标检测数据库的视觉比较:
TinyPerson 样本局部放大图
可见,如果大家不点击查看大图的话,基本上就只能看到 TinyPerson上有一些黑点而已。
下面图表和表格是对几大数据集的尺度的统计:
TinyPerson 中人物平均绝对大小才 18 个像素。能较好的反应长距离视频监控场景中的人物。
TInyPerson数据集统计数据
当目标仅有十几个像素大小的时候,算法如何有效捕捉目标呢?事实上,作者没有发明新的检测算法,而是给算法增加训练样本,并对这些训练样本进行尺度调整,使其在尺度上和目标数据集(TinyPerson)统计属性上相似。
嗯,思路就是这么直接!😄
作者将这个尺度调整的过程称之为尺度匹配(Scale Match),请看下图:
Psize(s;E)代表用于增加样本的外部数据集中目标尺度的统计直方图;
Psize(s;Dtrain)则代表目标检测任务数据集中目标尺度的统计直方图;
尺度匹配(Scale Match)的过程就是让这两个直方图分布相似。然后把尺度调整后的外部数据集加入训练集,训练算法模型。
熟悉数字图像处理的朋友,肯定学过直方图匹配(将一幅图像的直方图调整为与另一幅图像直方图相似),尺度匹配与其类似,不同的是,这里直方图每个分箱代表的是不同的尺度的目标的统计。
尺度匹配的算法流程如下:
图像直方图匹配中要保持像素值映射的单调性,目标检测中尺度匹配不需要严格单调(毕竟尺度调整之后该是什么目标还是什么目标),但作者也尝试了保持尺度调整单调性的Monotone Scale Match (MSM),这在某种程度上保留了预训练数据集中目标出现的自然尺度的相对大小一致性。
实验结果
作者实验了一阶段、二阶段、anchor-free 几种有代表性的目标检测算法,以下是在使用MS COCO做预训练然后在TinyPerson上的结果比较:
文中使用 Faster RCNN-FPN 作为比较的基线算法,下表为添加Scale Match、Monotone Scale Match之后在TinyPerson、Tiny Citypersons数据集上的实验结果:
可见,对于训练数据集进行尺度匹配带来了显著的精度提升,AP上升约3-4个点。
论文地址:
https://arxiv.org/abs/1912.10664v1
数据代码地址:
https://github.com/ucas-vg/TinyBenchmark
(目前还未开源)