Parsing R-CNN for Instance-Level Human Analysis(CVPR2019)論文閱讀

目錄

 

Abstact

Introduction

3.Parsing R_CNN

3.1Proposal Separation Sampling

3.2Enlarging RoI Resolution

3.3Geometric and Context Encoding

3.4Parsing Branch Decoupling

4.Experiments

4.1Implementation Details

4.2Experiments onHuman Part Segmentation

4.3Experiments on Dense Pose Estimation

5.Conclusion


Abstact

實例級人體解析在生活場景中是很常見的,也有許多表現形式,比如人體部件分割、稠密姿態估計、人-物交互等。模型需要判別不同人實例,學習豐富的特徵來表示每個實例的細節。在這篇文章中,我們提出一個端到端的pipeline來解決實例級人體解析,叫做parsing r-cnn。它通過綜合考慮基於區域的方法特性和人體表觀,表示實例細節,同時處理一組人體實例。

Introduction

因爲深度學習的發展,許多現有的方法都採用一個兩階段的Pipeline,1.MaskRCNN(檢測人)2.並行地預測一個class-aware mask。這些方法已經很成功,但是在實例人體解析還存在問題:1.mask分支用來預測class-agnostic實例mask,但是實例級人體解析需要更多細節的特徵。2、人體解析需要人體部件或稠密點間的幾何和語義信息,現有方法也都沒有體現這一點。所以提出簡潔有效的Parsing R_CNN

研究從以下四個方面探索實例人體解析的問題:

1.爲了增強特徵語義信息,保持特徵分辨率,使用可分離採樣。

人體通常在圖像中佔據比較大的比例。因此ROIPool通常在粗糙分辨率特徵圖上執行。但是這會丟失許多實例細節信息。在這個工作中在特徵金字塔中採用可分離採樣,最後細化階段使用roipool

2.爲了得到更仔細的信息,我們增大了roi分辨率。

因爲人體解析任務通常在12人或者12類中判別。它需要增大特徵圖分辨率。

3。提出幾何和上下文編碼方法,來增大感受野,捕捉不同部件間的關係。

它是一個由兩個部分組成的輕量組。第一個部件用來得到多個Level感受野和上下文信息;第二個部件是用來學習幾何關聯。

3.Parsing R_CNN

3.1Proposal Separation Sampling

 在FPN和mask R-cnn裏,分配策略是把ROI根據不同尺度分配到對應的特徵金字塔。通常,大的roi被分配到粗糙分辨率的特徵圖。但是,我們發現這種策略在實例人體解析中不是最優的。因爲小實例不能被準確標註,人體實例通常佔據比較大的部分。如圖3所示,在COCO數據集中少於20%的實例佔據大於圖像10%,而CIHP,MHP分別是74%、86%、。在這種比例下,根據FPN提出的分配策略,大部分實例別分到粗糙分辨率的特徵圖。實例級人體解析通常需要人體一些細節信息,但是粗糙分辨率的特徵圖不能提供。

所以提出pps,建議分離採樣,提取細節特徵,也保留了多尺度特徵表達。bbox分支依然採用FPN的尺度分配策略(p2-p5),但是解析分支的RoIPool/RoIAlign只在最精細的特徵圖(P2)上進行。金字塔特徵表示有利於目標檢測,同時通過從最精細特徵圖上提取特徵,保留了人體細節。

3.2Enlarging RoI Resolution

之前基於區域的方法,爲了充分利用預訓練的參數,ROIPOOL把一個roi轉換到固定大小的特徵圖7*7或者14*14。但是大多數人體實例在特徵圖中佔據比較大的比例,太小的ROI會丟失許多細節。比如,一個160*64的人體,在P2上是40*16,縮放到14*14會減小預測精度。在木匾檢測和實例分割任務重,可能不需要準確預測實例細節 ,但是人體實例級解析需要。

所以提出最簡單直直觀的方法,增大ROi分辨率err.在解析分支使用32*32的ROI,這增大了計算量,但是顯著提高了準確性。爲了解決err產生的訓練時間和內存負載問題,我們從檢測任務中分離出實例級level人體解析的batch_size,固定於一個值32,發現這樣增加了訓練速度,沒有導致準確度下降。

3.3Geometric and Context Encoding

在之前的工作中,每個分支的設計非常簡潔。一個FCN被用到池化後的特徵圖上,來預測pixel-wisemask。然而用一個FCN有3個缺點:1.不同人的部件尺度變化大,這就要求特徵圖捕捉多尺度信息,2.人體部件是幾何相關的,需要一個非局部表示。3.32*32的roi需要一個 大的感受野,堆疊4個或8個3*3的卷積層不夠。

ASPP是一個語義分割中有效的模塊,用並行的多個不同大小的空洞卷積捕捉尺度信息。Non-local操作能夠捕捉大範圍的依賴。

我們組合了ASPP和non-local的優點,提出幾何和上下文編碼模塊GCE,代替解析分支的FCN。圖5展示了GCE可以編碼每個實例的幾何和上下文信息。在GCE模塊中:

ASPP由一個1*1的卷積和3個3*3不同rate的空洞卷積組成。image-level特徵由global average pooling生成,然後1*1卷積,雙線性上採樣到32*32.

Non-local採用embedded Gaussian ,一個 batch_normal加到最後的卷積層。

3.4Parsing Branch Decoupling

人們在設計神經網絡時,通常會根據不同層學習的特徵的特點,把網絡劃分爲多個部分。比如,高層對應整個目標,其他神經單元可能會被局部紋理激活。基於區域的方法並行處理每個ROI,所以每個分支的任務可以被理解爲相互獨立的網絡。然而,現有的方法沒有吧這些分支decople到不同的部分。

在這篇文章,把解析分支分爲三個部分。1、語義空間轉換,用來把特徵轉換到對應的任務。;2.GCE語義和上下文編碼3.轉換語義特徵到特定任務,有人用來增強網絡能力。before gce,gce,after gce。

對實例級人體解析任務來說,不是簡單地增加每個模塊的計算複雜性就提高準確性了。因此,有必要decouple解析分支,分析每個部分的速度/精度 平衡。

4.Experiments

4.1Implementation Details

我們在一個8塊Titan X的服務器上基於Detectron實現了Parsing R_CNN。我們採用了FPN和RoIAlign,端到端訓練。每個GPU上的mini-batch包含2個圖片,每個圖片上512個ROI。訓練用的圖像在[512,864]尺度之間隨機,測試用的是800像素的圖像。

CIHP數據集,我們在訓練集上訓練45k次,學習率是0.02,在30k,40k下降10倍。

MHPv2.0數據集,訓練次數是CIHP的一般,學習率變化對對應變化。

DensePose-COCO,訓練130K次,學習率是0.002,在100k,120k下降10倍

其他細節和Mask R-CNN一樣

4.2Experiments onHuman Part Segmentation

Metrics and Baseline。我們從兩個方面評估人體部件解析

1從語義分割方法,和[22]一樣生成多人mask,用mIOU評估行呢

2從實例級上,我們用APp,用一個人體實例內不同語義部件的部件級iou決定一個實例是否爲true posistive。用APp50,APpvol。前者有一個IOU閾值爲0.5,後者是iou閾值從0.1到0.9變化APp的均值。還用了PCP(percentage of Correctly parsed semantic parts)

爲了公平的比較,我們的baseline採用ResNet-50-FPN作爲backbone。解析分支由8個堆疊的3*3 512通道的卷積層,1個反捲積,2*雙線性上採樣。和【15】一樣,RoiAlign後的特徵圖分辨率是14*14,所以輸出分辨率是56*56。訓練時用,每個像素的softmax作爲多項式交叉熵Loss

在CIHP上的消融實驗。

比較了提出的方法,和增加迭代次數,和COCO上預訓練。

1)Proposals Separation Sampling(PSS)。

用PSS,mIoU提高了1.0比baseline。也和只用P2特徵圖比較了,mIoU減少了0.5,bbox mAP也更壞了。如表1所示,APp指標在PSS下有一定程度的提高,說明提出的方法是有效的。

2)Enlarging RoI Resolution(ERR)

如表2所示我們用32*32、64*64的ROI,發現比14*14提升了性能。ERR(32*32)比baseline (14*14)mIoU提升了2.8。APp指標比baseline(14*14)分別提高了5.0,1.7,4.4。而且解析分支的ROI是並行的,所以速度之比baseline(14*14)減少了12%((10.4-9.1)/10.4)。而且我們可以通過減少ROI的數量來增加速度,如果我們使用100個ROI速度提升率,精度基本沒有下降。相對於32*32,64*64的ROI可以繼續提升精度,但是考慮到速度精度均衡,我們用32*32的更有效。

3)Geometric and Context Encoding(GCE)

用GCE比8個3*3 521個通道卷積層堆疊,miou提升2.0,更輕量化。Non-Local的有無,ASPP可以提高1.2mIou。但是沒有ASPP,non-local導致性能下降。

4)Parsing Branch Decoupling

把解析分支分爲3個部分。如表4所示,before GCE是不必需的,我們推測是GCE模塊本身可以進行語義空間轉換。另一方面,after GCE可以顯著提高。考慮到速度和精度均衡,我們採用GCE+4個3*3 512個通道(PBD)作爲解析分支.

5)Incresing iterations and COCO pretraining

增加迭代次數是提高性能的常見方法。如表5所示,我們在CIHP上2倍和3倍的迭代,提升是很明顯的。

進一步,我們比較了在COCO上預訓練。

這兩種的組合也是顯著提升。

如表6所示,有了所有這些提出的方法,我們的Parsing R-cnn比baseline提升更多

Component Ablation Studies on MHP v2.0

也在MHP上比較了,因爲MHP有59個類別,一些是小尺度的,所以baseline就比CIHP低。Parsing R_CNN也提高了。

Comparisons with State-of-the-art Methods

對於CIHP數據集,Parsing R-CNN用ResNet50-FPN比PGN(ResNet101)好。值得一提的是,PGN採用多尺度輸入,左右翻轉圖像來提升性能,而Parsing R-CNN沒有test-time augmentation.Parsing R_cnn用ResNeXt-101-32x8d-FPN作爲backbone可以達到59.8%mIOU。在此上再進行多尺度、翻轉,可以達到61.1%mIoU。

對於MHPv2.0數據集,我們也進行了這些比較,也和其他現有方法比較了。在AP上提高了,不幸的是,其他方法沒有給出mIoU

4.3Experiments on Dense Pose Estimation

Metrics and Baseline:和[14]一樣,採用點相似閾值從0.5-0.95的平均精度(AP)。基本模型和人體部件解析的一樣,我們用稠密人體估計Loss替換softmaxloss

Component Ablation Studies on DensePose-COCO.消融實驗。

分別用resNet50,ResNeXt101,作爲Backbone。用ResNet50-FPN,Parsing R-CNN比basline好。用所有 我們提出的方法,我們的方法達到55.0%AP。比baseline提高6.1。有了COCO預訓練,Parsing R-CNN進一步提高了3.3AP。在AP75上顯著提高,這說明我們的方法suface的點定位上更準確。到ResNeXt101上,進一步提高,這顯示了Parsing R-CNN的泛化能力。

COCO 2018 Challenge:第一名。

可視化結果:

5.Conclusion

我們爲實例級人體解析提出了一個新的基於區域的方法Parsing R-CNN。我們的方法探索了實例級人體解析的四個方面的問題,並在人體部件解析和稠密姿態估計上驗證了有效性。基於提出的方法,我們在COCO2018上取得第一名。未來來我們會吧Parsing R-CNN擴展到實例級人體分析的更多應用上。

 

 

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