R-FCN目標檢測模型原理

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

目錄:

0. 模型總結

1. 模型結構分析

2. 創新點解讀

3. 實驗結果分析

4. 優缺點分析

----------------------------------------------------------------

0. 模型總結(精煉)

     R-FCN是一種兩階段的目標檢測模型,從Faster R-CNN發展而來,改進靈感來源於全卷積神經網絡FCN。改進的地方在於位置敏感得分圖機制,以及RoI Pooling在網絡中的位置。在檢測準確率方面和檢測速度方面相較於Faster R-CNN均有提升。在檢測準確率方面,該提升可以歸咎於對RoI Pooling之後的敏感得分圖機制,解決了目標檢測需要對目標平移敏感而目標區域分類需要目標平移不變性(平移不敏感)之間的矛盾,而Faster R-CNN不具備這點;在速度方面的提升在於RoI位置的變化,原來的Faster R-CNN在RoI Pooling之後還有10層卷積,用於對提取的感興趣區域特徵進行進一步的特徵提取,我們知道,一張圖片的感興趣區域是很多的,這意味着有這個10層的子網絡,會跑很多遍,時間成本就高了,R-FCN的做法是,將RoI Pooing移到這10層卷積之後,然後後面就用位置敏感得分圖機制,保證特徵性能,卻又不需要每一個感興趣區域都跑一遍10層的卷積網絡,節省的運行時間成本。效率方面的提升,相當於將整個卷積網絡都共享了,也就是隻跑一次。

1.模型結構

   

                                                                                              圖1  R-FCN模型結構視角1

            

                                                                                                圖2 R-FCN模型結構視角2   

       模型視角1是着重體現了位置敏感得分圖機制,視角2是R-FCN的全結構,也就是RPN也畫進去了。Faster R-CNN的網絡可以劃分爲3個子網絡,而R-FCN只需要劃分爲兩個。Faster R-CNN的子網絡包括:RPN之前的全圖特徵提取、RPN的前景和背景的分類和位置迴歸網絡、RoI Pooling之後的感興趣區域特徵提取網絡。現在,R-FCN將RoI移到了最後,那麼RoI Pooling之後的子網絡其實是沒有了,被用基於投票的位置敏感得分圖機制替換掉了。下面我們再根據模型結構解析一下創新點。

 

3. 創新點解析

全卷積體現在哪?

     RoI Pooling之後沒有了卷積層,也沒有全連接層。原來的Faster R-CNN在RoI Pooling之後通過幾層卷積核全連接層,實現位置迴歸預測,再加上Softmax實現分類。現在用投票機制代替了,並且只進行了分類,迴歸過程全依賴於RPN時的位置迴歸預測。這裏RoI Pooling位置的移動以及後面的卷積層和全連接層位置的取消,使得網絡變成了全卷積。

爲什麼RoI Pooling 位置移動之後變成了全共享卷積?

     RPN之後會輸出很多的RoIs,Faster R-CNN對於這些RoIs的處理是都用RoI Pooling之後的子網絡跑一遍,而R-FCN不跑了,直接用前面跑好的特徵圖,所以這裏就變成了全共享了。

爲什麼說解決了提高平移不變性和平移敏感性之間的矛盾?

     目標檢測是從原始圖像中找到包含目標的子區域,所以對目標的位置變化應該需要敏感一點,也就是平移敏感性。在目前的目標檢測模型中,必須要對目標區域進行分類,而分類任務側重的是平移不變形,不管翻轉還是如何,都應該能分類正確,也就是關注區域的類別語義。這兩者顯然有一定程度的矛盾。

     R-FCN的作者認爲,Faster R-CNN之所有將RoI Pooling插入到卷積層中間,把網絡硬是劃分爲了兩個子網絡,是爲了保證目標檢測的平移敏感性,同時保證區域分類的平移不變形,所以插在中間。也就是說,如果Faster R-CNN也像R-FCN一樣把RoI Pooling插入到最後,那麼模型對目標區域的分類模塊就不再具有平移不變形,效果會不好,所以Faster R-CNN才插在中間。於是,作者認爲,目標檢測的平移敏感性必要要保證,目標檢測模型中的分類器所需要的平移不變性也需要得到保證,才能保證性能。但Faster R-CNN的保證這一點的方式是犧牲了計算速度的,因爲插在中間就不是完全共享的卷積神經網絡了。

     所以,R-FCN作者其實想解決的,是在保證這兩個性的情況下,讓網絡變成全共享,加快速度。於是位置敏感得分圖機制就被提出來了,用來保證分類器的平移變換性。大家都知道,卷積層提取圖像特徵是具有平移不變形的,位置敏感得分圖機制,其實就是一種保證‘“平移敏感性”的機制。這樣一樣,不用犧牲網絡效率,也可以平衡這兩者,這兩性一旦平衡,也保證了性能。

   結論,其實作者就是相對於Faster R-CNN換了一種平衡這兩者的方式,並且R-FCN的平衡方式網絡共享率更高,速度更快。

重點:位置敏感得分圖機制和VOTE投票機制是怎麼工作的?

 

                             

                                                                                     圖3 位置敏感得分圖機制部分模型流程圖

     首先,這個機制的目的,就是將特徵圖映射爲分類得分,再利用Softmax映射爲分類概率。所以輸入就是特徵圖。通過個通道的1x1卷積,進行通道變換,這個時候,特徵圖的通道數就是你們看到的了。先說C,C就是類別數,加1就是多加了背景作爲一類,分類的時候也要區分背景。是位置數,既然是對位置敏感,那麼對於任何一個目標,我總要定義它有幾個位置吧?代碼中k=7,也就是將一個目標從左上角到右下角,分成了7x7=49個位置。那麼我們再來看這個,我們已經解釋了爲位置數,也解釋了(c+1)爲類別數,那麼其實就是對於個位置中的每一個位置,有一個通道數爲(c+1)的特徵圖。當RPN輸入一個目標的座標過來,可以計算得到這個目標區域的位置和寬度W以及高度H,那麼這個時候對應下面這塊特徵圖,其實一個RoI對應着一個【W*H*】的特徵圖。

   

                                                           

                                                                                                      圖4

  到這裏,就是這個步驟生成的特徵圖的意義了。也就一共有k*k個位置被定義,對於每一個位置,有一組厚度爲(c+1)的特徵圖。比如某個RoI映射到這個特徵圖上的寬度和高度爲H、W,那麼在這個特徵圖上就對應了一個【W*H*】的特徵圖,對應這個RoI的深度特徵。

      那麼得分圖機制對這個【W*H*】的特徵圖做了什麼呢?首先,挑。一共有k*k組特徵圖對吧,每組特徵圖對應一個位置的特徵,那麼這個RoI的特徵,我進行挑選,每個位置只留下對應這個位置的那個特徵圖。比如左上角,對應黃色,那麼只留黃色,其他顏色的刪掉,本來每個位置都有k*k組通道數爲(c+1)的特徵圖,現在每一個位置挑完就只剩下一組,通道數爲(c+1),那每一個位置對應的特徵點未必只是一個值,應爲這個RoI如果很大的話,那其實一個位置包含了好幾個點,所以每一個位置都進行一下最大池化或者平均池化,每個位置就只包含一個點了,因爲有c+1個通道,那麼每一個位置其實就對應了一個向量,向量的維度是c+1維,就得到下面這個東西。

                                                                             

                                                                                                      圖5

      每個位置對應着一個維度爲c+1的向量,剛好跟類別數對應,發現沒?其實就向量的每個值對應着這個位置的東西屬於每個類的得分。再看看整體,也就是上圖,每一個通道其實對應着k*k個得分。比如c+1個通道的第一個通道,有k*k個值。

     投票其實就是一個平均值,對於c+1個通道的每一個通道,計算一下平均值,最後得到c+1個平均值,對應着每一類的得分。然後經過Softmax就得到了概率。也就是完成了如下過程。

                                                             

                                                                                                      圖6

 

3. 實驗結果分析

看原文

 

4. 優缺點分析

簡潔,主要是兩階段目標檢測結構方向的優化,相對於Faster R-CNN有一定優勢,對於精度而言提升不是特別明顯。

                                

----------------------------------------------------------------------------------------

 

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