[论文学习]Mask R-CNN
?
正文:
摘要?
我們提出了一個概念上簡單、靈活以及通用的目標實例分割框架。我們的方法有效地檢測圖像中的目標,同時為每一個實例生成高質量的分割掩模。這種叫Mask R-CNN的方法通過添加一個與現有邊框識別分支并行的、用于預測目標掩模的分支來擴展Faster R-CNN。Mask R-CNN訓練簡單,相對于Faster R-CNN只增加了很小的開銷,運行速度在5fps。此外,Mask R-CNN很容易推廣到其他任務,例如,允許我們在同一個框架中估計人的姿勢。我們在COCO系列挑戰賽的全部三個比賽項目中都取得了最佳成績,包括實例分割、邊框目標檢測以及人體關鍵點檢測。在沒有使用額外技巧的情況下,Mask R-CNN在每個任務上優于所有現有的單一模型實體,包括COCO 2016挑戰的獲勝者。我們希望我們簡單而有效的方法能夠成為一個基礎的方法,并有助于未來實例級識別的研究。我們將稍后提供代碼。
1、 簡介?
視覺社區在短時間內使目標檢測和語義分割的效果取得很大提升。在很大程度上,這些提升是由強大的基線系統驅動的,例如用于目標檢測的Fast/Faster R- CNN [9, 28]和用于語義分割的全卷積網絡(FCN) [23]框架。這些方法在概念上很直觀,提供靈活性和魯棒性,并且訓練和推理都很快速。在這項工作中我們的目標是為實例分割開發一個相對可用的框架。
實例分割是有挑戰性的,因為它要求正確檢測一張圖片中所有的目標,同時需要精準的分割每個實例。它因此結合了來自經典計算機視覺任務目標檢測的元素,其目的是對每個目標進行分類,并且使用邊框對每個目標進行定位。以及語義分割(通常來講,目標檢測使用邊框而不是掩模來標定每一個目標檢測,語義分割是指在沒有區分實例的情況下對每個像素進行分類。但我們注意到,實例分割既是語義分割,又是一種檢測的形式。)其目標是將每個像素分類為一類固定的類別,而不區分對象。鑒于這種情況,人們可能認為需要一種復雜的方法才能取得較好的結果。然而,我們驚訝的發現一種簡單、靈活以及快速的系統能夠超越之前最先進的實例分割的結果。
我們把這種方法稱為Mask R-CNN,它通過在每個感興趣區域(RoI)上添加一個分支來預測分割掩模,繼承自Faster R-CNN [28],這個分支與現有的分類和邊框回歸并行。如圖1所示:
掩模分支是作用于每個感興趣區域(RoI)的小全卷積神經網絡(FCN),以像素到像素到方式預測分割掩模。Mask R-CNN是基于Faster R-CNN的,它易于實現和訓練,并且為廣泛靈活的架構設計提供了便利。此外,掩模分支只增加了一個小的計算開銷,使快速系統和快速實驗成為可能。
在原理上,Mask R-CNN是Faster R-CNN的直接擴展,正確構建掩模分支對于取得好結果是至關重要的。更重要的是,Faster R-CNN不是為網絡輸入和輸出之間的像素對齊而設計的。這一點在RoIPool[13, 9]中最為明顯,它實際上是用于處理實例的核心操作,對特征提取執行粗的空間量化。為了修正錯位,我們提出了一個簡單的,量化無關的層叫做RoIAlign,可以保留精確的空間位置。盡管看似一個很小的變化,RoIAlign起了很大的作用:它能將掩模準確率提高到10%至50%,在更嚴格的位置度量下顯示出更大的收益。再者,我們發現解耦掩模和類預測是至關重要的:在沒有類間競爭的情況下,我們為每個類獨立的預測二進制掩模。并且依賴于網絡的RoI分類分支來預測類別。相比之下,FCN通常執行每像素多類分類,分割和分類同時進行,基于我們的實驗,發現它對實例分割效果不佳。
沒有額外的技巧,Mask R-CNN超越了COCO實例分割任務[22]上所有先前最先進的單一模型的結果,包括來自2016年大賽冠軍的大量作品。作為一個副產品,我們的方法也優于COCO目標檢測任務。在對照實驗中,我們評估多個基本實例,這使我們能夠證明其魯棒性并分析關鍵因素的影響。
我們的模型在GPU上以200ms每幀的速度運行,使用一臺有8個GPU的機器,在COCO上訓練需要一到兩天的時間。我們相信,快速訓練、測試速度以及框架的靈活性和準確性將會促進未來在實例分割的研究。
最后,我們通過在COCO關鍵點數據集[22]上的人體姿勢估計任務來展示我們框架的通用性。通過把每個關鍵點視為一個one-hot二進制掩模(one-hot binary mask),只需要很少的修改,Mask R-CNN就可以應用于檢測特定的姿勢。沒有額外的技巧,Mask R-CNN超過了COCO 2016關鍵點競賽的獲勝者,同時運行速度達到了5FPS,因此,Mask R-CNN可以被廣泛的看作是用于實例級識別的靈活框架,并且可以容易的擴展到更復雜的任務。
我們將會發布代碼以促進未來的研究。
2、 相關工作?
R-CNN:區域卷積神經網絡(R-CNN)[10]是通過找到一定數量的候選目標區域[32,15],并且在每個RoI上單獨的執行卷積網絡[19,18]來進行邊框目標檢測。基于R-CNN的改進[13,9],使用RoIPool在特征圖上選取RoIs可以更快和更準確。Faster R-CNN[28]通過使用區域建議網絡(RPN)學習注意機制來產生候選框。還有后續的對Faster R-CNN靈活性和魯棒性的改進(如[29,21,16]),這是在當前的幾個基準測試中領先的框架。
目標分割:在R-CNN有效的驅動下,實例分割的很多方法都是基于分割建議(segment proposals)的。早期的方法[10,11,12,6]依賴于自下而上的分割[32,2]。DeepMask[26]和[27,5]通過學習提出分割候選區(segment candidates ),然后由Fast R-CNN進行分類。在這些方法中,分割先于識別,速度慢并且準確率低。Dai[7]等人提出了一個復雜的多級級聯,通過從邊框建議中預測分割建議(segment proposals),然后進行分類。相反的,我們的方法并行的進行掩模和類標簽的預測,更簡單和靈活。
最近,Li[20]等人將[5]中的分割建議系統和[8]中的目標檢測系統進行了“全卷積實例分割(FCIS)”的結合。在[5,8,20]中的共同想法是用全卷積預測一組位置敏感的輸出通道。這些通道同時處理目標分類、邊框和掩模,這使系統變得更快。但是FCIS在重疊實例上出現系統錯誤并且產生虛假邊緣(圖5)。這表明它受到了分割實例的基本困難的挑戰。
3、 Mask R-CNN?
Mask R-CNN概念簡單:Faster R-CNN為每個候選目標輸出一個類標簽和一個邊框偏移量。為此,我們添加了一個輸出目標掩模的第三條分支。因此,Mask R-CNN是一個自然且直觀的例子。但是,附加的掩模輸出與類輸出和邊框輸出不同,需要提取對象更精細的空間布局。接下來,我們將會介紹Mask R-CNN的關鍵特點,包括像素到像素的對齊,這是Fast/Faster R-CNN所不具備的關鍵點。
Faster R-CNN:我們首先簡單回顧一下Faster R-CNN探測器[28],Faster R-CNN由兩級組成。第一級稱為區域建議網絡(RPN),其目的是提出候選目標邊框。第二級,本質上是Fast R-CNN[9],使用RolPool從每個候選框中提取特征,并進行分類和邊框回歸。兩級的特征可以共享使用,以便更快推理。可以參考[16],以便了解Faster R-CNN和其他框架之間的最新綜合比較。
Mask R-CNN:Mask R-CNN采用相同的兩級,第一級是完全相同的(既RPN)。在第二級,與預測(類和邊框偏移)并行,Mask R-CNN還會為每一個RoI輸出一個二進制掩模。這與最近的其他系統相反,其分類取決于掩模預測(例如,[26,7,20])。我們的方法遵循于Fast R-CNN[9],邊框分類和回歸并行(這在很大程度上簡化了R-CNN[10]的多級流水線)。
通常,在訓練中,我們將每個采樣后的RoI上的多任務損失函數定義為:?
L = Lcls + Lbox + Lmask ,其中,分類損失Lcls和邊框損失Lbox與[9]中定義相同。掩模分支對于每個RoI的輸出維度為Km2 ,表示K個分辨率為m × m的二進制掩模。每個類別有一個分辨率為m × m的二進制掩模,K表示類別數量。為此,我們為每個像素應用sigmoid,并定義Lmask為平均二進制交叉熵損失。對于真實類別為k的RoI,僅在第k個掩模上計算Lmask(其他掩模輸出不計入損失)。
我們對Lmask的定義允許網絡在不夸類別競爭的情況下,為每個類獨立的預測掩模;我們依靠專用分類分支預測用于選擇輸出掩模的類標簽。這個將解耦掩模和類預測。這與通常將FCNs[23]應用于像素級softmax和多項式交叉熵損失的語義分割做法不同。在這種情況下,掩模將跨類別競爭。在我們的方法中,使用了像素級的sigmod和二進制損失,掩模將不會垮類別競爭。我們通過實驗發現,這種方法是改善實例分割結果的關鍵。
掩模表示:掩模編碼了輸入目標的空間布局。因此,與通過全連接(fc)層不可避免的縮成短輸出向量的類標簽或邊框偏移不同,通過卷積所提供的像素到像素的對應關系,可以很自然地提取出掩碼的空間結構。
具體地,我們使用FCN[23]從每一個RoI預測一個m × m的掩模。這允許掩模分支中的每個層顯示的保持m × m的對象空間布局,而不會將其縮成缺少空間維度的向量表示。這與之前使用fc層掩模預測方法[26,27,7]不同。我們的全卷積表示需要更少的參數,并且如實驗所證明的那樣更加準確。
這種像素到像素的行為需要RoI特征,它們本身就是小特征圖,為了更好的對齊,以準確的保留顯式的像素空間對應關系,我們開發出在掩模預測中發揮關鍵作用的RoIAlign層,將在接下來講到。
RoIAlign:RoIPool[9]是從每個RoI提取特征圖(例如,7×7)的標準操作。RoIPool首先將浮點數表示的RoI量化到與特征圖匹配的粒度,然后將量化后的RoI分塊,最后匯總每個塊覆蓋的區域的特征值(通常使用最大池化)。量化是執行的。例如,對在連續坐標系上的x計算[x/16],其中16是特征圖步幅,[.]表示四舍五入。同樣的,當對RoI分塊時(例如7×7)也執行同樣的計算。這些量化操作使RoI與提取的特征錯位。雖然這可能不會影響分類,因為分類對小幅度的變換有一定的魯棒性,但它對預測像素級精確的掩模有很大的負面影響。
為了解決這個問題,我們提出了一個RoIAlign層,消除了對RoIPool的粗糙量化,并將提取的特征與輸入精準的對齊。我們提出的改變很簡單,我們避免對RoI邊界或塊進行量化(例如,我們使用x/16代替[x/16])。我們選取每個RoI分塊中的四個常規位置,使用雙線性插值[17]來計算每個位置的精確值,并將結果匯總(使用最大或平均池化)。(我們抽取四個常規位置,以便我們可以使用最大或平均池化。實際上,在每個分塊中心取一個值(沒有池化)幾乎同樣有效。我們也可以為每個塊采樣超過四個位置,但我們發現這些位置的收益遞減。)
正如我們在4.2節(對照實驗)中所示,RoIAlign的改進效果明顯。我們還比較了[7]中提出的RoIWarp操作。與RoIAlign不同,RoIWarp忽略了對齊問題,并在[7]的實現中有像RoIPool那樣量化RoI。即使RoIWarp也采用了[17]中的雙線性重采樣,如實驗實現所示(更所細節見表2c),它與RoIPool的效果差不多。這表明對齊起到了關鍵的作用。
網絡架構:為了證明我們方法的通用性,我們構造了多種不同結構的Mask R-CNN。詳細的說,我們使用不同的:(i)用于整個圖像上的特征提取的卷積主干架構,(ii)用于邊框識別(分類和回歸)和掩模預測的上層網絡,分別應用于每個RoI。
我們使用術語“網絡深層特征”來命名下層架構。我們評估了深度為50或101層的ResNet [14]和ResNeXt [34] 網絡。使用ResNet [14]的Faster R-CNN從第四級的最終卷積層提取特征,我們稱之為C4。例如,使用ResNet-50的主干架構由ResNet-50-C4表示。這是[14,7,16,30]中常用的選擇。
我們也探索了由Li[21]等人最近提出的另一種更有效主干架構,稱為特征金字塔網絡(FPN)。FPN使用具有橫向連接(lateral connections )的自頂向下架構,從單一規模的輸入構建網絡功能金字塔。使用FPN的Faster R-CNN根據其尺度提取不同級別的金字塔的RoI特征,不過其他部分和平常的ResNet類似。使用ResNet-FPN主干架構的Mask R-CNN進行特征提取,可以在精度和速度方面獲得極大的提升。有關FPN的更多細節,讀者可以參考[21]。
對于上層網絡,我們基本遵循了以前論文中提出的架構,我們添加了一個全卷積的掩模預測分支。具體來說,我們擴展了ResNet [14]和FPN[21]中提出的Faster R-CNN的上層網絡。詳情見下圖(圖3)所示:(上層架構:我們擴展了兩種現有的Faster R-CNN上層架構[14,21],并分別添加了一個掩模分支。左/右面板分別顯示了ResNet C4和FPN主干的上層架構。圖中數字表示通道數和分辨率,箭頭表示卷積、反卷積和全連接層(可以通過上下文推斷,卷積減小維度,反卷積增加維度。)所有的卷積都是3×3的,除了輸出層是1×1。反卷積是2×2,其步進為2,我們在隱藏層中使用ReLU[24]。在左圖中,“res5”表示ResNet的第五級,簡單起見,我們修改了第一個卷積操作,使用7×7,步長為1的RoI代替14×14,步長為2的RoI[14]。右圖中的“×4 ”表示堆疊的4個連續的卷積。)ResNet-C4主干的上層網絡包括ResNet的第5階段(即9層的’res5’[14]),這是計算密集型的。但對于FPN,其主干已經包含了res5,因此可以使上層網絡包含更少的卷積核而變的更加高效。
我們注意到我們的掩模分支是一個非常簡單的結構,也許更復雜的設計有可能提高性能,但這不是這項工作的重點。
3.1實現細節?
我們對超參數的設置與現有的Fast/Faster R-CNN基本一致[9,28,21]。雖然這些設置在原始論文[9,28,21]中是用于目標檢測的,但是我們發現我們的實例分割系統對他們具有魯棒性。
訓練:和在Fast R-CNN設置一樣,如果RoI與真值框的IoU不小于0.5,則為正樣本,否則為負樣本。掩模損失函數Lmask僅在RoI的正樣本上定義。掩模目標是RoI及其相關的真值掩模之間的交集。我們采用以圖像為中心的訓練[9](image-centric training)。圖像被縮放(較短邊)到800像素[21]。批量大小為每個GPU2個圖像,每個圖像有N個RoI采樣,正負比例為1:3[9]。C4的主干N為64(如[9,28]),FPN為512(如[21])。我們使用8個GPU訓練(如此有效的批量大小為16)160k次迭代,學習率為0.02,在120k次迭代學習時學習率除以10。我們使用0.0001的權重衰減和0.9的動量。
RPN錨點跨越5個尺度和3個縱橫比[21],為了方便對照,RPN分開訓練,不與Mask R-CNN共享特征。除非有特殊說明,本文中的每個實體,其RPN和Mask R-CNN具有相同的主干,因此他們是可以共享的。
測試:在測試時,C4主干(如[28])中的建議數量為300,FPN為1000(如[21])。我們在這些建議上執行邊框預測分支,然后執行非極大值抑制(non-maximum suppression[9]),再將掩模分支應用于評分最高的100個檢測邊框。盡管這與訓練中使用的并行計算不同,但它可以加速推理并提高精度(由于使用的更少,所以有更準確的RoIs)。掩模分支可以預測每個RoI的K個掩模,但是我們只使用第k個掩模,其中k是分類分支預測的類別。然后將m×m浮點數掩模輸出的大小調整為RoI大小,并使用閥值0.5將其二值化。
注意,由于我們僅在前100個檢測邊框中計算掩模,Mask R-CNN將邊緣運行時間添加到其對應的Faster R-CNN版本(例如,在典型模型上約20%)。
4、 實驗:實例分割?
我們對Mask R-CNN與現有技術進行徹底的比較,并且進行了廣泛的對照實驗。我們所有的實驗使用COCO數據集[22]。我們報告標準的COCO指標,包括AP(平均超過IoU閥值),AP50 , AP75 ,和APS , APM , APL (不同尺度的AP)。除非另有說明,使用掩模IoU評估AP,這與[3,21]所做的工作一樣。我們使用80k訓練集和35k驗證集的子集(trainval 35k)的組合進行訓練,并在剩下的5k個驗證子集(minival)上報告對照結果。我們還給出了test-dev[22]的結果,其沒有公布的標簽。本文發布后,我們將根據建議把在test-std測試的完整結果上傳到公開排行榜。
4.1 主要結果?
我們將Mask R-CNN與其他最先見的實例分割方法進行比較,如下表(表1):(COCO test-dev上的實例分割掩模AP。MNC[7]和FCIS[20]分別是COCO 2015和2016分割挑戰的獲勝者。Mask R-CNN優于更復雜的,包含更多尺度訓練和測試、水平翻轉測試的FCIS+++[20]和OHEM[29],所有條目都是單模型的結果。)
我們模型的所有實例都勝過了先前最先進的模型,這包括MNC[7]和FCIS[20],分別是COCO 2015和2016年的分割挑戰獲勝者。沒有額外的技巧,擁有ResNet-101-FPN的主干的Mask R-CNN比FCIS+++[20],包括多尺度的列車/測試、水平翻轉測試和在線硬示例挖掘[29]效果還好。此外,這些模型中的改進也同樣可以應用到Mask R-CNN中來。
Mask R-CNN的輸出見下圖(圖2和圖4):?
Mask R-CNN取得了良好的結果。如下圖(圖5):?
FCIS+++在重疊對象上有問題,而Mask R-CNN沒有。
4.2 對照實驗?
我們進行了一些對照來分析Mask R-CNN。結果在下表中(表2)(Mask R-CNN的對照。除非另有說明,我們在trainval 35k上訓練,在minival上測試,并報告掩模AP),并在接下來詳細的討論。?
結構:表2中a顯示了具有各種使用不同主干的Mask R-CNN。它受益于更深層次的網絡(50對比101)和高級的設計,包括FPN和ResNeXt(我們使用64×4d的普通ResNeXt[34])。我們注意到并不是所有的框架都會從更深層次的或高級的網絡中自動獲益(參見[16]中的基準測試)。
非獨立與獨立掩模:Mask R-CNN解藕了掩模和類預測:當現有的邊框框分支預測類標簽,我們為每個類生成一個掩模,而且不會產生類間競爭(通過像素級的sigmoid和二值化損失)。在表2,b中,我們將其與使用像素級softmax和非獨立損失的方法進行比較(常用于FCN[23])。這些方法將掩模和類預測的任務結合,導致了掩模AP(5.5個點)的嚴重損失。這表明,一旦實例被歸類(通過邊框分支),就可以預測二值化掩模而不是擔心類別,這樣可以使模型訓練更容易。
類相關和類無關掩模:我們默認預測類相關的掩模,即每類一個m×m掩模。有趣的是,這種方法與具有類別無關掩模的Mask R-CNN(即,預測單個m×m輸出而不論是哪一類)幾乎同樣有效:對于ResNet-50-C4掩模AP為29.7,而對于類相關的模型AP為30.3。這進一步突出了我們方法中的改進:解藕了分類和分割。
RoIAlign:表2,c中,顯示了對我們提出的RoIAlign層的評估。對于這個實驗,我們使用的主干為ResNet- 50-C4,其步進為16。RoIAlign相對于RoIPool將AP提高了約3個點,在高IoU(AP75 )結果中增益良多。RoIAlign對最大/平均池化不敏感,我們在本文中的其余部分均使用平均池化。
此外,我們與采用雙線性采樣的MNC[7]中提出的RoIWarp進行比較。如第2節實例分割中所述,RoIWarp仍然量化了RoI,與輸入沒有對齊。從表2c中可以看出,RoIWarp與RoIPool效果差不多,比RoIAlign差的多。這更加表明正確的對齊是關鍵。
我們還使用了ResNet-50-C5主干評估了RoIAlign,其步進更大,達到了32像素。我們使用與圖3(右)相同的上層架構,因為res5上層不適用。表2d表示,RoIAlign將掩模AP提高了7.3個點,并將掩模的AP75提高了10.5個點(相對改善了50%)。此外,我們注意到,與RoIAlign一樣,使用步幅為32的C5特征(30.9AP)比使用步幅為16的C4特征(30.3AP,表2c)更加精準。RoIAlign在很大程度上解決了使用大步幅特征進行檢測和分割的長期挑戰。
最后,當與FPN一起使用時,RoIAlign顯示出1.5個掩模AP和0.5個邊框AP的增益,FPN具有更精細的多級步長。對于需要精準對準的關鍵點檢測,即使使用FPN,RoIAlign也展現出了很大的增益(表6)。
掩模分支:分割是一個像素到一個像素的任務,我們使用FCN來利用掩模的空間布局。在表2e中,我們使用ResNet-50-FPN下層網絡來比較多層感知機(MLP)和FCN。使用FCN可以提供超過多層感知機(MLP)2.1個點的AP增益。為了與多層感知機(MLP)進行公平的比較,FCN的上層網絡的卷積層沒有被預訓練。
4.3 邊框檢測結果?
我們在COCO數據集上將Mask R-CNN與其它最先進的邊框檢測方法進行比較,如下表(表3)所示:?
對于該結果,雖然完整的Mask R-CNN模型被訓練,但是測試時僅使用分類和邊框的輸出(忽略掩模輸出)。Mask R-CNN使用ResNeXt-101-FPN優于所有先前最先進的模型的基本變體,包括單模型的G- RMI [16],其為COCO 2016檢測挑戰的獲勝者。使用ResNeXt-101-FPN的Mask R-CNN進一步改善了結果,其AP相對于使用單模型的前最佳結果[30](使用Inception-ResNet-v2-TDM)提升了3個點。
作為進一步的比較,我們訓練了一個沒有掩模分支的版本的Mask R-CNN,見表3中的“Faster R-CNN, RoIAlign”,由于RoIAlign,該模型的性能優于[21]中提出的模型。但是,比Mask R-CNN低0.9個點的AP。這個差距是由于Mask R-CNN的多任務訓練產生的。
最后,我們注意到Mask R-CNN在其掩模和邊框的AP之間的差距很小:比如,AP 37.1(掩模,表1)與AP 39.8(邊框,表3)之間的差距僅在2.7個點。這表明我們的方法在很大程度上彌補了目標檢測與更具挑戰性的實例分割任務之間的差距。
4.4 、 時間?
測試:我們訓練一個ResNet-101-FPN模型,在RPN和Mask R-CNN階段之間共享特征,遵循Faster R-CNN[28]的四級訓練。該模型在Nvidia Tesla M40 GPU上處理每個圖像需要195ms(加上15ms的CPU時間,用于將輸出的大小調整到原始分辨率)。并且達到了與非共享特征模型相同的掩模AP。我們還指出,ResNet-101-C4變體需要大約400ms,因為它的上層模型比較復雜(圖3),所以我們不建議在實踐中使用C4變體。
雖然Mask R-CNN很快,但我們注意到,我們的設計并沒有針對速度進行優化,[16]可以實現更好的速度/精度平衡。例如,通過改變圖像尺寸和候選數量,不過這超出了本文的范圍。
訓練:Mask R-CNN的訓練也很快。在COCO trainval 35k上使用ResNet-50-FPN進行訓練,我們的同步8GPU實現(每個批次耗時0.72ms,包括16個圖像)需要32個小時,而ResNet-101-FPN需要44個小時。事實上,快速原型可以在不到一天的時間內在訓練集上進行訓練。我們希望這樣快速的訓練將會消除這一領域的重大障礙,并鼓勵更多的人對這個具有挑戰性的課題進行研究。
5、 Mask R-CNN人體姿勢估計?
我們的框架可以很容易的擴展到人類姿勢估計。我們將關鍵點的位置建模為one-hot掩模,并采用Mask R-CNN來預測K個掩模,每個對應K種關鍵點類型之一(例如左肩、右肘)。此任務有助于展示Mask R-CNN的靈活性。
我們注意到,我們的系統利用了人類姿勢的最小領域知識,因為實驗主要是為了證明Mask R-CNN框架的通用性,我們期望領域專業知識(如,建模結構[4])將會是我們簡單方法的補充,但這超出了本文范圍。
實現細節:在適配關鍵點時,我們對分割系統進行細微的修改。對于目標的K個關鍵點中的每一個,訓練目標是一個one-hot的m × m二進制掩模,其中只有一個像素被標記為前景。在訓練期間,對于每個可視的關鍵點真實值,我們最小化在m2路softmax輸出上的交叉熵損失(這驅使一個點被檢測到)。我們注意到,和實例分割一樣,K個關鍵點的檢測仍然是獨立的。
我們采用ResNet-FPN的變體,關鍵點檢測的上層架構類似于圖3(右圖),由8個堆疊的3×3 512-d卷積層,后面是一個反卷積層進行2×雙線性采樣,產生分辨率56×56的輸出。我們發現相對較高的分辨率輸出(與掩模相比)是關鍵點級精確定位所必需的。
我們使用包涵關鍵點標準的COCO trainval 35k圖像訓練模型。由于訓練集較小,為了減少過度擬合,我們訓練時將圖像在[640,800]范圍內隨機縮放,測試則統一縮放到800像素。我們的訓練迭代90k次,從0.02的學習率開始,并在迭代次數達到60k和80k次時將學習率除以10。邊框的非極大抑制閥值為0.5。其它實現細節與第3.1節相同。
人體姿勢估計實驗:使用ResNet-50-FPN評估人體關鍵點的AP(APkp)。我們也嘗試了ResNet-101,不過效果差不多,可能因為更深層次的模型需要更多的訓練數據,但是這個數據集相對較小。
如下表所示(表4):
我們的結果(62.7 APkp)比使用多級處理流水線的COCO 2016關鍵點檢測獲勝者[4]高出0.9個點。我們的方法簡單的多,速度更快。
更重要的是,我們用一個統一的模型,可以5FPS的速度同時做邊框檢測、實例分割以及關鍵點檢測。添加目標分割分支(針對人員類別)將test-dev上的APkp 提升到63.1(表4)。更多在在minival上的多任務學習的對照在下表中(表5):
將掩模分支添加到僅做邊框檢測(如 Faster R-CNN)或僅檢測關鍵點的版本也會改進持續改進這些任務。然后,添加關鍵點分支會輕微降低邊框/掩模的AP,關鍵點檢測會從中多任務訓練中獲益,但它不會改善其它任務的準確率。然而,共同學習所有三個任務可以使統一的系統同時有效的預測所有輸出,如下圖(圖6)所示:
我們也同樣調查了RoIAlign對關鍵點檢測的影響,如下表(表6):
盡管ResNet-50-FPN主干有較小的步進(例如,最小步進為4像素),但是RoIAlign對RoIPool仍然有明顯的改進,并將APkp提高了4.4個點。這是因為關鍵點檢測對定位精度更敏感。這再次表明像素級定位的對齊是至關重要的,包括掩模和關鍵點。
鑒于Mask R-CNN提取目標邊框,掩模和關鍵點的有效性,我們期望它也可以變成其它目標級任務的有效框架。
引用:?
[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. Arbela ?ez, J. Pont-Tuset, J. T. Barron, F. Marques, and J. Malik. Multiscale combinatorial grouping. In CVPR, 2014. 2 ??
[3] S. Bell, C. L. Zitnick, K. Bala, and R. Girshick. Inside- outside net: Detecting objects in context with skip pooling and recurrent neural networks. In CVPR, 2016. 5 ??
[4] Z. Cao, T. Simon, S.-E. Wei, and Y. Sheikh. Realtime multi-person 2d pose estimation using part affinity fields. arXiv:1611.08050, 2016. 7, 8 ??
[5] J. Dai, K. He, Y. Li, S. Ren, and J. Sun. Instance-sensitive fully convolutional networks. In ECCV, 2016. 2 ??
[6] J. Dai, K. He, and J. Sun. Convolutional feature masking for joint object and stuff segmentation. In CVPR, 2015. 2 ??
[7] J. Dai, K. He, and J. Sun. Instance-aware semantic segmen- tation via multi-task network cascades. In CVPR, 2016. 2, 3, 4, 5, 6 ??
[8] J.Dai,Y.Li,K.He,andJ.Sun.R-FCN:Objectdetectionvia region-based fully convolutional networks. In NIPS, 2016. 2 ??
[9] R. Girshick. Fast R-CNN. In ICCV, 2015. 1, 2, 3, 4, 6 ??
[10] R. Girshick, J. Donahue, T. Darrell, and J. Malik. Rich fea- ture hierarchies for accurate object detection and semantic ?segmentation. In CVPR, 2014. 2, 3 ??
[11] B. Hariharan, P. Arbela ?ez, R. Girshick, and J. Malik. Simul- ?taneous detection and segmentation. In ECCV. 2014. 2 ??
[12] B.Hariharan,P.Arbela ?ez,R.Girshick,andJ.Malik.Hyper- columns for object segmentation and fine-grained localiza- ?tion. In CVPR, 2015. 2 ??
[13] K. He, X. Zhang, S. Ren, and J. Sun. Spatial pyramid pooling ?in deep convolutional networks for visual recognition. In ?ECCV. 2014. 1, 2 ??
[14] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning ?for image recognition. In CVPR, 2016. 2, 4, 7 ??
[15] J. Hosang, R. Benenson, P. Dolla ?r, and B. Schiele. What ?makes for effective detection proposals? PAMI, 2015. 2 ??
[16] J. Huang, V. Rathod, C. Sun, M. Zhu, A. Korattikara, A. Fathi, I. Fischer, Z. Wojna, Y. Song, S. Guadarrama, et al. Speed/accuracy trade-offs for modern convolutional object ?detectors. arXiv:1611.10012, 2016. 2, 3, 4, 5, 7 ??
[17] M. Jaderberg, K. Simonyan, A. Zisserman, et al. Spatial ?transformer networks. In NIPS, 2015. 3 ??
[18] A. Krizhevsky, I. Sutskever, and G. Hinton. ImageNet clas- ?sification with deep convolutional neural networks. In NIPS, ?2012. 2 ??
[19] Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. ?Howard, W. Hubbard, and L. D. Jackel. Backpropagation applied to handwritten zip code recognition. Neural compu- tation, 1989. 2 ??
[20] Y. Li, H. Qi, J. Dai, X. Ji, and Y. Wei. Fully convolutional instance-aware semantic segmentation. arXiv:1611.07709, 2016. 2, 3, 5, 6 ??
[21] T.-Y. Lin, P. Dolla ?r, R. Girshick, K. He, B. Hariharan, and S. Belongie. Feature pyramid networks for object detection. arXiv:1612.03144, 2016. 2, 4, 5, 7 ??
[22] T.-Y. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ra- manan, P. Dolla ?r, and C. L. Zitnick. Microsoft COCO: Com- mon objects in context. In ECCV, 2014. 2, 4, 5 ??
[23] J. Long, E. Shelhamer, and T. Darrell. Fully convolutional networks for semantic segmentation. In CVPR, 2015. 1, 3, 6 ??
[24] V. Nair and G. E. Hinton. Rectified linear units improve re- ?stricted boltzmann machines. In ICML, 2010. 4 ??
[25] G. Papandreou, T. Zhu, N. Kanazawa, A. Toshev, J. Tomp- son, C. Bregler, and K. Murphy. Towards accurate multi- person pose estimation in the wild. arXiv:1701.01779, 2017. ?8 ??
[26] P. O. Pinheiro, R. Collobert, and P. Dollar. Learning to seg- ment object candidates. In NIPS, 2015. 2, 3 ??
[27] P. O. Pinheiro, T.-Y. Lin, R. Collobert, and P. Dolla ?r. Learn- ing to refine object segments. In ECCV, 2016. 2, 3 ??
[28] S. Ren, K. He, R. Girshick, and J. Sun. Faster R-CNN: To- wards real-time object detection with region proposal net- works. In NIPS, 2015. 1, 2, 3, 4, 7 ??
[29] A. Shrivastava, A. Gupta, and R. Girshick. Training region- based object detectors with online hard example mining. In CVPR, 2016. 2, 5 ??
[30] A. Shrivastava, R. Sukthankar, J. Malik, and A. Gupta. Be- yond skip connections: Top-down modulation for object de- tection. arXiv:1612.06851, 2016. 4, 7 ??
[31] C. Szegedy, S. Ioffe, and V. Vanhoucke. Inception-v4, inception-resnet and the impact of residual connections on learning. arXiv:1602.07261, 2016. 7 ??
[32] J. R. Uijlings, K. E. van de Sande, T. Gevers, and A. W. Smeulders. Selective search for object recognition. IJCV, 2013. 2 ??
[33] S.-E. Wei, V. Ramakrishna, T. Kanade, and Y. Sheikh. Con- volutional pose machines. In CVPR, 2016. 8 ??
[34] S. Xie, R. Girshick, P. Dolla ?r, Z. Tu, and K. He. Ag- gregated residual transformations for deep neural networks. arXiv:1611.05431, 2016. 4, 5 ?
---------------------?
總結
以上是生活随笔為你收集整理的[论文学习]Mask R-CNN的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: PS 修改图片上的文字内容但保留文字格式
- 下一篇: 百度cdn深度优化配置