1. 程式人生 > >目標檢測(十六)--MS-CNN

目標檢測(十六)--MS-CNN



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

Multi-stage Object Detection with Group Recursive Learning

Subcategory-aware Convolutional Neural Networks for Object Proposals and Detection

最新看篇關於多尺度下快速目標檢測的論文,是UCSD大學的SVCL實驗室和IBM研究院一起研究的結果。

這篇文章主要解決多尺度同時存在時的檢索問題,設計了MSCNN網路,提出了兩點創新和幾點技巧:

(1)針對多尺度問題:

   類似於FCNT跟蹤方法,該文章也是觀察到了卷積網路不同層得到的特徵特點的不同,對不同層的特徵採用不同的利用方式。比如conv-3的低網路層,有更小的感受野,可以進行小目標的檢測;而高層如conv-5,對於大目標的檢測更加準確。對於不同的輸出層設計不同尺度的目標檢測器,完成多尺度下的檢測問題。

   注: 在卷積神經網路中,感受野的定義是卷積神經網路每一層輸出的特徵圖(feature map)上的畫素點 在原始影象上對映的區域大小。點選開啟連結

(2)針對速度問題:

   使用特徵的上取樣代替輸入影象的上取樣步驟。設計一個去卷積層,來增加特徵圖的解析度,使得小目標依然可以被檢測出來。這裡使用了特徵圖的deconvolutional layer

(去卷積層)來代替input影象的上取樣,可以大大減少記憶體佔用,提高速度。

  作者說:去卷積層一直用於分隔和邊緣檢測,我們第一次用它加速和提高檢測率。

文章的網路結構類似RCNN,分為proposal提取和目標檢測,兩個部分獨立進行。

proposal子網路和目標檢測子網路結構圖分別如下:

注:中間有色部分可以看成CNN trunk(cnn 主幹線),一些層延伸了分支,分支由單檢測層構成,通過分支的proposal判斷為最終proposal。

技巧一:Conv4-3上面有一個緩衝卷積層,因為這一次更靠近主幹線的底層(接近輸入圖),更影響梯度導致學習過程不穩定,緩衝卷積層能防止檢測分支的梯度直接反向傳播回主幹線層。

實驗細節:

 資料擴充套件: 在KITTI資料集中,大多數目標很小,候選集差別很大,而最大目標尺寸過小,故把原始影象隨機縮放成多個規模。

  精調:   影象背景區域消耗計算記憶體,故在1000*600的大圖裡裁剪448*448的含目標圖片,是12G視訊記憶體夠用

 訓練技巧: booststrapping 和multi-task loss 使訓練在早期迭代過程不穩定,採用兩步走,

      第一步:隨機取樣,以學習率0.00005迭代10000次,生成模型

      第二部:用生成的模型初始化第二層,自舉,以初始學習率0.00005迭代,每迭代一萬次學習率下降十倍,一共迭代 25000次。

實驗過程與結果:

文章主要在KITTI和Caltech Pedestrian資料集上進行了MSCNN的測試,因為這兩個資料集中包含許多小目標。

作者對proposal網路部分目標檢測部分的實驗結果分別進行了全部系統的分析和對比,這裡僅僅將在KITTI上的檢測結果展示: