论文-MS-CNN

 

A Unified Multi-Scale Deep Convolutional Neural Network for Fast Object Detection

 

MS-CNN就是将faster RCNN进行multi scale化,从而提高对 small object的判断能力。

 

总的来说,目前的object detection主要分为这几种不同的detection strategies。

 

分析, a方法获得最高的准确率,但是因为computation costly。b方法的可以减少计算,但是需要不同scale的classifications,且detect效果较差。接着的方法都是在complexity与accuracy之间取得一个trade-off。

 

本文的方法的结构是:

 

 

 

该CNN的网络结构是在不同的层进行一个Object Detection sub-network

其中Object Detection sub-network 的结构是:

 

整个结构就是 faster RCNN的multi-scale版本。

因为越浅层的branch反馈的梯度,对主干network的影响越大。这样会造成训练的不稳定。

The Buffer Convolution 层防止branch的梯度直接回传到主干上。

 

(1), loss

Loss 可以被定义为:

其中M是detection branches的数量,alpha是对应loss的权值。

对应的每一个detection layer的loss定义为:

 

最优的parameter: 

来源于 SGD的学习。

 

 

 

(2), sampling

对于每一个detection layer m 都有一个training samples Sm = {Sm+, Sm-}, 对于一个image,object和no-object的分布式非常不平衡的,所以采用sampling来消弭这种不平衡。

有三种sampling strategy: random, boostrappinig和 mixture。在paper中的实验说明,mixture sampling 和 bootstrapping的表现相近。

 

 

 

(3), detection sub-network

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还是较为好的

 

posted @ 2017-03-17 20:05  zhang--yd  阅读(7190)  评论(0编辑  收藏  举报