R-RCN 論文理解3

本文轉載自:

http://blog.csdn.net/surgewong/article/details/51873372



R-FCN: Object Detection via Region-based Fully Convolutional Networks


背景介紹


   R-CNN 系列的方法,如 SPPnet、Fast R-CNN、Faster R-CNN 等方法在 Object Detection 上取得了很大的成功。這些方法的網絡結構被 RoI pooling 層分成兩個子網絡:共享的全卷積子網,RoI-wise 的子網絡。這樣設計的一個主要的原因是,借鑑自那些經典的分類網絡結構,如 AlexNet、VGG Nets 等,這些網絡結構都是卷積子網絡,再接一個 pooling層,之後再接幾個全連接層。很容易將分類網絡的 spatial pooling 層對應到 RoI pooling,將分類網絡轉化成一個用於 detection 的網絡。

   當前 state-of-art 的分類網絡,如 ResNet、GoogleNet,都是全卷積網絡。很自然地將這樣的分類的全卷積網絡的結構應用到 Detection 網絡上。ResNet 的論文中提出了,一種使用 ResNet 作爲特徵引擎的 Faster R-CNN 方法,將 RoI pooling 層插在兩個卷積子網絡之間。RoI-wise 子網絡越深,那麼對於有 N 個 Proposal 的圖像,那麼子網絡就需要重複計算 N 次,雖然子網絡越深,準確度可能越高,但是這應一定程度上是以犧牲速度爲代價的。這一點可以從實驗結果部分Tabel 4 中 Faster R-CNN+++ 與 R-FCN 的時間消耗對比中可以看到。

基於ResNet 的網絡結構


   該文的出發點就是爲了減少重複計算,儘可能地共享網絡,因此對這種結構,提出了更深層次的理解:分類問題,具有平移不變性(translation invariance);檢測 (Detection) 問題,在一定程度上具有平移敏感性 ( translation variance)。前面提到的 將 RoI pooling 層插入到兩個卷積子網路之間,就是爲了打破 translation invariance,使用這種 region-specific 操作也就是爲了儘可能的捕捉檢測的 translation variance特性。

   該論文巧妙地同時考慮這兩種相互矛盾的特性,設計了一個用於 Detection 的共享的全卷積網絡結構。




論文概要


   爲了將 translation variance 引入到全卷積網絡中,論文中設計了一種特殊的卷積層作爲全卷積網絡的輸出,該卷積層輸出 position-sensitive 的 score map,每個 score map 引入了位置的信息,如 物體的頂部。在網絡的最後一層,再接一個 position-sensitive RoI pooling 層,完成對物體的檢測。在整個網絡框架中,所有可學習的層,都是卷積層,同時把空間位置信息引入特徵學習中,使得整個網絡可以進行 end-to-end 的學習。

示意圖




   該論文也採用 R-CNN 方法經典檢測步驟:生成 region proposal, region 分類。使用 RPN 來生成 proposal,類似於 Faster R-CNN,R-FCN 和 RPN 是特徵共享的。在給定 Proposal Region(RoIs) 之後,R-FCN 將 RoIs 分類成目標物體或者背景。在 R-FCN 的網絡中,所有可學習的網絡都是卷積層,都是在全圖上進行操作的,最後一個卷積層爲每個類別(包括背景)生成 k2 個 position-sensitive 的 score map,也就是總共 k2(C+1) 個通道的輸出。這個 k2 個 score map 對應描述一個 k*k 的網格的空間信息。例如,k*k = 3*3,那麼這 9 個 score map,分別對應 {top-left, top-center, top-right, …, bottom-right} 位置的目標分類。R-FCN 的最後一層是一個 position-sensitive 的 RoI pooling 層,對於每個 RoI 從 k*k 的 bins 生成一個值,用於類別的分類。

圖像可視化效果





   該論文的方法採用 ResNet-101 的網絡結構,去掉最後的 average pooling 層和全連接層,只使用其中的卷積層。ResNet-101 的最後一個卷積層的 feature map 的維度是 2048,新增加了一個卷積層,將維度降成 1024維,這樣共享的卷積層也就是 101層。最後再接上生成 k2(C+1) 個通道 position-sensitive score map 的卷積層。

   爲了將位置信息引入到 position-sensitive 的 feature map 中,對於每個 RoI,將其分割成 k*k 個 bins,每個 bin 的大小 wkhk。最後一個卷積層,爲每個類別生成 k2 個 score map。在第 (i,j)th 個 bin (0i,jk1),在 (i,j)th 個 bin 上的 position RoI pooling 操作定義爲 

rc(i,jΘ)=(x,y)bin(i,j)zi,j,c(x+x0,y+y0Θ)n

其中 rc(i,j) 是在第 (i,j) 個bin 下第 c 個類的響應值,zi,j,c 是 k2(C+1) 個通道中的對應的通道,(x0,y0) 是 RoI 對應的起點座標值, n 是對應的 bin 中像素點的個數,Θ 是網絡的參數。第 (i,j) 個 bin 的範圍是 iwkjhk。其實這個操作就是一個 average pooling 的過程,當然是用 max pooling 也可以。

   每個類別上都可以得到 k*k 個 position-sensitive 的 score,文章直接對這些值求平均值,得到最終的 score,因爲分母都相同,均爲 k*k,因此這個 score 就可以寫成 rc(Θ)=i.jrc(i,jΘ),在對這個 RoI 分類時,採用 Softmax 的方式在每個類別上的響應可以寫成 sc(Θ)=Cc=0erc(Θ) ,在訓練過程中採用交叉熵的方式進行訓練。

   類似於 R-CNN、Fast R-CNN 等,R-FCN 在最後的特徵層,加一層 4k2 維的卷積層,用於 Bounding Box 的迴歸。對於每個 RoI,將 position-sensitive 的 RoI pooling 作用於這樣的 4k2 個 map,得到一個 4k2 維的向量。類似於上面的操作,使用平均的方式,可以爲每個 RoI 得到最終的一個 4 維的預測值,分別爲 (x,y,w,h) 。當然也可以針對每個類別分別預測一個 4k2 個向量,類似於 SSD 中的操作。




網絡結構


   文章採用 ResNet 101 的卷積層作爲基礎的卷積網絡結構,再接一個卷積層用於降維,最後接一個產生 k2(C+1) 個 score map 的 position-sensitive 的卷積層,然後接一個 position-sensitive RoI pooling 層,最後使用 Softmax 用於判斷 RoI 的類別。與此同時還可以接一個產生 4k2 個 map 用於迴歸 Bounding box 的位置,同樣應用 position-sensitive RoI pooling 層,最後得到一個迴歸的位置。

網絡結構




訓練策略


   該論文可以說是 Faster R-CNN 的改進版本,其 loss function 定義基本上是一致的: 

L(s,lx,y,w,,h)=Lcls(Sc)+λ[c>0]Lreg(t,t)

   在該網絡框架下,所有可學習的層,都是卷積層,使用 Online Hard Example Mining (OHEM) ,幾乎不會增加訓練時間。

   網絡只使用一種 scale 的圖像訓練,圖像最短的邊寬度爲 600 像素,每張圖像使用 128 個 RoI 用於反向傳播。衝量設置成 0.9,權值衰減設置成 0.0005。在 VOC 上 Fine-tuning 過程中,初始學習率設置成 0.001,訓練 20k 個mini-batches,學習率爲 0.0001,10k 個 mini-batchs。

   R-FCN 和 RPN 共享網絡參數,訓練方式和 Faster R-CNN 的訓練策略和步驟基本一樣。

   使用了 atrous trick。




實驗結果


使用a trous trick比較
相關Detection方法在Pascal VOC 上的結果比較

最後總結


   該論文也可以歸爲 R-CNN 系列,其充分利用當前分類最好的網絡 ResNet,無論是在準確度還是和速度上都相比 Faster R-CNN 都有很大的提高。R-FCN 使用 position-sensitive score map 將 localization 的 translation variant 的從網絡結構中抽離出來,能夠充分利用 ResNet 的強大分類能力。

   R-FCN 使用全卷積網絡,其共享的卷積直接作用於全圖,使用 OHEM 不會給訓練帶來額外的時間消耗,同時使用 atrous trick 使得性能有一定的提升。在 Pascal VOC 2007 上的效果,已經到到了 83.6%。

   回望過去,最近一年多以來,在通用物體檢測上確實取得了非常了不起的成就。


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