论文
论文概述
- 以前解决scale variation的方法包括: 1) 特征金字塔; 2) 空洞卷积或者可变卷积; 3) 各个层的featuremap进行独立预测;4)图像金字塔,多尺度训练,多尺度预测.
- 该论文提出在不减少训练样本的情况下缓解scale variation的方法. 对输入图片rescal,bp只对特定scale的目标.
- 为了降低domain shift,只对ROIs/anchors像素接近与训练的CNN的时候进行BP.
论文细节
- training at different resolutions:在800x1400和1400x2000的分辨率上训练.1400的比800的性能好. 训练的时候输入使用大分辨率的图片可以提升小目标的检测率.但是中等到高的分辨率图片的检测性能下降.
- scale specific detectors : 训练的分辨率为1400x2000,但是BP的时候只关注<80pixel的目标.但是这种方法比800x1400的性能还差,因为BP的时候忽略了80pixel以上的,而80pixel以上的物体占了总的30%.
- Multi Scale Training(MST) : 训练使用多尺度,随机. 由于有极小的目标还是会降低性能.表现和800x1400差不多.
- 作者提出的方法:在图像金字塔上进行目标检测
- 目标是结合以上方法的各个优点
- 1. SNIP, Scale Normalization for Image Pyramids : 类似MST, 但是只有当目标物体的像素接近与训练数据集才对其进行bp,比如经典的imagenet的244x244的像素. 即resize后的图像中的object在给定的scale范围内才对其bp,不在范围内的忽略.这个方法在训练的时候使用了所有样本,且降低了domain-shift的影响.
- SNIP细节 : 训练的时候,忽略在给定尺度范围外的GT,以及与该类GT的overlap的在0.3以上的anchor;在inference的时候,每个分辨率的图片输入RPN可以得到一些proposal框,然后将给定尺度(跟训练时候一样)范围外的proposal忽略掉.
- 2. Sampling Sub-Images (针对训练图像分辨率大的时候显存占用高的问题) : crop图片.i)每张图片随机产生50个1000x1000大小的chip, 选择包含最多object的chip加入训练;2)重复1)直到该图片中的所有object都覆盖到了.由于chip是随机产生的,所以会有proposal boxes在图片边缘的,为了加速,论文中将这部分chip snap掉了.
- 训练细节
- 使用Deformable-RFCN, 在(480,800),(800,1200),(1400,2000)这三个尺度上训练.(480:短边, 800:上限边).