1. 程式人生 > >目標檢測定位與分割論文閱讀心得總結:FCN U-Net R-CNN FR-CNN Faster R-CNN Mask R-CNN

目標檢測定位與分割論文閱讀心得總結:FCN U-Net R-CNN FR-CNN Faster R-CNN Mask R-CNN

   目前,基於區域的方法主要分為兩類:任務解耦和的RCNN[1]和任務高度耦合的FCN[2]

RCNN是將任務分解,目標檢測、定位與分割依次逐一進行,前者決定後者的輸入,因此稱為任務解耦和。而FCN則將三類任務在一個網路中同時進行,不分先後,任務高度耦合。FCN已在醫學影象領域有很多表現優異的衍生網路,如U-NET[12]等,而RCNN則應用較少。

1全卷積網路FCN

1.1FCN

用於影象分割的全卷積網路區別於其他網路最大的特點就是,可以接受任意大小的輸入併產生相同大小的畫素級分割結果,這一特性是由於它用卷積層代替了全連線層帶來的,解除了全連線對輸入大小的要求。並通過上取樣+跳躍連線的形式來彌補池化下采樣所造成的大小和資訊損失,保持輸入輸出大小一致。

不過,FCN更適合於目標檢測定位後的區域性影象塊的分割,並不適合大場景多目標的檢測分割。同時,FCN可以看作基於網路最深層的分類結果,藉助低層特徵的資訊填充進行上取樣的過程,並沒有改變特徵提取的過程,只是在分類器層面進行了修改。因此,大多流行的分類網路,如VGG[13]GoogleNet[14],可以很容易的轉化成全卷積的結構。因此,通過調優現有的優秀網路模型可以較為方便的獲取FCN


1FCN網路結構

1.2U-Net

深層卷積神經網路訓練需要大量樣本,而醫學影象並不具備這一條件,因此,U-NetFCN的基礎上進一步提高了資料利用效率,並提出了一種對稱的網路結構,用對稱的上取樣彌補下采樣所損失的資訊。


2U-Net網路結構

分類網路通過池化來減少引數、增加非線性、擴大感知野並實現平移旋轉尺度不變性,但同時也造成了資訊損失,尤其是一些低層特徵(如邊界資訊)的大量損失。因此我們需要通過連線、融合低層特徵的方式,恢復底層資訊,實現高精度分割。U-Net在用於分類的卷積神經網路後面加上了一段和前半部分對稱的上取樣過程用於增加輸出的解析度。並且,前半部分輸出的低層特徵將與後半部分輸入結合來細化邊界資訊。

網路的整體設計模仿了VGG的設計理念,每下采樣一次就加倍特徵圖數量。此外,為了最大化利用有限的資料,彈性形變和重疊拼接技術被用於資料增強。而且,為了迫使網路學習細微但極其重要的分割邊界,預先生成了權值圖(直接乘到損失值上),用於補償來自確定類的不同頻率的畫素,強調邊界資訊。


3U-Net單個訓練樣本a為輸入原圖b為分割結果c為標籤檔案d為畫素級損失值權值

2基於區域的卷積神經網路RCNN

另一類方法就是解耦和任務的RCNN,將各任務級聯,分佈進行。

2.1R-CNN


4R-CNN系統流程圖

從圖4我們可以看出,該系統就是區域提案+CNN。對於輸入的圖片首先提取區域提案,對每個區域提案都輸入CNN計算特徵,而後將特徵輸入分類器確定該區域結果。

這裡用到的區域提案方法是選擇性搜尋,分2步進行:1.放縮尺度依次提出初始提案;2.計算臨近區域提案的相似度,合併相似區域。相似度的計算可以基於直方圖或SIFT特徵。最後確定的檢測結果主要根據非極大值抑制,即如果一個區域與一個有更高分數的區域的交併比大於一個閾值則拒絕該區域提案。

對於正、負樣本數量嚴重不均衡的問題,此處決定每次均勻取樣32個正樣本、96個負樣本,共128個圖作為一個mini-batch。而且,該網路的調優技術也很值得參考。該網路採用了針對性的調優方法,困難負樣本挖掘,即專門選取那些被高分誤認為正樣本的負樣本進行訓練。這一優化策略可以使得網路快速收斂到一個更優解。

此外,網路還增加了一個線性迴歸模型用於預測最後結果的檢測視窗。

2.2FastR-CNN[3]


5 Fast R-CNN系統流程圖

根據共享計算的思路,不再將每個區域提案輸入CNN計算,而是將整張圖輸入CNN獲得特徵圖(VGG中比原圖小16倍),我們就可以根據位置對應關係獲得每個點的特徵值。用RoIPool層再對各提案區域中的點,均勻分成固定數量分割槽域(如7x7),對每個區域進行最大值池化,即可獲得各提案區域固定大小的特徵圖小塊,用於分類和檢測視窗迴歸。

此外,利用多工損失值進行網路優化。最後的損失值是分類損失值和定位損失值的加和。分類損失值採用交叉熵,定位損失值在較小時採用guan光滑微變的L2範數,在較大時採用L1範數,防止損失值爆炸。

2.3FasterR-CNN[4]

6 Faster R-CNN系統流程圖

從題目可以看出,這一網路最主要的實現的速度的提升,即對R-CNN中最費時的區域提案進行了優化,將區域提案併入卷積神經網路網路完成,由一個RPN(區域提案網路)根據卷積網路提取的特徵圖,以完成區域提案。RPN充當注意力機制來和FastR-CNN進行融合。

很多方法通過縮放影象形成影象金字塔或通過使用多種尺寸的濾波器形成濾波器金字塔,來完成多尺度區域的提取。RPN是通過在迴歸函式中使用不同大小和橫縱比的參考框金字塔來完成多種尺度的特徵提取的。具體實現方法是,通過錨點機制完成的。通過在卷積網路的輸出特徵圖上的每個位置標記錨點,每個錨點位置同時預測多個提案,每個提案是以該錨點為中心的一片區域(不同尺度和橫縱比,比如3種尺度和3種橫縱比,就是9個錨點框)。這種機制同時也具有尺度不變性。

對於RPN的訓練,則是為了防止提案過於偏向負樣本,就隨機取128個提案,不過正負樣本各佔一半。對於整個FasterR-CNN的訓練則分成4步進行,以實現RPNFastR-CNN的卷積特徵的共享:

第一步,調優用於分類的預訓練模型來訓練RPN;第二步,使用第一步訓練出來的RPN所產生的提案來訓練一個單獨的FastR-CNN(同樣是調優用於分類的預訓練模型);第三步,使用FastR-CNN的卷積網路部分來初始化RPN,只訓練RPN獨有的層(固定共有的卷積網路部分);第四步,只訓練FastR-CNN獨有的層(固定共有的卷積網路部分及RPN層)。

2.4MaskR-CNN[5]

6 Mask R-CNN系統流程圖

從流程圖我們可以很明顯的看出,這一網路將畫素級分割併入了FasterR-CNN中,不過區別於全卷積型別的網路,MaskR-CNN仍保持R-CNN各任務高度解耦和的風格。此外,為了實現準確的分割,還改進了興趣區域池化層,主要很大程度解決了對不準的問題(RoIAlign)。

主要做法就是在定位框的那條網路旁並聯了一個分支,用於預測物體掩碼。因此,分割網路的輸入和重定位框是一樣的,兩個任務是同步進行的,這就不同於很多其他方法將重定位區域和作為分割網路的輸入。並且為每一類單獨進行掩碼預測,避免了各類之間的競爭。相應的損失值也是一樣的,哪一類的掩碼就只對這個類的輸出結果生效。具體的網路結構時模仿FCN建立的,以儲存空間位置資訊,避免被全連線層破壞。不過,FCN中進行情景分割時,進行了逐畫素的softmax和多項交叉熵損失值。MaskR-CNN進行了逐畫素sigmoid和二值化損失值。

此外,提出了RoIAlign以優化RoIPool帶來的空間位置錯位問題。區域提案是對原圖進行興趣區域提取,再用RoIPool找到卷積產生的特徵圖對應位置提取特徵小塊,計算方法是對原圖中的位置除以在卷積過程中的步長乘積(如VGG就是16),再取整,這樣找到對應區域的特徵小塊就因為取整導致對不齊。因此RoIAlign就不再對除後結果取整,而是通過雙線性插值確定原圖興趣區域中每個點的特徵值,再進行池化等操作就相對準確。

此外,該方案應用了新提出的(FPN)特徵金字塔網路的技術,實現了不同尺度特徵的更有效利用,在單一尺度輸入的情況下,很好的解決了多尺度問題。FPN採用了自上而下的側向連線將不同尺度的特徵連線融合(上取樣後相加)起來,再進行3x3的卷積以消除混疊現象,而後在所有尺度上進行預測,重複這個過程,直到得到最佳的解析度。FPN在不增加計算量的前提下,很好的解決了多尺度下小物體的精準快速檢測問題。


7 FPN特徵金字塔

參考文獻:

[1]Ross Girshick, Jeff Donahue, Trevor Darrell, Jitendra Malik; RichFeature Hierarchies for Accurate Object Detection and SemanticSegmentation The IEEE Conference on Computer Vision and PatternRecognition (CVPR), 2014, pp. 580-587

[2]JonathanLong, Evan Shelhamer, Trevor Darrell; Fully Convolutional Networksfor Semantic Segmentation The IEEE Conference on Computer Vision andPattern Recognition (CVPR), 2015, pp. 3431-3440

[3]RossGirshick; Fast R-CNN. The IEEE International Conference on ComputerVision (ICCV), 2015, pp. 1440-1448

[4]Ren, Shaoqing and He, Kaiming and Girshick, Ross and Sun, Jian.Faster R-CNN: Towards Real-Time Object Detection with Region ProposalNetworks. Advances in Neural Information Processing Systems. 2015,pp. 91--99

[5]Kaiming He and Georgia Gkioxari and Piotr Dollr and Ross B.Girshick.Mask R-CNN.

[12]Ronneberger, O., Fischer, P., Brox, T.: U-Net: convolutional networksfor biomedical image segmentation. In: Navab, N., Hornegger, J.,Wells, W.M., Frangi, A.F. (eds.) MICCAI 2015. LNCS, vol. 9351, pp.234–241. Springer, Heidelberg (2015).

[13]P. H. Pinheiro and R. Collobert. Recurrent convolutional neuralnetworks for scene labeling. In ICML, 2014. 1, 2, 4, 7, 8

[14]P. Sermanet, D. Eigen, X. Zhang, M. Mathieu, R. Fergus, andY.LeCun.Overfeat: Integratedrecognition, localization and detection usingconvolutional networks. In ICLR, 2014. 1, 2, 4