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還是較為好的
