【論文解讀】Facebook 何凱明 Mask R-CNN 狙擊目標實例分割

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

轉載自:http://weixin.niurenqushi.com/article/2017-03-29/4805787.html

【論文解讀】Facebook 何凱明 Mask R-CNN 狙擊目標實例分割

2017-03-2912:36     軍事    來自:牛人趣事

導讀:自從將卷積神經網絡引入了目標檢測領域後,從rcnn到fast-rcnn,然後到end-to-end的faster-rcnn,除了yolo一枝獨秀外,基本壟斷了整個目標檢測領域;而何凱明的resnet基本成了整個圖像分類算法的巔峯。這一次,他們強強聯手準備狙擊實例分割(instance segmentation)了。

什麼是instance segmentation簡單講,一羣人在圖片裏面,我希望把每個人都給我分割出來。分類只能做到識別這個圖片是人;目標檢測只能檢測到這個圖片裏有人,把人的地方框出來,對每一個人這個個體不一樣是沒有判斷的,統一認爲是人;而圖像分割主要是將人和背景分割出來,而實例分割就是要把每個人清晰的分割出來。

    Facebook MaskR-CNN 論文解讀 

Facebook人工智能研究小組提出更簡單靈活和通用的目標實例分割框架MaskR-CNN,文章提出了一種從概念上更簡單、靈活和通用的用於目標實例分割(objectinstance segmentation)的框架Mask R-CNN,該方法能有效地在每個實例中探測同時出現的目標,並對每個實例生成一個高質量的分割掩碼(segmentation mask)。

Mask R-CNN是在Faster R-CNN 上的擴展——在其已有的用於邊界框識別分支上添加了一個並行的用於預測目標掩碼的分支。MaskR-CNN的訓練很簡單,只是在R-CNN的基礎增加了少量的計算量,大約爲5fps。另外,R-CNN掩碼能夠更好地適用於其他任務,例如估計同一圖片中人物的姿態,本文在COCO挑戰中的3種任務(包括實例分割、邊界框目標探測、任務關鍵點檢測)種都獲得了最好的成績。在沒有適用其他技巧的情況下,Mask R­-CNN的表現超過了現有的單個模型,包括COCO 2016挑戰賽的獲勝模型。本報道將會簡要從提出背景、關鍵概念、Mask R­-CNN簡介以及相關實驗結果四個發麪進行介紹。

  提出背景  

視覺領域的研究飛速提升了目標探測和語義分割在近年來的成績。Facebook提出的這一框架將對如Fast/Faster R-CNN和完全卷機網絡(FCN)在內的目標探測和語義分割在內的基礎框架有重大作用。

圖1用於實例分割的Mask R-CNN框架

實例分割工作之所以很難,是因爲它要求對同一圖像中的多個對象進行精確的探測和分割,這樣的工作需要結合經典經算計視覺的目標探測任務(tasks of object detection)中的多個元素,目標探測任務需要將每個個體實例進行分類,並在邊界框內進行定位,最後進行語義分割(將每個像素進行分類的工作)。基於以上的描述,你可能覺得實例分割工作需要一個複雜的模型才能達到良好的效果,但是Facebook提出的Mask R-CNN模型卻出乎意料地集簡潔、靈活和快速於一身,並擁有目前來說最好的表現。

總的來說,Mask R-CNN是基於Faster R-CNN的基於上演進改良而來,FasterR-CNN並不是爲了輸入輸出之間進行像素對齊的目標而設計的,爲了彌補這個不足,我們提出了一個簡潔非量化的層,名叫RoIAlign,RoIAlign可以保留大致的空間位置,除了這個改進之外,RoIAlign還有一個重大的影響:那就是它能夠相對提高10%到50%的掩碼精確度(Mask Accuracy),這種改進可以在更嚴格的定位度量指標下得到更好的度量結果。第二,我們發現分割掩碼和類別預測很重要:爲此,我們爲每個類別分別預測了一個二元掩碼。基於以上的改進,我們最後的模型Mask R-CNN的表現超過了之前所有COCO實例分割任務的單個模型,本模型可以在GPU的框架上以200ms的速度運行,在COCO的8-GPU機器上訓練需要1到2天的時間,我們認爲訓練和測試速度、框架的靈活性以及精確性的改進會有益於未來的實例分割工作。

圖2 Mask R-CNN在COCO 測試集合中的結果展示。這些結果基於ResNet101,在 5 fps 的速度下實現了 35.7 的 mask AP。圖中以不同的顏色表示不同的掩碼,圖中也顯示了邊界框、類別的置信度。

  相關概念解釋  

·        R-CNN:基於地區的CNN(Region-based CNN),簡稱爲R-CNN方法,它處理邊界框中目標探測工作的原理是將區域理解爲多個可管理的潛在實例區域,並評估每個RoI的卷積網絡。R-CNN之後被延展到可以適用RoIPool來得到特徵地圖上的RoIs,這大大提高了框架的速度和精確度。通過使用Region Proposal Network(RPN)來學習注意力工作機制,研究人員得到了更先進的FasterR-CNN框架,Faster R-CNN以其靈活性和魯棒性的優越性成爲目前集中基準的主導框架。

·        實例分割(Instance Segmentation):基於R-CNN方法的有效性,很多實例分割的研究都是基於對分割方法的建議,目前最新的進步是Li(2016)等人在其論文“Fullyconvolutional instance-aware semantic segmentation”中提出的“完全卷積實例分割”方法。更詳細的分割方法論述請參見原文。

  Mask R-CNN介紹 

Mask R-CNN擁有簡潔明瞭的思想:對於Faster R-CNN來說,對於每個目標對象,它有兩個輸出,一個是類標籤(classlabel),一個是邊界框的抵消值(bounding-box offset),在此基礎上,Mask R-CNN方法增加了第三個分支的輸出:目標掩碼。目標掩碼與已有的class和box輸出的不同在於它需要對目標的空間佈局有一個更精細的提取。接下來,我們詳細介紹Mask R-CNN的主要元素,包括Fast/Faster R-CNN缺失的像素對齊(pixel-to pixel alignment)。

  Mask R-CNN的工作機理 

Mask R-CNN 使用了與FasterR-CNN相通的兩階段流程,第一階段叫做RPN(RegionProposal Network),此步驟提出了候選對象邊界框。第二階段本質上就是FastR-CNN,它使用來自候選框架中的RoIPool來提取特徵並進行分類和邊界框迴歸,但Mask R-CNN更進一步的是爲每個RoI生成了一個二元掩碼,我們推薦讀者進一步閱讀Huang(2016)等人發表的“Speed/accuracy trade-offs for modern convolutional object detectors”論文詳細對比Faster R-CNN和其他框架的不同。

掩碼將一個對象的空間佈局進行了編碼,與類標籤或框架不同的是,Mast R-CNN可以通過卷積的像素對齊來使用掩碼提取空間結構。

ROIAlign:ROIPool是從每個ROI中提取特徵圖(例如7*7)的標準操作。

網絡架構(Network Architecture):爲了證明Mast R-CNN的普遍性,我們將Mask R-CNN的多個構架實例化,爲了區分不同的架構,文中展示了卷積的主幹架構(backbonearchitecture),該架構用於提取整張圖片的特徵;頭架構(headarchitecture),用於邊框識別(分類和迴歸)以及每個RoI的掩碼預測。

 

圖3 Head框架介紹:我們拓展了兩種現有的Faster R-CNN頭框架。左/右的圖分別展示了He等人(2016)年提出的ResNetC4/Lin等人(2016)年提出的FPN的主幹框架,在這兩個框架中都加入了掩碼的分支。圖中的數字代表了空間像素和信道,箭頭表示卷積(conv)、去卷積(deconv)或全連接層(fc),具體情況可以實際推斷(卷積會保持空間維度,去卷積會增加空間維度)。輸出卷積是1x1之外,其他都是3x3,去卷積是2x2,步幅爲2.我們再隱藏層中使用了Nair和Hinton(2010)提出的ReLU修正線性單元技術。在左圖中,rest5表示ResNet的第五階段,爲了簡明起見,我們對架構進行了修改,將第1層卷積層放在一個7x7的RoI上運行,步幅爲1(而不是在He等人在“圖片認知中的深度剩餘學習”研究中使用的14x14/步幅爲2);右圖中的‘x4’代表了4個連續卷積的堆疊。

  相關實驗結果  

實例分割

我們將Mask R-CNN的方法與已有的方法進行了對比,在所有實驗中使用了COCO數據集。

圖4在COCO測試圖片上使用Mask R-CNN的其他結果,使用了35.7掩碼AP,ResNet­-101-FPN,運行速度是5fps。

我們的實驗在COCO數據集上進行的測試,標準COCO測度包括AP(IoU閾值的平均值)、AP50、AP75和APs、APM、APL(不同規模的AP),如非特殊註明,AP是通過掩碼IoU來估計得到。表1是MaskR-CNN與現有的實例分割方法對比的結果,圖2和圖4都是Mask R-CNN輸出的可視化結果,圖5是將Mask R­-CNN基準與FCIS+++對比結果,FCIS+++顯示出其會受到實例分割基礎性僞影的影響,而Mask R-CNN並不會出現這種情況。

表格 1實例分割結果:表中記錄了將Mask R-CNN與其他實例分割方法對比得到的結果。我們的模型表現優於所有同類的模型。MNC和FCIS分別是COCO 2015和2016分割挑戰賽的冠軍。Mask R-CNN表現優於更復雜的FCIS+++,FCIS+++包括多規模的訓練/測試、水平翻轉測試和OHEM。所有的都是單模型結果。



圖5 FCIS+++(上)對比Mask R-CNN(下,ResNet-101-FPN),FCIS在重合物體問題上會出現系統性僞影(systematic artifacts)。

研究人員將Mask R-CNN進行了多項測試,結果如下表2所示:

表格 2 Mask R-CNN的Ablations實驗結果,模型在trainval35k、minival上測試,並彙報了基於mask AP結果。

·        表2(a)Backbone架構:更好的backbone能夠帶來期望的收穫:更深入的網絡效果更好、FPN表現超過了C4的特徵,ResNeXt在ResNet基礎上進行了改善。

·        表2(b)多項式對比獨立掩碼(ResNet-50-C4)結果:通過每個類的二元掩碼(sigmoid)進行的分解Decoupling對比多項式掩碼(softmax)有更好的表現。

·        表2(c)展示了RoIAlign(ResNet-50-C4)的結果:使用不同RoI層的掩碼結果。我們的RoIAlign層提高了AP ~3 points,提高了AP75~5 points。使用合適的對齊(alignment)方法改善的原因之一。

·        表2(d)RoIAlign(ResNet-50-C5, stride 32)展示的是基於large-stride特徵的掩碼水平和框水平的AP。比stride-16特徵(如表2c所示),這裏出現的對齊失誤更嚴重,因而造成了大量的精確誤差。

·        表2(e)掩碼分支(ResNet-50-FPN):完全卷積網絡(Fully convolutionalnetworks, FCN)對比多層感知器(MLP,全連接)進行掩碼預測。FCNs利用編碼空間佈局改善了結果。

表格 3目標檢測:在test-dev上的單模型(邊界框 AP)對比其他模型的結果。使用ResNet-101-FPN的Mask R-CNN結果比其他同類模型(這些模型忽略了掩碼輸出問題)表現更好,MaskR-CNN的好結果受益於使用了RoIAlign(+1.1APbb)、多任務訓練(+0.9 APbb)和ResNeXt-101(+1.6 APbb)。

圖6在COCO test上使用Mask R-CNN(ResNet-50-FPN)的關鍵點測試結果,利用相同的模型預測得到了人物分割掩碼。此模型有63.1的關鍵點掩碼,運行速度爲5 fps。

利用Mask R-CNN也可以延用到人物姿態估計,作者進行了相關實驗,表4是實驗結果。

表格 4在COCO test-dev上的關鍵點探測AP,我們用的模型是ResNet-50-FPN,一個單一的模型,運行速度是5fps,CMU-Pose+++是2016年的冠軍模型,使用了多層測試和後處理的CPM,利用目標探測過濾,以及累計的~5 points:G-RMI利用COCO plus MPII進行訓練,使用了兩個模型(Inception-ResNet-v2 + ResNet-101),此模型使用了更多的數據,因此跟Mask R-CNN不能直接比較。


考慮到Mask-CNN模型對於提取約束框、掩碼和關鍵點的有效性,我們期待它是一個對於實例水平任務來說更有效的框架,Mask-CNN可以泛化到更多的實例層(instance level)的識別工作,並可以延展到更復雜的任務。


 

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