聊聊目标检测中的多尺度检测(Multi-Scale),从YOLO,ssd到FPN,SNIPER,SSD填坑贴和极大极小目标识别

狙击手在放大倍焦前已经经历了大量的小目标训练,这样看似乎是RPN做的好 — David 9

之前在讲SSD时我们聊过SSD的目标检测是如何提高多尺度(较大或较小)物体检测率的。我们来回顾一下,首先,较大的卷积窗口可以卷积后看到较大的物体, 反之只能看到较小的图片. 想象用1*1的最小卷积窗口, 最后卷积的图片粒度和输入图片粒度一模一样. 但是如果用图片长*宽 的卷积窗口, 只能编码出一个大粒度的输出特征.

对于yolov1,每层使用同样大小的卷积窗口, 识别超大物体或者超小物体就变得无能为力(最后一层的输出特征图是固定7*7):

YOLO架构示意图

SSD就更进一步,最后一层的检测是由之前多个尺度(Multi-Scale)的特征图共同生成的:

SSD架构示意图

这样SSD在计算复杂度允许的情况下,在多尺度物体的检测上有所提高。但是SSD也有明显缺陷,其最后几层的所谓“多尺度”是有限的(如上图特征图尺寸越小,可以识别的物体越大)。对于极小的目标识别,SSD就显得无能为力了

来自:https://techcrunch.com/2017/06/16/object-detection-api/

假设“风筝”只占原始图片的几十个像素,SSD的高层特征图已经无法捕捉如此小的物体。

为了解决上述问题facebook的老兄们开发出了FPN(特征金字塔网络),这种网络不是一味地进行下采样提取语义特征去识别物体,而是从顶层(自上而下)的每一层都进行上采样获取更准确的像素位置信息(有些类似残差网络的跳层连接)

来自:https://medium.com/@jonathan_hui/understanding-feature-pyramid-networks-for-object-detection-fpn-45b227b9106c

我们知道卷积操作虽然能高效地向上提取语义,但是也存在像素错位的问题(到了最上层特征图中,你早已分不清某个像素对应原图的哪些像素)。这种上采样还原特征图的方式很好地缓解了像素不准的问题(使得高层特征图的像素也有据可查):

来自:https://medium.com/@jonathan_hui/understanding-feature-pyramid-networks-for-object-detection-fpn-45b227b9106c

所以为了小目标的检测FPN也是拼了,带来的问题也显而易见:计算量的增多额外的上采样和跳层计算)。

为了缓解这样的计算压力并且对多尺度物体更精准地识别,SNIPER另辟蹊径,对每个尺度大类下都维护一个重点关注区域(region)。就像狙击手每次调节倍焦时,框中区域的关注目标都在最佳尺度:

来自:SNIPER: Efficient Multi-Scale Training

上图虚线框就是某个尺度下的重点关注区域,实线框是ground truth的目标物体框,可见SNIPER试图把ground truth都圈围在重点关注区域的合适尺度下。此外,SNIPER还在重点关注区域中加入了重点排除区域,在许多背景中,许多目标是无须识别的:

来自:SNIPER: Efficient Multi-Scale Training

上图中的绿色框是groud truth,而红色框就是重点排除区域,其中的对象实际上是不需要识别的,SNIPER把这部分误检也排除了。与FPN不同的是,SNIPER不再需要处理每一层特征图的像素进行上采样,计算量下降了不少,据说只比普通的类似yolo的one shot模型多处理30%的像素(重点关注区域中的重叠部分)。并且对于较简单图像,SNIPER理论上应该允许退化到类似yolo的one shot模型(通过维护的重点关注区域)。实现上,SNIPER在RPN网络和Faster-RCNN中都用到了重点关注区域。

 

参考文献:

  1. 机器视觉 目标检测补习贴之SSD实时检测, Multibox Single Shot Detector
  2. Feature Pyramid Networks for Object Detection
  3. https://medium.com/@jonathan_hui/understanding-feature-pyramid-networks-for-object-detection-fpn-45b227b9106c
  4. SNIPER: Efficient Multi-Scale Training
  5. https://github.com/mahyarnajibi/SNIPER

本文采用署名 – 非商业性使用 – 禁止演绎 3.0 中国大陆许可协议进行许可。著作权属于“David 9的博客”原创,如需转载,请联系微信: david9ml,或邮箱:yanchao727@gmail.com

或直接扫二维码:

发布者

David 9

David 9

邮箱:yanchao727@gmail.com 微信: david9ml

发表评论

电子邮件地址不会被公开。 必填项已用*标注