論文閱讀筆記三十六:Mask R-CNN(CVPR2017)


 

論文源址:https://arxiv.org/pdf/1703.06870.pdf

開源代碼:https://github.com/matterport/Mask_RCNN

摘要

        Mask R-CNN可以在進行檢測的同時,進行高質量的分割操作。基於Faster R-CNN並進行擴展,增加了一個分支在進行框識別的同時並行的預測目標的mask。Mask R-CNN易於訓練,相比Faster R-CNN增加了一點點花銷。此外,Mask R-CNN可以很容易擴展至其他任務中。如關鍵點檢測。本文在COCO數據集中的三個任務效果表現優異,包含實例分割,邊界框的目標檢測及關鍵點檢測。

介紹

        本文的目標在於建造一個有效進行實例分割的系統。實例分割由於需要對圖片中的所有目標進行正確的檢測及分割,具有一定的挑戰性。 因此,本文結合目標檢測及分割兩種計算機視覺任務。目標檢測的目標是對單獨的object進行分類。同時,使用框對每個位置進行定位操作。  分割是不管不同的實例目標對每個像素進行分類。

        Mask R-CNN擴展Faster R-CNN通過增加一個分支用於預測每個RoI的分割masks.同時,利用現有的分支進行分類及框回歸任務。如下圖,mask分支是一個小型的FCN應用到每個RoI上,以像素級的方式進行分割預測。

 

     

        Mask R-CNN基於Faster R-CNN訓練更快,同時,可以擴展結構設計用於其他任務。Faster R-CNN中網絡的輸入與輸出並未滿足像素級別的對齊。這是因為RoiPool在特征提取過程中進行粗糙的空間量化操作效果明顯。為了解決不匹配的情況,本文提出了一個簡單的去量化層RoIAlign,可以准確的保存空間位置。設計上進行了一點改造,RoIAlign發揮重大作用:將mask的准確率相對提升了10%至50%。另外,本文發現同時進行mask與分類十分重要。針對每個類別進行二分類。同時,依賴於網絡的RoI分類分支進行類別預測。相反,通常對每個像素進行多分類操作。Mask R-CNN重點在於實例級別的分析。

Mask R-CNN

        Faster R-CNN中每個候選目標有兩個輸出,一個為類別,另一個為邊界框的偏移。Mask R-CNN增加了一個分支用於輸出目標的mask。Mask 輸出與分類及框預測輸出是獨立的,mask需要提取大量目標的合適形狀信息。

Faster R-CNN

        主要包含兩部分,(1)Region Proposal Network(RPN)用於提取候選目標框。(2)此部分本質上為Fast R-CNN,對每個候選框利用RoIPool提取特征,接着執行分類及框回歸操作。 提取的特征被共享便於更快的推理。

Mask R-CNN

        Mask R-CNN同樣采用兩階段處理過程。第一階段的操作相同,為RPN,在第二階段,並行的進行分類及框偏移預測。Mask R-CNN同時針對每個RoI輸出一個二分類的mask。參考Fast R-CNN同時進行邊界框的分類及回歸。大大簡化了R-CNN的多階段過程。

正常情況下,訓練時,針對每個RoI樣本定義一個多任務的損失:分類損失與邊界框損失與Fast R-CNN相似。mask 分支中,針對么個RoI,包含Km^2維度的輸出。用於編碼K個二分類的mask,大小為mxm,針對K個類別。因此,我們應用一個像素級的sigmoid。定義Lmask為平均二分類交叉熵損失函數。與類別K相對應的ground truth,Lmaks只定義第k個mask。其他mask的輸出對此loss損失無影響。Lmask的定義允許網絡生成每個類別的masks,與其他類別無關。依賴於分類分支,用於預測輸出mask的標簽。這里,包含mask及類別的預測。同時,與常用的FCN不同,基於像素級的損失函數及交叉熵損失。本文中,基於像素級的sigmoid及二分類損失,不存在類別之間的競爭。

Mask Representation

        mask將輸入目標的空間外形進行編碼。因此,不同於通過全連接層壓縮為向量的類別標記及框偏差,可以通過卷積提取mask的像素級空間結構特征。對於每個RoI使用FCN預測一個mxm的mask。使mask分支中的每一層保持mxm的目標空間形狀信息,而不是將特征壓縮為向量,從而丟失空間維度。不同於全連接層進行mask預測,全卷積表述需要更少的參數量,同時准確率較高。為了實現像素對像素,要求feature maps很小的RoI特征,很好的保留每個像素對應的空間響應。為此,本文提出了RoIAlign。在進行mask 預測時發揮着重要作用。

RoIAlign

        RoIPool對每個RoI提取小feature map(7x7)的標准方法。RoIPool首先量化浮點數的RoI得到離散化feature map。離散處理后的RoI被分為幾個空間bins。其中,每個bin也是離散的。每個bin通過最大池化處理得到一個特征值。在連續的坐標x上執行量化操作,如[x/16],16代表feature map的stride,[.]代表近似操作。量化操作在划分bins中。量化操作使RoI與提取的特征不匹配。此變化對類別預測無影響,但是十分不利於像素級的mask預測。

        為解決RoI與feature map不匹配問題,本文提出了RoIAlign,用於消除RoIPool造成的量化損失,使提取的特征與輸入進行精准的匹配。本文的方法很簡單:去除RoI邊界或bins中的所有量化操作。比如,使用x/16替換為[x/16]使用雙線性插值計算每個RoI bi中輸入特征四個角采樣位置的精確值,通過使用最大化和均值操作得到結果。如下圖,值得注意的是,采樣位置及采樣點的個數對結果無影響,中間並無量化操作。

 

Network Architecture

        為了證明Mask R-CNN結構的通用性,將Mask R-CNN應用多幾個結構。按如下幾類特征進行區分:(1)卷積網絡結構作為backbone用於提取整張圖片的特征。(ii)網絡的頭部用於邊界框的識別(分類及回歸)每個RoI單獨進行mask預測。本文用網絡深度特征作為backbone結構。分別用50層的ResNet及101層的ResNetXt作為backbone。原始的基於ResNet的Faster R-CNN從第四stage的最后一層卷積層進行特征提取。稱為C4。本文也采用FPN作為backbone。FPN使用自上而下帶側連接的結構對於單個尺寸的輸入建立特征金字塔。通過基於ResNet-FPN的Mask R-CNN取得了較大的提高。

        對了網絡的頭部,在原有網絡基礎上增加了一個全卷積用於mask預測的分支。更確切的說是本文擴展了Faster R-CNN的box的head。細節如下。

 

 Implementation Details

        基於Fast/Faster R-CNN進行參數初始化。

        訓練:如同Fast R-CNN 當RoI與ground truth的閾值超過0.5則規定為正樣例,否則規定為負樣例。mask損失只定義在正樣例樣本(RoI)上。輸入圖片進行resize操作,尺寸為800x800,mini-batch為2,每張image包含N個采樣RoIs。正負樣例的比例為1:3,對於基於ResNet的N設置為64,對於FPN的N設置為512;weight decay為0.0001,動量為0.3.RPN中的anchor設置為5個尺寸及3個比例。為方便起見,RPN單獨進行訓練,與Mask R-CNN不進行特征共享。由於RPN與Mask R-CNN存在相同的backbone,因此,可以進行特征共享。

        推理:測試時,proposal的數量為基於ResNet的為300,對於FPN的為1000。在這些proposal上進行box分支預測,同時,使用NMS處理。maks分支應用到分數最高的100個檢測框。由於數量少但精度較高的RoIs的存在,mask分支可以對每個RoI預測K個masks。但本文並未使用全部的K個類別,而時只使用分類分支預測出的類別。將mxm大小的浮點數mask 輸出進行resize操作,調整至RoI大小,同時以閾值0.5進行二值化處理。

實驗     

 

 

Reference 

        [1] M. Andriluka, L. Pishchulin, P. Gehler, and B. Schiele. 2D human pose estimation: New benchmark and state of the art analysis. In CVPR, 2014. 8

        [2] P. Arbel´aez, J. Pont-Tuset, J. T. Barron, F. Marques, and J. Malik. Multiscale combinatorial grouping. In CVPR, 2014. 2

        [3] A. Arnab and P. H. Torr. Pixelwise instance segmentation with a dynamically instantiated network. In CVPR, 2017. 3, 9

        [4] M. Bai and R. Urtasun. Deep watershed transform for instance segmentation. In CVPR, 2017. 3, 9

        [5] S. Bell, C. L. Zitnick, K. Bala, and R. Girshick. Insideoutside net: Detecting objects in context with skip pooling and recurrent neural networks. In CVPR, 2016. 5

        [6] Z. Cao, T. Simon, S.-E. Wei, and Y. Sheikh. Realtime multiperson2dposeestimationusingpartaffinityfields. InCVPR, 2017. 7, 8 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM