[论文学习]Mask R-CNN
?
正文:
摘要?
我們提出了一個(gè)概念上簡(jiǎn)單、靈活以及通用的目標(biāo)實(shí)例分割框架。我們的方法有效地檢測(cè)圖像中的目標(biāo),同時(shí)為每一個(gè)實(shí)例生成高質(zhì)量的分割掩模。這種叫Mask R-CNN的方法通過(guò)添加一個(gè)與現(xiàn)有邊框識(shí)別分支并行的、用于預(yù)測(cè)目標(biāo)掩模的分支來(lái)擴(kuò)展Faster R-CNN。Mask R-CNN訓(xùn)練簡(jiǎn)單,相對(duì)于Faster R-CNN只增加了很小的開(kāi)銷(xiāo),運(yùn)行速度在5fps。此外,Mask R-CNN很容易推廣到其他任務(wù),例如,允許我們?cè)谕粋€(gè)框架中估計(jì)人的姿勢(shì)。我們?cè)贑OCO系列挑戰(zhàn)賽的全部三個(gè)比賽項(xiàng)目中都取得了最佳成績(jī),包括實(shí)例分割、邊框目標(biāo)檢測(cè)以及人體關(guān)鍵點(diǎn)檢測(cè)。在沒(méi)有使用額外技巧的情況下,Mask R-CNN在每個(gè)任務(wù)上優(yōu)于所有現(xiàn)有的單一模型實(shí)體,包括COCO 2016挑戰(zhàn)的獲勝者。我們希望我們簡(jiǎn)單而有效的方法能夠成為一個(gè)基礎(chǔ)的方法,并有助于未來(lái)實(shí)例級(jí)識(shí)別的研究。我們將稍后提供代碼。
1、 簡(jiǎn)介?
視覺(jué)社區(qū)在短時(shí)間內(nèi)使目標(biāo)檢測(cè)和語(yǔ)義分割的效果取得很大提升。在很大程度上,這些提升是由強(qiáng)大的基線系統(tǒng)驅(qū)動(dòng)的,例如用于目標(biāo)檢測(cè)的Fast/Faster R- CNN [9, 28]和用于語(yǔ)義分割的全卷積網(wǎng)絡(luò)(FCN) [23]框架。這些方法在概念上很直觀,提供靈活性和魯棒性,并且訓(xùn)練和推理都很快速。在這項(xiàng)工作中我們的目標(biāo)是為實(shí)例分割開(kāi)發(fā)一個(gè)相對(duì)可用的框架。
實(shí)例分割是有挑戰(zhàn)性的,因?yàn)樗笳_檢測(cè)一張圖片中所有的目標(biāo),同時(shí)需要精準(zhǔn)的分割每個(gè)實(shí)例。它因此結(jié)合了來(lái)自經(jīng)典計(jì)算機(jī)視覺(jué)任務(wù)目標(biāo)檢測(cè)的元素,其目的是對(duì)每個(gè)目標(biāo)進(jìn)行分類(lèi),并且使用邊框?qū)γ總€(gè)目標(biāo)進(jìn)行定位。以及語(yǔ)義分割(通常來(lái)講,目標(biāo)檢測(cè)使用邊框而不是掩模來(lái)標(biāo)定每一個(gè)目標(biāo)檢測(cè),語(yǔ)義分割是指在沒(méi)有區(qū)分實(shí)例的情況下對(duì)每個(gè)像素進(jìn)行分類(lèi)。但我們注意到,實(shí)例分割既是語(yǔ)義分割,又是一種檢測(cè)的形式。)其目標(biāo)是將每個(gè)像素分類(lèi)為一類(lèi)固定的類(lèi)別,而不區(qū)分對(duì)象。鑒于這種情況,人們可能認(rèn)為需要一種復(fù)雜的方法才能取得較好的結(jié)果。然而,我們驚訝的發(fā)現(xiàn)一種簡(jiǎn)單、靈活以及快速的系統(tǒng)能夠超越之前最先進(jìn)的實(shí)例分割的結(jié)果。
我們把這種方法稱(chēng)為Mask R-CNN,它通過(guò)在每個(gè)感興趣區(qū)域(RoI)上添加一個(gè)分支來(lái)預(yù)測(cè)分割掩模,繼承自Faster R-CNN [28],這個(gè)分支與現(xiàn)有的分類(lèi)和邊框回歸并行。如圖1所示:
掩模分支是作用于每個(gè)感興趣區(qū)域(RoI)的小全卷積神經(jīng)網(wǎng)絡(luò)(FCN),以像素到像素到方式預(yù)測(cè)分割掩模。Mask R-CNN是基于Faster R-CNN的,它易于實(shí)現(xiàn)和訓(xùn)練,并且為廣泛靈活的架構(gòu)設(shè)計(jì)提供了便利。此外,掩模分支只增加了一個(gè)小的計(jì)算開(kāi)銷(xiāo),使快速系統(tǒng)和快速實(shí)驗(yàn)成為可能。
在原理上,Mask R-CNN是Faster R-CNN的直接擴(kuò)展,正確構(gòu)建掩模分支對(duì)于取得好結(jié)果是至關(guān)重要的。更重要的是,Faster R-CNN不是為網(wǎng)絡(luò)輸入和輸出之間的像素對(duì)齊而設(shè)計(jì)的。這一點(diǎn)在RoIPool[13, 9]中最為明顯,它實(shí)際上是用于處理實(shí)例的核心操作,對(duì)特征提取執(zhí)行粗的空間量化。為了修正錯(cuò)位,我們提出了一個(gè)簡(jiǎn)單的,量化無(wú)關(guān)的層叫做RoIAlign,可以保留精確的空間位置。盡管看似一個(gè)很小的變化,RoIAlign起了很大的作用:它能將掩模準(zhǔn)確率提高到10%至50%,在更嚴(yán)格的位置度量下顯示出更大的收益。再者,我們發(fā)現(xiàn)解耦掩模和類(lèi)預(yù)測(cè)是至關(guān)重要的:在沒(méi)有類(lèi)間競(jìng)爭(zhēng)的情況下,我們?yōu)槊總€(gè)類(lèi)獨(dú)立的預(yù)測(cè)二進(jìn)制掩模。并且依賴(lài)于網(wǎng)絡(luò)的RoI分類(lèi)分支來(lái)預(yù)測(cè)類(lèi)別。相比之下,FCN通常執(zhí)行每像素多類(lèi)分類(lèi),分割和分類(lèi)同時(shí)進(jìn)行,基于我們的實(shí)驗(yàn),發(fā)現(xiàn)它對(duì)實(shí)例分割效果不佳。
沒(méi)有額外的技巧,Mask R-CNN超越了COCO實(shí)例分割任務(wù)[22]上所有先前最先進(jìn)的單一模型的結(jié)果,包括來(lái)自2016年大賽冠軍的大量作品。作為一個(gè)副產(chǎn)品,我們的方法也優(yōu)于COCO目標(biāo)檢測(cè)任務(wù)。在對(duì)照實(shí)驗(yàn)中,我們?cè)u(píng)估多個(gè)基本實(shí)例,這使我們能夠證明其魯棒性并分析關(guān)鍵因素的影響。
我們的模型在GPU上以200ms每幀的速度運(yùn)行,使用一臺(tái)有8個(gè)GPU的機(jī)器,在COCO上訓(xùn)練需要一到兩天的時(shí)間。我們相信,快速訓(xùn)練、測(cè)試速度以及框架的靈活性和準(zhǔn)確性將會(huì)促進(jìn)未來(lái)在實(shí)例分割的研究。
最后,我們通過(guò)在COCO關(guān)鍵點(diǎn)數(shù)據(jù)集[22]上的人體姿勢(shì)估計(jì)任務(wù)來(lái)展示我們框架的通用性。通過(guò)把每個(gè)關(guān)鍵點(diǎn)視為一個(gè)one-hot二進(jìn)制掩模(one-hot binary mask),只需要很少的修改,Mask R-CNN就可以應(yīng)用于檢測(cè)特定的姿勢(shì)。沒(méi)有額外的技巧,Mask R-CNN超過(guò)了COCO 2016關(guān)鍵點(diǎn)競(jìng)賽的獲勝者,同時(shí)運(yùn)行速度達(dá)到了5FPS,因此,Mask R-CNN可以被廣泛的看作是用于實(shí)例級(jí)識(shí)別的靈活框架,并且可以容易的擴(kuò)展到更復(fù)雜的任務(wù)。
我們將會(huì)發(fā)布代碼以促進(jìn)未來(lái)的研究。
2、 相關(guān)工作?
R-CNN:區(qū)域卷積神經(jīng)網(wǎng)絡(luò)(R-CNN)[10]是通過(guò)找到一定數(shù)量的候選目標(biāo)區(qū)域[32,15],并且在每個(gè)RoI上單獨(dú)的執(zhí)行卷積網(wǎng)絡(luò)[19,18]來(lái)進(jìn)行邊框目標(biāo)檢測(cè)?;赗-CNN的改進(jìn)[13,9],使用RoIPool在特征圖上選取RoIs可以更快和更準(zhǔn)確。Faster R-CNN[28]通過(guò)使用區(qū)域建議網(wǎng)絡(luò)(RPN)學(xué)習(xí)注意機(jī)制來(lái)產(chǎn)生候選框。還有后續(xù)的對(duì)Faster R-CNN靈活性和魯棒性的改進(jìn)(如[29,21,16]),這是在當(dāng)前的幾個(gè)基準(zhǔn)測(cè)試中領(lǐng)先的框架。
目標(biāo)分割:在R-CNN有效的驅(qū)動(dòng)下,實(shí)例分割的很多方法都是基于分割建議(segment proposals)的。早期的方法[10,11,12,6]依賴(lài)于自下而上的分割[32,2]。DeepMask[26]和[27,5]通過(guò)學(xué)習(xí)提出分割候選區(qū)(segment candidates ),然后由Fast R-CNN進(jìn)行分類(lèi)。在這些方法中,分割先于識(shí)別,速度慢并且準(zhǔn)確率低。Dai[7]等人提出了一個(gè)復(fù)雜的多級(jí)級(jí)聯(lián),通過(guò)從邊框建議中預(yù)測(cè)分割建議(segment proposals),然后進(jìn)行分類(lèi)。相反的,我們的方法并行的進(jìn)行掩模和類(lèi)標(biāo)簽的預(yù)測(cè),更簡(jiǎn)單和靈活。
最近,Li[20]等人將[5]中的分割建議系統(tǒng)和[8]中的目標(biāo)檢測(cè)系統(tǒng)進(jìn)行了“全卷積實(shí)例分割(FCIS)”的結(jié)合。在[5,8,20]中的共同想法是用全卷積預(yù)測(cè)一組位置敏感的輸出通道。這些通道同時(shí)處理目標(biāo)分類(lèi)、邊框和掩模,這使系統(tǒng)變得更快。但是FCIS在重疊實(shí)例上出現(xiàn)系統(tǒng)錯(cuò)誤并且產(chǎn)生虛假邊緣(圖5)。這表明它受到了分割實(shí)例的基本困難的挑戰(zhàn)。
3、 Mask R-CNN?
Mask R-CNN概念簡(jiǎn)單:Faster R-CNN為每個(gè)候選目標(biāo)輸出一個(gè)類(lèi)標(biāo)簽和一個(gè)邊框偏移量。為此,我們添加了一個(gè)輸出目標(biāo)掩模的第三條分支。因此,Mask R-CNN是一個(gè)自然且直觀的例子。但是,附加的掩模輸出與類(lèi)輸出和邊框輸出不同,需要提取對(duì)象更精細(xì)的空間布局。接下來(lái),我們將會(huì)介紹Mask R-CNN的關(guān)鍵特點(diǎn),包括像素到像素的對(duì)齊,這是Fast/Faster R-CNN所不具備的關(guān)鍵點(diǎn)。
Faster R-CNN:我們首先簡(jiǎn)單回顧一下Faster R-CNN探測(cè)器[28],Faster R-CNN由兩級(jí)組成。第一級(jí)稱(chēng)為區(qū)域建議網(wǎng)絡(luò)(RPN),其目的是提出候選目標(biāo)邊框。第二級(jí),本質(zhì)上是Fast R-CNN[9],使用RolPool從每個(gè)候選框中提取特征,并進(jìn)行分類(lèi)和邊框回歸。兩級(jí)的特征可以共享使用,以便更快推理??梢詤⒖糩16],以便了解Faster R-CNN和其他框架之間的最新綜合比較。
Mask R-CNN:Mask R-CNN采用相同的兩級(jí),第一級(jí)是完全相同的(既RPN)。在第二級(jí),與預(yù)測(cè)(類(lèi)和邊框偏移)并行,Mask R-CNN還會(huì)為每一個(gè)RoI輸出一個(gè)二進(jìn)制掩模。這與最近的其他系統(tǒng)相反,其分類(lèi)取決于掩模預(yù)測(cè)(例如,[26,7,20])。我們的方法遵循于Fast R-CNN[9],邊框分類(lèi)和回歸并行(這在很大程度上簡(jiǎn)化了R-CNN[10]的多級(jí)流水線)。
通常,在訓(xùn)練中,我們將每個(gè)采樣后的RoI上的多任務(wù)損失函數(shù)定義為:?
L = Lcls + Lbox + Lmask ,其中,分類(lèi)損失Lcls和邊框損失Lbox與[9]中定義相同。掩模分支對(duì)于每個(gè)RoI的輸出維度為Km2 ,表示K個(gè)分辨率為m × m的二進(jìn)制掩模。每個(gè)類(lèi)別有一個(gè)分辨率為m × m的二進(jìn)制掩模,K表示類(lèi)別數(shù)量。為此,我們?yōu)槊總€(gè)像素應(yīng)用sigmoid,并定義Lmask為平均二進(jìn)制交叉熵?fù)p失。對(duì)于真實(shí)類(lèi)別為k的RoI,僅在第k個(gè)掩模上計(jì)算Lmask(其他掩模輸出不計(jì)入損失)。
我們對(duì)Lmask的定義允許網(wǎng)絡(luò)在不夸類(lèi)別競(jìng)爭(zhēng)的情況下,為每個(gè)類(lèi)獨(dú)立的預(yù)測(cè)掩模;我們依靠專(zhuān)用分類(lèi)分支預(yù)測(cè)用于選擇輸出掩模的類(lèi)標(biāo)簽。這個(gè)將解耦掩模和類(lèi)預(yù)測(cè)。這與通常將FCNs[23]應(yīng)用于像素級(jí)softmax和多項(xiàng)式交叉熵?fù)p失的語(yǔ)義分割做法不同。在這種情況下,掩模將跨類(lèi)別競(jìng)爭(zhēng)。在我們的方法中,使用了像素級(jí)的sigmod和二進(jìn)制損失,掩模將不會(huì)垮類(lèi)別競(jìng)爭(zhēng)。我們通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),這種方法是改善實(shí)例分割結(jié)果的關(guān)鍵。
掩模表示:掩模編碼了輸入目標(biāo)的空間布局。因此,與通過(guò)全連接(fc)層不可避免的縮成短輸出向量的類(lèi)標(biāo)簽或邊框偏移不同,通過(guò)卷積所提供的像素到像素的對(duì)應(yīng)關(guān)系,可以很自然地提取出掩碼的空間結(jié)構(gòu)。
具體地,我們使用FCN[23]從每一個(gè)RoI預(yù)測(cè)一個(gè)m × m的掩模。這允許掩模分支中的每個(gè)層顯示的保持m × m的對(duì)象空間布局,而不會(huì)將其縮成缺少空間維度的向量表示。這與之前使用fc層掩模預(yù)測(cè)方法[26,27,7]不同。我們的全卷積表示需要更少的參數(shù),并且如實(shí)驗(yàn)所證明的那樣更加準(zhǔn)確。
這種像素到像素的行為需要RoI特征,它們本身就是小特征圖,為了更好的對(duì)齊,以準(zhǔn)確的保留顯式的像素空間對(duì)應(yīng)關(guān)系,我們開(kāi)發(fā)出在掩模預(yù)測(cè)中發(fā)揮關(guān)鍵作用的RoIAlign層,將在接下來(lái)講到。
RoIAlign:RoIPool[9]是從每個(gè)RoI提取特征圖(例如,7×7)的標(biāo)準(zhǔn)操作。RoIPool首先將浮點(diǎn)數(shù)表示的RoI量化到與特征圖匹配的粒度,然后將量化后的RoI分塊,最后匯總每個(gè)塊覆蓋的區(qū)域的特征值(通常使用最大池化)。量化是執(zhí)行的。例如,對(duì)在連續(xù)坐標(biāo)系上的x計(jì)算[x/16],其中16是特征圖步幅,[.]表示四舍五入。同樣的,當(dāng)對(duì)RoI分塊時(shí)(例如7×7)也執(zhí)行同樣的計(jì)算。這些量化操作使RoI與提取的特征錯(cuò)位。雖然這可能不會(huì)影響分類(lèi),因?yàn)榉诸?lèi)對(duì)小幅度的變換有一定的魯棒性,但它對(duì)預(yù)測(cè)像素級(jí)精確的掩模有很大的負(fù)面影響。
為了解決這個(gè)問(wèn)題,我們提出了一個(gè)RoIAlign層,消除了對(duì)RoIPool的粗糙量化,并將提取的特征與輸入精準(zhǔn)的對(duì)齊。我們提出的改變很簡(jiǎn)單,我們避免對(duì)RoI邊界或塊進(jìn)行量化(例如,我們使用x/16代替[x/16])。我們選取每個(gè)RoI分塊中的四個(gè)常規(guī)位置,使用雙線性插值[17]來(lái)計(jì)算每個(gè)位置的精確值,并將結(jié)果匯總(使用最大或平均池化)。(我們抽取四個(gè)常規(guī)位置,以便我們可以使用最大或平均池化。實(shí)際上,在每個(gè)分塊中心取一個(gè)值(沒(méi)有池化)幾乎同樣有效。我們也可以為每個(gè)塊采樣超過(guò)四個(gè)位置,但我們發(fā)現(xiàn)這些位置的收益遞減。)
正如我們?cè)?.2節(jié)(對(duì)照實(shí)驗(yàn))中所示,RoIAlign的改進(jìn)效果明顯。我們還比較了[7]中提出的RoIWarp操作。與RoIAlign不同,RoIWarp忽略了對(duì)齊問(wèn)題,并在[7]的實(shí)現(xiàn)中有像RoIPool那樣量化RoI。即使RoIWarp也采用了[17]中的雙線性重采樣,如實(shí)驗(yàn)實(shí)現(xiàn)所示(更所細(xì)節(jié)見(jiàn)表2c),它與RoIPool的效果差不多。這表明對(duì)齊起到了關(guān)鍵的作用。
網(wǎng)絡(luò)架構(gòu):為了證明我們方法的通用性,我們構(gòu)造了多種不同結(jié)構(gòu)的Mask R-CNN。詳細(xì)的說(shuō),我們使用不同的:(i)用于整個(gè)圖像上的特征提取的卷積主干架構(gòu),(ii)用于邊框識(shí)別(分類(lèi)和回歸)和掩模預(yù)測(cè)的上層網(wǎng)絡(luò),分別應(yīng)用于每個(gè)RoI。
我們使用術(shù)語(yǔ)“網(wǎng)絡(luò)深層特征”來(lái)命名下層架構(gòu)。我們?cè)u(píng)估了深度為50或101層的ResNet [14]和ResNeXt [34] 網(wǎng)絡(luò)。使用ResNet [14]的Faster R-CNN從第四級(jí)的最終卷積層提取特征,我們稱(chēng)之為C4。例如,使用ResNet-50的主干架構(gòu)由ResNet-50-C4表示。這是[14,7,16,30]中常用的選擇。
我們也探索了由Li[21]等人最近提出的另一種更有效主干架構(gòu),稱(chēng)為特征金字塔網(wǎng)絡(luò)(FPN)。FPN使用具有橫向連接(lateral connections )的自頂向下架構(gòu),從單一規(guī)模的輸入構(gòu)建網(wǎng)絡(luò)功能金字塔。使用FPN的Faster R-CNN根據(jù)其尺度提取不同級(jí)別的金字塔的RoI特征,不過(guò)其他部分和平常的ResNet類(lèi)似。使用ResNet-FPN主干架構(gòu)的Mask R-CNN進(jìn)行特征提取,可以在精度和速度方面獲得極大的提升。有關(guān)FPN的更多細(xì)節(jié),讀者可以參考[21]。
對(duì)于上層網(wǎng)絡(luò),我們基本遵循了以前論文中提出的架構(gòu),我們添加了一個(gè)全卷積的掩模預(yù)測(cè)分支。具體來(lái)說(shuō),我們擴(kuò)展了ResNet [14]和FPN[21]中提出的Faster R-CNN的上層網(wǎng)絡(luò)。詳情見(jiàn)下圖(圖3)所示:(上層架構(gòu):我們擴(kuò)展了兩種現(xiàn)有的Faster R-CNN上層架構(gòu)[14,21],并分別添加了一個(gè)掩模分支。左/右面板分別顯示了ResNet C4和FPN主干的上層架構(gòu)。圖中數(shù)字表示通道數(shù)和分辨率,箭頭表示卷積、反卷積和全連接層(可以通過(guò)上下文推斷,卷積減小維度,反卷積增加維度。)所有的卷積都是3×3的,除了輸出層是1×1。反卷積是2×2,其步進(jìn)為2,我們?cè)陔[藏層中使用ReLU[24]。在左圖中,“res5”表示ResNet的第五級(jí),簡(jiǎn)單起見(jiàn),我們修改了第一個(gè)卷積操作,使用7×7,步長(zhǎng)為1的RoI代替14×14,步長(zhǎng)為2的RoI[14]。右圖中的“×4 ”表示堆疊的4個(gè)連續(xù)的卷積。)ResNet-C4主干的上層網(wǎng)絡(luò)包括ResNet的第5階段(即9層的’res5’[14]),這是計(jì)算密集型的。但對(duì)于FPN,其主干已經(jīng)包含了res5,因此可以使上層網(wǎng)絡(luò)包含更少的卷積核而變的更加高效。
我們注意到我們的掩模分支是一個(gè)非常簡(jiǎn)單的結(jié)構(gòu),也許更復(fù)雜的設(shè)計(jì)有可能提高性能,但這不是這項(xiàng)工作的重點(diǎn)。
3.1實(shí)現(xiàn)細(xì)節(jié)?
我們對(duì)超參數(shù)的設(shè)置與現(xiàn)有的Fast/Faster R-CNN基本一致[9,28,21]。雖然這些設(shè)置在原始論文[9,28,21]中是用于目標(biāo)檢測(cè)的,但是我們發(fā)現(xiàn)我們的實(shí)例分割系統(tǒng)對(duì)他們具有魯棒性。
訓(xùn)練:和在Fast R-CNN設(shè)置一樣,如果RoI與真值框的IoU不小于0.5,則為正樣本,否則為負(fù)樣本。掩模損失函數(shù)Lmask僅在RoI的正樣本上定義。掩模目標(biāo)是RoI及其相關(guān)的真值掩模之間的交集。我們采用以圖像為中心的訓(xùn)練[9](image-centric training)。圖像被縮放(較短邊)到800像素[21]。批量大小為每個(gè)GPU2個(gè)圖像,每個(gè)圖像有N個(gè)RoI采樣,正負(fù)比例為1:3[9]。C4的主干N為64(如[9,28]),FPN為512(如[21])。我們使用8個(gè)GPU訓(xùn)練(如此有效的批量大小為16)160k次迭代,學(xué)習(xí)率為0.02,在120k次迭代學(xué)習(xí)時(shí)學(xué)習(xí)率除以10。我們使用0.0001的權(quán)重衰減和0.9的動(dòng)量。
RPN錨點(diǎn)跨越5個(gè)尺度和3個(gè)縱橫比[21],為了方便對(duì)照,RPN分開(kāi)訓(xùn)練,不與Mask R-CNN共享特征。除非有特殊說(shuō)明,本文中的每個(gè)實(shí)體,其RPN和Mask R-CNN具有相同的主干,因此他們是可以共享的。
測(cè)試:在測(cè)試時(shí),C4主干(如[28])中的建議數(shù)量為300,FPN為1000(如[21])。我們?cè)谶@些建議上執(zhí)行邊框預(yù)測(cè)分支,然后執(zhí)行非極大值抑制(non-maximum suppression[9]),再將掩模分支應(yīng)用于評(píng)分最高的100個(gè)檢測(cè)邊框。盡管這與訓(xùn)練中使用的并行計(jì)算不同,但它可以加速推理并提高精度(由于使用的更少,所以有更準(zhǔn)確的RoIs)。掩模分支可以預(yù)測(cè)每個(gè)RoI的K個(gè)掩模,但是我們只使用第k個(gè)掩模,其中k是分類(lèi)分支預(yù)測(cè)的類(lèi)別。然后將m×m浮點(diǎn)數(shù)掩模輸出的大小調(diào)整為RoI大小,并使用閥值0.5將其二值化。
注意,由于我們僅在前100個(gè)檢測(cè)邊框中計(jì)算掩模,Mask R-CNN將邊緣運(yùn)行時(shí)間添加到其對(duì)應(yīng)的Faster R-CNN版本(例如,在典型模型上約20%)。
4、 實(shí)驗(yàn):實(shí)例分割?
我們對(duì)Mask R-CNN與現(xiàn)有技術(shù)進(jìn)行徹底的比較,并且進(jìn)行了廣泛的對(duì)照實(shí)驗(yàn)。我們所有的實(shí)驗(yàn)使用COCO數(shù)據(jù)集[22]。我們報(bào)告標(biāo)準(zhǔn)的COCO指標(biāo),包括AP(平均超過(guò)IoU閥值),AP50 , AP75 ,和APS , APM , APL (不同尺度的AP)。除非另有說(shuō)明,使用掩模IoU評(píng)估AP,這與[3,21]所做的工作一樣。我們使用80k訓(xùn)練集和35k驗(yàn)證集的子集(trainval 35k)的組合進(jìn)行訓(xùn)練,并在剩下的5k個(gè)驗(yàn)證子集(minival)上報(bào)告對(duì)照結(jié)果。我們還給出了test-dev[22]的結(jié)果,其沒(méi)有公布的標(biāo)簽。本文發(fā)布后,我們將根據(jù)建議把在test-std測(cè)試的完整結(jié)果上傳到公開(kāi)排行榜。
4.1 主要結(jié)果?
我們將Mask R-CNN與其他最先見(jiàn)的實(shí)例分割方法進(jìn)行比較,如下表(表1):(COCO test-dev上的實(shí)例分割掩模AP。MNC[7]和FCIS[20]分別是COCO 2015和2016分割挑戰(zhàn)的獲勝者。Mask R-CNN優(yōu)于更復(fù)雜的,包含更多尺度訓(xùn)練和測(cè)試、水平翻轉(zhuǎn)測(cè)試的FCIS+++[20]和OHEM[29],所有條目都是單模型的結(jié)果。)
我們模型的所有實(shí)例都勝過(guò)了先前最先進(jìn)的模型,這包括MNC[7]和FCIS[20],分別是COCO 2015和2016年的分割挑戰(zhàn)獲勝者。沒(méi)有額外的技巧,擁有ResNet-101-FPN的主干的Mask R-CNN比FCIS+++[20],包括多尺度的列車(chē)/測(cè)試、水平翻轉(zhuǎn)測(cè)試和在線硬示例挖掘[29]效果還好。此外,這些模型中的改進(jìn)也同樣可以應(yīng)用到Mask R-CNN中來(lái)。
Mask R-CNN的輸出見(jiàn)下圖(圖2和圖4):?
Mask R-CNN取得了良好的結(jié)果。如下圖(圖5):?
FCIS+++在重疊對(duì)象上有問(wèn)題,而Mask R-CNN沒(méi)有。
4.2 對(duì)照實(shí)驗(yàn)?
我們進(jìn)行了一些對(duì)照來(lái)分析Mask R-CNN。結(jié)果在下表中(表2)(Mask R-CNN的對(duì)照。除非另有說(shuō)明,我們?cè)趖rainval 35k上訓(xùn)練,在minival上測(cè)試,并報(bào)告掩模AP),并在接下來(lái)詳細(xì)的討論。?
結(jié)構(gòu):表2中a顯示了具有各種使用不同主干的Mask R-CNN。它受益于更深層次的網(wǎng)絡(luò)(50對(duì)比101)和高級(jí)的設(shè)計(jì),包括FPN和ResNeXt(我們使用64×4d的普通ResNeXt[34])。我們注意到并不是所有的框架都會(huì)從更深層次的或高級(jí)的網(wǎng)絡(luò)中自動(dòng)獲益(參見(jiàn)[16]中的基準(zhǔn)測(cè)試)。
非獨(dú)立與獨(dú)立掩模:Mask R-CNN解藕了掩模和類(lèi)預(yù)測(cè):當(dāng)現(xiàn)有的邊框框分支預(yù)測(cè)類(lèi)標(biāo)簽,我們?yōu)槊總€(gè)類(lèi)生成一個(gè)掩模,而且不會(huì)產(chǎn)生類(lèi)間競(jìng)爭(zhēng)(通過(guò)像素級(jí)的sigmoid和二值化損失)。在表2,b中,我們將其與使用像素級(jí)softmax和非獨(dú)立損失的方法進(jìn)行比較(常用于FCN[23])。這些方法將掩模和類(lèi)預(yù)測(cè)的任務(wù)結(jié)合,導(dǎo)致了掩模AP(5.5個(gè)點(diǎn))的嚴(yán)重?fù)p失。這表明,一旦實(shí)例被歸類(lèi)(通過(guò)邊框分支),就可以預(yù)測(cè)二值化掩模而不是擔(dān)心類(lèi)別,這樣可以使模型訓(xùn)練更容易。
類(lèi)相關(guān)和類(lèi)無(wú)關(guān)掩模:我們默認(rèn)預(yù)測(cè)類(lèi)相關(guān)的掩模,即每類(lèi)一個(gè)m×m掩模。有趣的是,這種方法與具有類(lèi)別無(wú)關(guān)掩模的Mask R-CNN(即,預(yù)測(cè)單個(gè)m×m輸出而不論是哪一類(lèi))幾乎同樣有效:對(duì)于ResNet-50-C4掩模AP為29.7,而對(duì)于類(lèi)相關(guān)的模型AP為30.3。這進(jìn)一步突出了我們方法中的改進(jìn):解藕了分類(lèi)和分割。
RoIAlign:表2,c中,顯示了對(duì)我們提出的RoIAlign層的評(píng)估。對(duì)于這個(gè)實(shí)驗(yàn),我們使用的主干為ResNet- 50-C4,其步進(jìn)為16。RoIAlign相對(duì)于RoIPool將AP提高了約3個(gè)點(diǎn),在高IoU(AP75 )結(jié)果中增益良多。RoIAlign對(duì)最大/平均池化不敏感,我們?cè)诒疚闹械钠溆嗖糠志褂闷骄鼗?/p>
此外,我們與采用雙線性采樣的MNC[7]中提出的RoIWarp進(jìn)行比較。如第2節(jié)實(shí)例分割中所述,RoIWarp仍然量化了RoI,與輸入沒(méi)有對(duì)齊。從表2c中可以看出,RoIWarp與RoIPool效果差不多,比RoIAlign差的多。這更加表明正確的對(duì)齊是關(guān)鍵。
我們還使用了ResNet-50-C5主干評(píng)估了RoIAlign,其步進(jìn)更大,達(dá)到了32像素。我們使用與圖3(右)相同的上層架構(gòu),因?yàn)閞es5上層不適用。表2d表示,RoIAlign將掩模AP提高了7.3個(gè)點(diǎn),并將掩模的AP75提高了10.5個(gè)點(diǎn)(相對(duì)改善了50%)。此外,我們注意到,與RoIAlign一樣,使用步幅為32的C5特征(30.9AP)比使用步幅為16的C4特征(30.3AP,表2c)更加精準(zhǔn)。RoIAlign在很大程度上解決了使用大步幅特征進(jìn)行檢測(cè)和分割的長(zhǎng)期挑戰(zhàn)。
最后,當(dāng)與FPN一起使用時(shí),RoIAlign顯示出1.5個(gè)掩模AP和0.5個(gè)邊框AP的增益,FPN具有更精細(xì)的多級(jí)步長(zhǎng)。對(duì)于需要精準(zhǔn)對(duì)準(zhǔn)的關(guān)鍵點(diǎn)檢測(cè),即使使用FPN,RoIAlign也展現(xiàn)出了很大的增益(表6)。
掩模分支:分割是一個(gè)像素到一個(gè)像素的任務(wù),我們使用FCN來(lái)利用掩模的空間布局。在表2e中,我們使用ResNet-50-FPN下層網(wǎng)絡(luò)來(lái)比較多層感知機(jī)(MLP)和FCN。使用FCN可以提供超過(guò)多層感知機(jī)(MLP)2.1個(gè)點(diǎn)的AP增益。為了與多層感知機(jī)(MLP)進(jìn)行公平的比較,FCN的上層網(wǎng)絡(luò)的卷積層沒(méi)有被預(yù)訓(xùn)練。
4.3 邊框檢測(cè)結(jié)果?
我們?cè)贑OCO數(shù)據(jù)集上將Mask R-CNN與其它最先進(jìn)的邊框檢測(cè)方法進(jìn)行比較,如下表(表3)所示:?
對(duì)于該結(jié)果,雖然完整的Mask R-CNN模型被訓(xùn)練,但是測(cè)試時(shí)僅使用分類(lèi)和邊框的輸出(忽略掩模輸出)。Mask R-CNN使用ResNeXt-101-FPN優(yōu)于所有先前最先進(jìn)的模型的基本變體,包括單模型的G- RMI [16],其為COCO 2016檢測(cè)挑戰(zhàn)的獲勝者。使用ResNeXt-101-FPN的Mask R-CNN進(jìn)一步改善了結(jié)果,其AP相對(duì)于使用單模型的前最佳結(jié)果[30](使用Inception-ResNet-v2-TDM)提升了3個(gè)點(diǎn)。
作為進(jìn)一步的比較,我們訓(xùn)練了一個(gè)沒(méi)有掩模分支的版本的Mask R-CNN,見(jiàn)表3中的“Faster R-CNN, RoIAlign”,由于RoIAlign,該模型的性能優(yōu)于[21]中提出的模型。但是,比Mask R-CNN低0.9個(gè)點(diǎn)的AP。這個(gè)差距是由于Mask R-CNN的多任務(wù)訓(xùn)練產(chǎn)生的。
最后,我們注意到Mask R-CNN在其掩模和邊框的AP之間的差距很小:比如,AP 37.1(掩模,表1)與AP 39.8(邊框,表3)之間的差距僅在2.7個(gè)點(diǎn)。這表明我們的方法在很大程度上彌補(bǔ)了目標(biāo)檢測(cè)與更具挑戰(zhàn)性的實(shí)例分割任務(wù)之間的差距。
4.4 、 時(shí)間?
測(cè)試:我們訓(xùn)練一個(gè)ResNet-101-FPN模型,在RPN和Mask R-CNN階段之間共享特征,遵循Faster R-CNN[28]的四級(jí)訓(xùn)練。該模型在Nvidia Tesla M40 GPU上處理每個(gè)圖像需要195ms(加上15ms的CPU時(shí)間,用于將輸出的大小調(diào)整到原始分辨率)。并且達(dá)到了與非共享特征模型相同的掩模AP。我們還指出,ResNet-101-C4變體需要大約400ms,因?yàn)樗纳蠈幽P捅容^復(fù)雜(圖3),所以我們不建議在實(shí)踐中使用C4變體。
雖然Mask R-CNN很快,但我們注意到,我們的設(shè)計(jì)并沒(méi)有針對(duì)速度進(jìn)行優(yōu)化,[16]可以實(shí)現(xiàn)更好的速度/精度平衡。例如,通過(guò)改變圖像尺寸和候選數(shù)量,不過(guò)這超出了本文的范圍。
訓(xùn)練:Mask R-CNN的訓(xùn)練也很快。在COCO trainval 35k上使用ResNet-50-FPN進(jìn)行訓(xùn)練,我們的同步8GPU實(shí)現(xiàn)(每個(gè)批次耗時(shí)0.72ms,包括16個(gè)圖像)需要32個(gè)小時(shí),而ResNet-101-FPN需要44個(gè)小時(shí)。事實(shí)上,快速原型可以在不到一天的時(shí)間內(nèi)在訓(xùn)練集上進(jìn)行訓(xùn)練。我們希望這樣快速的訓(xùn)練將會(huì)消除這一領(lǐng)域的重大障礙,并鼓勵(lì)更多的人對(duì)這個(gè)具有挑戰(zhàn)性的課題進(jìn)行研究。
5、 Mask R-CNN人體姿勢(shì)估計(jì)?
我們的框架可以很容易的擴(kuò)展到人類(lèi)姿勢(shì)估計(jì)。我們將關(guān)鍵點(diǎn)的位置建模為one-hot掩模,并采用Mask R-CNN來(lái)預(yù)測(cè)K個(gè)掩模,每個(gè)對(duì)應(yīng)K種關(guān)鍵點(diǎn)類(lèi)型之一(例如左肩、右肘)。此任務(wù)有助于展示Mask R-CNN的靈活性。
我們注意到,我們的系統(tǒng)利用了人類(lèi)姿勢(shì)的最小領(lǐng)域知識(shí),因?yàn)閷?shí)驗(yàn)主要是為了證明Mask R-CNN框架的通用性,我們期望領(lǐng)域?qū)I(yè)知識(shí)(如,建模結(jié)構(gòu)[4])將會(huì)是我們簡(jiǎn)單方法的補(bǔ)充,但這超出了本文范圍。
實(shí)現(xiàn)細(xì)節(jié):在適配關(guān)鍵點(diǎn)時(shí),我們對(duì)分割系統(tǒng)進(jìn)行細(xì)微的修改。對(duì)于目標(biāo)的K個(gè)關(guān)鍵點(diǎn)中的每一個(gè),訓(xùn)練目標(biāo)是一個(gè)one-hot的m × m二進(jìn)制掩模,其中只有一個(gè)像素被標(biāo)記為前景。在訓(xùn)練期間,對(duì)于每個(gè)可視的關(guān)鍵點(diǎn)真實(shí)值,我們最小化在m2路softmax輸出上的交叉熵?fù)p失(這驅(qū)使一個(gè)點(diǎn)被檢測(cè)到)。我們注意到,和實(shí)例分割一樣,K個(gè)關(guān)鍵點(diǎn)的檢測(cè)仍然是獨(dú)立的。
我們采用ResNet-FPN的變體,關(guān)鍵點(diǎn)檢測(cè)的上層架構(gòu)類(lèi)似于圖3(右圖),由8個(gè)堆疊的3×3 512-d卷積層,后面是一個(gè)反卷積層進(jìn)行2×雙線性采樣,產(chǎn)生分辨率56×56的輸出。我們發(fā)現(xiàn)相對(duì)較高的分辨率輸出(與掩模相比)是關(guān)鍵點(diǎn)級(jí)精確定位所必需的。
我們使用包涵關(guān)鍵點(diǎn)標(biāo)準(zhǔn)的COCO trainval 35k圖像訓(xùn)練模型。由于訓(xùn)練集較小,為了減少過(guò)度擬合,我們訓(xùn)練時(shí)將圖像在[640,800]范圍內(nèi)隨機(jī)縮放,測(cè)試則統(tǒng)一縮放到800像素。我們的訓(xùn)練迭代90k次,從0.02的學(xué)習(xí)率開(kāi)始,并在迭代次數(shù)達(dá)到60k和80k次時(shí)將學(xué)習(xí)率除以10。邊框的非極大抑制閥值為0.5。其它實(shí)現(xiàn)細(xì)節(jié)與第3.1節(jié)相同。
人體姿勢(shì)估計(jì)實(shí)驗(yàn):使用ResNet-50-FPN評(píng)估人體關(guān)鍵點(diǎn)的AP(APkp)。我們也嘗試了ResNet-101,不過(guò)效果差不多,可能因?yàn)楦顚哟蔚哪P托枰嗟挠?xùn)練數(shù)據(jù),但是這個(gè)數(shù)據(jù)集相對(duì)較小。
如下表所示(表4):
我們的結(jié)果(62.7 APkp)比使用多級(jí)處理流水線的COCO 2016關(guān)鍵點(diǎn)檢測(cè)獲勝者[4]高出0.9個(gè)點(diǎn)。我們的方法簡(jiǎn)單的多,速度更快。
更重要的是,我們用一個(gè)統(tǒng)一的模型,可以5FPS的速度同時(shí)做邊框檢測(cè)、實(shí)例分割以及關(guān)鍵點(diǎn)檢測(cè)。添加目標(biāo)分割分支(針對(duì)人員類(lèi)別)將test-dev上的APkp 提升到63.1(表4)。更多在在minival上的多任務(wù)學(xué)習(xí)的對(duì)照在下表中(表5):
將掩模分支添加到僅做邊框檢測(cè)(如 Faster R-CNN)或僅檢測(cè)關(guān)鍵點(diǎn)的版本也會(huì)改進(jìn)持續(xù)改進(jìn)這些任務(wù)。然后,添加關(guān)鍵點(diǎn)分支會(huì)輕微降低邊框/掩模的AP,關(guān)鍵點(diǎn)檢測(cè)會(huì)從中多任務(wù)訓(xùn)練中獲益,但它不會(huì)改善其它任務(wù)的準(zhǔn)確率。然而,共同學(xué)習(xí)所有三個(gè)任務(wù)可以使統(tǒng)一的系統(tǒng)同時(shí)有效的預(yù)測(cè)所有輸出,如下圖(圖6)所示:
我們也同樣調(diào)查了RoIAlign對(duì)關(guān)鍵點(diǎn)檢測(cè)的影響,如下表(表6):
盡管ResNet-50-FPN主干有較小的步進(jìn)(例如,最小步進(jìn)為4像素),但是RoIAlign對(duì)RoIPool仍然有明顯的改進(jìn),并將APkp提高了4.4個(gè)點(diǎn)。這是因?yàn)殛P(guān)鍵點(diǎn)檢測(cè)對(duì)定位精度更敏感。這再次表明像素級(jí)定位的對(duì)齊是至關(guān)重要的,包括掩模和關(guān)鍵點(diǎn)。
鑒于Mask R-CNN提取目標(biāo)邊框,掩模和關(guān)鍵點(diǎn)的有效性,我們期望它也可以變成其它目標(biāo)級(jí)任務(wù)的有效框架。
引用:?
[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 ?
---------------------?
總結(jié)
以上是生活随笔為你收集整理的[论文学习]Mask R-CNN的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: PS 修改图片上的文字内容但保留文字格式
- 下一篇: 百度cdn深度优化配置