1. 概述
代码地址:mscnn
文章为快速多尺度目标检测提出了一个统一的神经网络叫做multi-scale CNN(MSCNN)。MSCNN由一个proposal子网络和一个检测子网络组成。proposal子网中,在多个尺度输出层进行检测,使接受域匹配不同尺度的对象。将这些不同尺度检测的结果合在一起能够产生一个强大的多尺度检测器。通过优化多任务损失,实现了统一网络的端到端学习。此外,还探讨了反卷积特征上采样作为输入上采样的一种替代方法,以减少内存和计算成本。
这篇文章中将Faster RCNN进行多尺度化,从而提升了对于小目标的辨别能力。这是由于RPN通过在一组固定的卷积特征图上滑动一组固定的滤波器,生成多个尺度的proposal。这就造成了对象大小(可变)和筛选接受域(固定)之间的不一致。下面图1就是说明了RPN感受野的问题,导致小目标的检测性能相对较低。

对于多尺度目标检测,主要由如下的几种策略:

(a)变换图像的输入尺度得到不同尺度的feature map,从而使得网络可以适配多种尺度的目标输入,因而有较高的性能,但是计算代价大。
(b)在固定的输入尺度与feature map上使用多个尺度的分类器,避免了带来较大的计算量,但是性能很一般。
(c)使用少量的尺度再得到这些尺度的分类结果
(d)对输入进行少量尺度的计算并通过插值去弥补缺失的特征图。已被证明可以在分类精度损失很小的情况下实现达到快的速度。
以上的几种方法由于CNN网络特征的复杂性,并没有在检测网络中采用。
(e)这里的方法和(a)比较相似,但它是对proposal区域进行变换来得到不同尺度的特征的,并不是对整幅图像。
(f)相同大小的多个模板集应用于所有feature map,这可能导致模板匹配的严重尺度不一致,该方法与(b)相似
(g)使用了单一的图像尺度输入,但是在不同分辨率的卷积图上进行分类,使得形成了一组可变大小的接受域,可以覆盖很大范围的目标大小。这也是论文采取的结构形式
2. MSCNN网络
2.1 网络的结构
MSCNN网络有多个检测分支组成,其结构见下图:

其中有一个设计的技巧:Conv4-3上面有一个缓冲卷积层,因为这一次更靠近主干线的底层(接近输入图),更影响梯度导致学习过程不稳定,缓冲卷积层能防止检测分支的梯度直接反向传播回主干线层。
对于每个分支部分,整个结构就是 faster RCNN的multi-scale版本,其检测器的结构为:

Deconvolutional layer,起到一个higher resolution的作用,更加适合于location-aware bounding box regression。Upsampling feature maps使用了deconvolution layer,实验证明了,添加了deconvolution layer之后,detection 效果得到了明显提高,尤其是对小的object。
还有一个创新点是: context embedding,在paper中是context from multiple regions,其中context region是object region的1.5倍大小。这样就起到了一个上下文的作用。
最后一个Conv层是减小model参数的作用,对feature map的一个降维作用。当然,MS-CNN取得了高的detection rates同时达到速度提高到 15fps。在硬件条件越发好的条件下与faster RCNN比,performance还是较为好的
2.2 网络的损失函数
对于有多个分支的检测网络其总的损失值是通过加权计算得到的:

对于每个分支中的损失函数是这样定义的:

其中,对于定位的损失定义为:

对于每一个detection layer
m
m
m都有一个training samples
S
m
=
{
S
m
+
,
S
m
−
}
S^m = \{S^{m+}, S^{m-}\}
Sm={Sm+,Sm−}, 对于一个image,object和no-object的分布式非常不平衡的,所以采用sampling来消弭这种不平衡.有三种sampling strategy: random, boostrappinig和mixture。在paper中的实验说明,mixture sampling和bootstrapping的表现相近。
为了解决检测过程中因为正负样本采样不均衡带来的问题,这里将分类的损失函数修改为加权的形式:

3. 实验结果

MSCNN是一种多尺度目标检测的神经网络,由提案子网和检测子网组成,通过多任务损失实现端到端学习。文章探讨了多种多尺度检测策略,并指出在固定尺度的特征图上使用多个尺度的分类器可以有效降低成本并提升小目标检测性能。在结构上, MSCNN包含多个检测分支,使用反卷积层增强定位能力,以及上下文嵌入来提供额外信息。实验表明,MSCNN在保持高检测率的同时提高了运行速度。
1243

被折叠的 条评论
为什么被折叠?



