1. 程式人生 > >Mask R-CNN完整翻譯

Mask R-CNN完整翻譯

最近因為在做畢業設計,需要翻譯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完整翻譯

最近因為在做畢業設計,需要翻譯Mask R-CNN這篇文章,估記錄於此。水平有限,若有建議,歡迎提出。 正文: 摘要 我們提出了一個概念上簡單、靈活以及通用的目標例項分割框架。我們的方法有效地檢測影象中的目標,同時為每一個例項生成高質量

【論文翻譯Mask R-CNN

Mask R-CNN Kaiming He Georgia Gkioxari Piotr Dolla ́r Facebook AI Research (FAIR) Ross Girshick 摘要 我們提出了一個概念上簡單,靈活和通用的目標分割框架。我們

Mask R-CNN完整MXNet復現

Github 專案地址:https://github.com/TuSimple/mx-maskrcnn 國內自動駕駛創業公司 圖森未來 對最佳論文《Mask R-CNN》的完整復現,並將其開源到了G

Mask R-CNN翻譯(主要技術點解析)

今年何凱明大神再放大招,運用不多的策略就打敗了去年例項分割的冠軍,並且在去除mask分支的基礎上達到了目標檢測(class、box)的最好成績。廢話不多說,馬上進入正題~ note:以下僅為個人理解,如有錯誤還請各位留言糾正 策略一:採用並行訓練策略

Tensorflow實現Mask R-CNN實例分割通用框架,檢測,分割和特征點定位一次搞定(多圖)

優點 設計 orf 時間 rcnn 超越 rain 沒有 add Mask R-CNN實例分割通用框架,檢測,分割和特征點定位一次搞定(多圖) 導語:Mask R-CNN是Faster R-CNN的擴展形式,能夠有效地檢測圖像中的目標,同時還能為每個實例生成一個

Mask RCNN】《Mask R-CNN

ICCV-2017 目錄 目錄 1 Motivation 2 Innovation 3 Advantages 4 Methods

目標檢測演算法理解:從R-CNNMask R-CNN

  因為工作了以後時間比較瑣碎,所以更多的時候使用onenote記錄知識點,但是對於一些演算法層面的東西,個人的理解畢竟是有侷限的。我一直做的都是影象分類方向,最近開始接觸了目標檢測,也看了一些大牛的論文,雖然網上已經有很多相關的演算法講解,但是每個人對同一個問題的理解都不太一樣,本文主

先理解Mask R-CNN的工作原理,然後構建顏色填充器應用

    程式碼(包括作者構建的資料集和已訓練的模型):https://github.com/matterport/Mask_RCNN/tree/master/samples/balloon 什麼是例項分割? 例項分割是一種在畫素層面識別目標輪廓的任務

[Network Architecture]Mask R-CNN論文解析(轉)

前言 最近有一個idea需要去驗證,比較忙,看完Mask R-CNN論文了,最近會去研究Mask R-CNN的程式碼,論文解析轉載網上的兩篇部落格 技術挖掘者 remanented 文章1 論文題目:Mask R-CNN 論文連結:論文連結 論文程式碼:Facebook程式

使用Mask R-CNN訓練自己的資料

在使用Mask R-CNN訓練自己的資料時,需要提前瞭解Mask R-CNN的標註工具以及跑通Mask R-CNN的Demo。下面的兩篇部落格分別介紹了Mask R-CNN標註工具以及如何跑通Mask R-CNN的Demo。 Mask RCNN標註工具 使用Keras與Tensorflo

R-CNN論文翻譯:豐富的功能層次結構,用於精確的物件檢測和語義分割

R-CNN論文地址:R-CNN R-CNN專案地址:  http://www.rossgirshick.info/ 摘要 在典型的PASCAL VOC資料集上測量的物件檢測效能在過去幾年中已經穩定下來。最好的方法是複雜的系統,通常將多個低階影象特徵與高階語境相結合。在本文中,我們

王權富貴論文篇:Faster R-CNN論文翻譯——中英文對照

文章作者:Tyan  感謝Tyan作者大大,相見恨晚,大家可以看原汁原味的Tyan部落格哦。 部落格:noahsnail.com  |  CSDN  |  簡書 宣告:作者翻譯論文僅為學習,如有侵權請聯

Mask R-CNN中ROI Align的一些理解

作者提出ROI Align的初衷就是為了解決ROI Pooling操作中兩次量化造成的區域不匹配(mis-alignment)的問題。實驗證明也很好的解決了這一問題 本文將從兩個方面進行分析。 1. ROI Pooling 的侷限性分析 在常見的兩級檢測框架(比如Fast-RCNN,Fa

MASK R-CNN學習

MASK R-CNN是何凱明大神之作,這裡就自己的理解記錄一下MASK R-CNN的簡單流程,以便自己複習參考,如有錯誤望大家指正。 MASK R-CNN是由R-CNN, Fast R-CNN,Faster R-CNN進化而來的,具體每個演算法的簡單剖析可以參考 https://blog.c

Mask R-CNN論文筆記

背景及大致思路 a. 何凱明基於Faster R-CNN提出的用於例項分割的結構框架。該框架在原本的結構上增加了用於預測mask的新支路,速度仍達到了5fps。同時,這個結構也能用於其他的視覺任務如檢測,人物關鍵點檢測。 b. 例項分割:是物體檢測和語義分割的結合,也就是要對每

目標檢測演算法的演進(two-stage檢測演算法):R-CNN、SPP-Net、Fast R-CNN、Faster R-CNNMask R-CNN

什麼是目標檢測(object detection): 目標檢測(object detection),就是在給定的一張圖片中精確找到物體所在的位置,並標註出物體的類別。所以,目標檢測要解決的問題就是物體在哪裡以及是什麼的整個流程問題。 但是,在實際照片中,物體的尺寸變化範圍很大,擺放物體的

Fast R-CNN原文翻譯

摘要        本文提出了一種基於快速區域的卷積網路方法(FAST R-CNN).FAST r-CNN建立在以前工作的基礎上,利用深度卷積網路對目標進行有效分類。與以往的工作相比,FAST r-CNN在提高訓練和測試速度的同時,也提高了檢測精度。Fas

Mask R-CNN介紹與實現(TensorFlow實戰)

mark一下,感謝作者分享!寫得相當詳細。 https://blog.csdn.net/u011974639/article/details/78483779 https://blog.csdn.net/ghw15221836342/article/details/80084984 http

「Computer Vision」Note on Faster Training of Mask R-CNN

QQ Group: 428014259 Sina Weibo:小鋒子Shawn Tencent E-mail:[email protected] http://blog.csdn.net/dgyuanshaofeng/article/details/84995989 [1]

Mask R-CNN訓練自己的資料集在win10上的踩坑全過程:CUDA9.0+CUDNN7.1.4+Tensorflow-gpu1.9.0+keras-gpu2.2.4

基礎配置 首先你需要在win10上下載Git(用於我們在github上面下載原始碼)和MinGW(方便我們在win10上也能用linux的make操作命令)。 接著你要下載cuda9.0和cudnn7.1來繫結你的windows的Nvidia 接著你需要在win10上面安裝an