MSCNN論文解讀-A Unified Multi-scale Deep Convolutional Neural Network for Fast Object Detection

 多尺度深度卷積神經網絡進行快速目標檢測:

兩階段目標檢測器,與faster-rcnn相似,分爲an object proposal network and an accurate detection network. 文章主要解決的是目標大小不一致的問題,尤其是對小目標的檢測,通過多層次的結構,實現多尺度的目標檢測。

之前所使用的簡單的單一尺度的目標檢測器通常爲了識別出圖片中大小適中的目標而將感受野設定爲一個適當的大小,這種設定對於較大或較小的目標的識別效果都比較差。通常解決小目標的識別是通過將輸入圖片進行上採樣的方法,但是這種方法所消耗的內存和計算量都很大,所以本篇文章所採用的多尺度目標檢測器能夠解決這種目標大小與感受野不一致的現象,每一個檢測層只着重檢測與這一層尺寸相匹配的目標。換句話說,就是在網絡的淺層檢測小目標,在深層檢測大目標。

 

文章第二個貢獻在於利用特徵上採樣代替輸入圖片上採樣,擴大小目標的分辨率,提高識別準確率。這一部分是利用一個反捲積層實現,採用的方法是雙線性插值的方法,減少了內存和計算的消耗。

第三部分是目標檢測網絡的第一個階段-生成候選框的子網絡(Multi-scale Object Proposal Network )。這一部分分三個主要部分。

3.1多尺度檢測

多尺度檢測分爲兩種方法:(1)利用一個單一尺度的分類器並將輸入圖片多次重新縮放成不同比例進行檢測,使分類器能夠與所有尺寸的目標相匹配。(2)利用卷積神經網絡特徵的複雜性。本文采用的是一個多尺度的檢測方法,在卷積過程中的多個卷積層中進行檢測,但是輸入採用單一尺度的圖片,並且每個檢測層只檢測固定尺寸大小的圖片。

3.2架構

 

文章中的MS-CNN proposal network如圖三所示,圖像中間是網絡的主幹,同時在一些卷積層中帶有分支結構。其中每個分支都是一個單一尺度的目標檢測器。注意在第4-3個卷積層後帶有一個緩衝層,是爲了防止低層次卷積層在反向傳播過程中影響主幹網絡的梯度。

整個proposal network子網絡的損失用W來表示,S是訓練目標的一個集合。其中整體的損失數由公式(1)進行計算,是將每一個檢測層的損失疊加在一起作爲整體損失,損失的計算與faster r-cnn相似,分別計算分類損失和迴歸損失。分類採用對數損失,迴歸採用SMOOTH-L1損失。

3.3採樣

對於每一個檢測層訓練樣本都分爲正、負樣本。其中候選框是通過一個Anchor作爲滑動窗口的中心,在特徵映射上滑動產生的。Anchor的大小設置與卷積核的大小相關,並且不同檢測層的大小設置也不同,具體設置如表一所示。當候選框與真實樣本的IOU值大於等於0.5時,被標記爲正樣本,當IOU值小於0.2時被標記爲負樣本,其餘的丟棄。

 

但是對於一張自然圖片,目標與非目標的比例通常不匹配。採樣就是要解決這種正負樣本不平衡的現象,通常是對負樣本進行採樣,文中介紹了三種方法分別爲:(1)隨機採樣,即隨機的選取負樣本。(2)自定義方法,文中是將所有負樣本按照分數進行排名,選取前n個強負樣本。(3)混合方法,一半採用隨機採樣,一半採用按分數排名。

爲了保證每一個檢測層只檢測這一層次所對應尺度的目標,在訓練樣本中,這一層次的訓練樣本必須包含所對應範圍內的所有尺寸。那麼就可能會出現一個檢測層中沒有正樣本的出現,導致正負樣本比例失調,使學習的模型不穩定,所以在計算分類損失時將檢測到的正負樣本乘以不同的係數一減少負樣本對整體的影響。

第四部分是目標檢測子網絡的介紹,在加入檢測子網絡後,整個網絡的損失通過公式(6)進行計算,前一部分爲候選框子網絡的損失,後一部分爲檢測子網絡的損失。其中檢測子網絡的損失計算公式與faster r-cnn相似,M+1爲M個類別和一個背景。第四部分分爲兩個主要部分:

4.1 cnn特徵值插圖

在第4-3個卷積層後通過反捲積加入一個卷積層,實現特徵映射的上採樣,對於小目標的識別更加準確。

4.2上下文嵌入

如圖綠色框代表檢測到的目標候選框,藍色框爲帶有該目標的上下文信息的候選框,其中藍色框爲綠色框的1.5倍,通過將這兩個框進行堆疊,在通過一個降維卷積層將冗餘的信息進行壓縮,在不損失準確率的情況下減少了參數。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章