【SNIPER】

  1. 目的:优化SNIP,减少计算量的同时提升精度(相比SNIP提升4.6个点)
  2. base model: Faster RCNN
  3. 速度:每秒5张图
  4. 思想:

SNIP借鉴了多尺度训练的思想,借助了图像金字塔作为模型的输入,提高了效果但是增加了计算量。

SNIPER在其基础上略作修改,引入context-regions(论文中也叫chips)思想,在做多尺度时,只关心两个类别:

  • positive chips(包含gt)
  • negtive chips,从ROI抽样获得的,可以理解为难分类的背景

论文的核心也是如何寻找positive chips是和negtive chips

过程:chip generator ——> positive chip selector ——> negtive chip selector

  • chip生成

在多个尺度的图片中,滑窗,窗口大小512*512

三个尺度检测的面积是 (0, 80*80) , (32*32, 150*150), (120*120, inf),如果chip包围了gt但gt右不在检测范围内,gt是无效的,比如下图

【SNIPER】

  • positive chips 的选择

目标:每个chip中尽可能包含合适的gt

问题:图像金字塔弊端:放大一张图片会放大这张图片内的所有物体,有的甚至超过了模型的感受野。

解:忽略高分辨图中的大目标和低分辨率中的小目标。

思路:如果一个gt完全处于一个chip中则认为被包围,作者根据chip保包围的gt数量多少排序,选取topk个chip作为positive。

  • negtive chips的选择

定义:不包含gt,或者包含的gt比较少

思路:只用positive chip去训练几个epoch的垃圾rpn,根据这个垃圾rpn去选择“假正”样本,用作negitve chips。

理由:垃圾rpn没学好的肯定是难分类背景。

 

总结:用垃圾rpn选择negtive chip,作者思路清奇,主要是解决多尺度的问题,训练速度虽然慢了点但是对得起这个效果。