HRNet詳解[首發]

HRNet:Deep High-Resolution Representation Learning for Human Pose Estimation[github](CVPR2019)這是一篇state-of-the-art級別的論文


(消息來源刷新三項COCO紀錄!姿態估計模型HRNet開源了,中科大微軟出品 | CVPR

中科大和微軟亞洲研究院,發佈了新的人體姿態估計模型,刷新了三項COCO紀錄,還中選了CVPR 2019

這個名叫HRNet的神經網絡,擁有與衆不同的並聯結構,可以隨時保持高分辨率表徵,不只靠從低分辨率表徵裏,恢復高分辨率表徵。如此一來,姿勢識別的效果明顯提升:

在COCO數據集的關鍵點檢測姿態估計多人姿態估計這三項任務裏,HRNet都超越了所有前輩。


一、Abstract摘要&Introduction介紹

Abstract

      在這篇論文中,我們主要研究人的姿態問題(human pose estimation problem),着重於輸出可靠的高分辨率表徵(reliable highresolution representations)。現有的大多數方法都是從高分辨率到低分辨率網絡(high-to-low resolution network)產生的低分辨率表徵中恢復高分辨率表徵。相反,我們提出的網絡能在整個過程中都保持高分辨率的表徵

      我們從高分辨率子網絡(high-resolution subnetwork)作爲第一階段開始,逐步增加高分辨率到低分辨率的子網,形成更多的階段,並將多分辨率子網並行連接。我們進行了多次多尺度融合,使得每一個高分辨率到低分辨率的表徵都從其他並行表示中反覆接收信息,從而得到豐富的高分辨率表徵。因此,預測的關鍵點熱圖可能更準確,在空間上也更精確。通過 COCO keypoint detection 數據集和 MPII Human Pose 數據集這兩個基準數據集的pose estimation results,我們證明了網絡的有效性。此外,我們還展示了網絡在 Pose Track 數據集上的位姿跟蹤的優越性。

 

Introduction

      二維人體姿態估計是計算機視覺中一個基本而又具有挑戰性的問題。目標是定位人體的解剖關鍵點(如肘部、腕部等)或部位。它有很多應用,包括人體動作識別、人機交互、動畫(human action recognition, human-computer interaction, animation)等。本文着力於研究single-person pose estimation,這是其他相關問題的基礎,如multiperson pose estimation[6,27,33,39,47,57,41,46,17,71],video pose estimation and tracking[49,72]等。(引用的論文見博客最後,許多論文還是值得一讀的)

      最近的發展表明,深度卷積神經網絡已經取得了最先進的性能。大多數現有的方法通過一個網絡(通常由高分辨率到低分辨率的子網串聯而成)傳遞輸入,然後提高分辨率。例如,Hourglass[40]通過對稱的低到高分辨率(symmetric low-to-high process)過程恢復高分辨率。SimpleBaseline[72]採用少量的轉置卷積層(transposed convolution layers)來生成高分辨率的表示。此外,dilated convolutions還被用於放大高分辨率到低分辨率網絡(high-to-low resolution network)的後幾層[27,77](如VGGNet或ResNet)。

      我們提出了一種新的架構,即高分辨率網絡(HRNet),它能夠在整個過程中維護高分辨率的表示。我們從高分辨率子網作爲第一階段始,逐步增加高分辨率到低分辨率的子網(gradually add high-to-low resolution subnetworks),形成更多的階段,並將多分辨率子網並行連接。在整個過程中,我們通過在並行的多分辨率子網絡上反覆交換信息來進行多尺度的重複融合。我們通過網絡輸出的高分辨率表示來估計關鍵點。生成的網絡如圖所示。

與現有的廣泛用於姿態估計(pose estimation)的網絡[40,27,77,72]相比,我們的網絡有兩個好處。

  • (i)我們的方法是並行連接高分辨率到低分辨率的子網,而不是像大多數現有解決方案那樣串行連接。因此,我們的方法能夠保持高分辨率,而不是通過一個低到高的過程恢復分辨率,因此預測的熱圖可能在空間上更精確。
  • (ii)大多數現有的融合方案都將低層和高層的表示集合起來。相反,我們使用重複的多尺度融合,利用相同深度和相似級別的低分辨率表示來提高高分辨率表示,反之亦然,從而使得高分辨率表示對於姿態的估計也很充分。因此,我們預測的熱圖可能更準確

      我們通過實驗證明了在兩個基準數據集:COCO關鍵點檢測數據集[36]和MPII人體姿態數據集[2]上的優越關鍵點檢測性能。此外,我們還展示了我們的網絡在PoseTrack數據集上視頻位姿跟蹤的優勢[1]

 

二、相關研究

      傳統的單人體姿態估計大多采用概率圖形模型或圖形結構模型[79,50],近年來通過深度學習對一元能量和對態能量unary and pair-wise energies進行更好的建模[9,65,45]或模仿迭代推理過程[13],對該模型進行了改進。

      目前,深度卷積神經網絡提供了主流的解決方案[20,35,62,42,43,48,58,16]。主要有兩種方法:迴歸關鍵點位置regressing the position of keypoints[66,7]和估算關鍵點熱圖estimating keypoint heatmaps[13,14,78],然後選擇熱值最高的位置作爲關鍵點。

      大多數卷積神經網絡估計對於關鍵點的熱圖是由一個stem子網網絡類似於分類網絡,這降低了分辨率,把相同的分辨率作爲輸入的一個主要原因,後跟一個迴歸量估算的熱圖關鍵點位置估計,然後轉變爲完整的決議。主體主要採用高到低和低到高分辨率的框架,可能增加多尺度融合multi-scale fusion和深度監督學習 and intermediate (deep) supervision。

High-to-low and low-to-high.

      high-to-low process的目標是生成低分辨率和高分辨率的表示,low-to-high process的目標是生成高分辨率的表示[4,11,23,72,40,62]。這兩個過程可能會重複多次,以提高性能[77,40,14]。

      具有代表性的網絡設計模式包括:

      (i)Symmetric high-to-low and low-to-high processes。Hourglass及其後續論文[40,14,77,31]將low-to-high proces設計爲high-to-low process的鏡子。

      (ii)Heavy high-to-low and light low-to-high。high-to-low process是基於ImageNet分類網絡,如[11,72]中使用的ResNet,low-to-high process是簡單的幾個雙線性上採樣[11]或轉置卷積[72]層。

      (iii)Combination with dilated convolutions。在[27,51,35]中,ResNet或VGGNet在最後兩個階段都採用了擴張性卷積來消除空間分辨率的損失,然後採用由light lowto-high process來進一步提高分辨率,避免了僅使用dilated convolutions的昂貴的計算成本[11,27,51]。圖2描述了四種具有代表性的姿態估計網絡。

Multi-scale fusion.

      最直接的方法是將多分辨率圖像分別送入多個網絡,並聚合輸出響應映射[64]。Hourglass[40]及其擴展[77,31]通過跳過連接,將high-to-low process中的低級別特徵逐步組合爲low-to-high process中的相同分辨率的高級別特性。在cascaded pyramid network[11]中,globalnet將high-to-low process中的低到高級別特徵low-to-high level feature逐步組合到low-to-high process中,refinenet將通過卷積處理的低到高特徵進行組合。我們的方法重複多尺度融合,部分靈感來自深度融合及其擴展[67,73,59,80,82]。

Intermediate supervision.

      圖像分類早期開發的中間監督或深度監督[34,61],也用於幫助深度網絡訓練和提高熱圖估計質量,如[69,40,64,3,11]。Hourglass[40]和卷積人體姿態方法[69]將中間熱圖作爲剩餘子網絡的輸入或輸入的一部分進行處理。

Our approach.

      我們的網絡並行地連接高到低的子網。它保持了高分辨率的表示,通過整個過程的空間精確熱圖估計。它通過重複融合高到低子網產生的高分辨率表示來生成可靠的高分辨率表示。我們的方法不同於大多數現有的工作,它們需要一個獨立的從低到高的上採樣過程,並聚合低級和高級表示。該方法在不使用中間熱圖監控的情況下,具有較好的關鍵點檢測精度和計算複雜度及參數效率。

      有相關的多尺度網絡進行分類和分割[5,8,74,81,30,76,55,56,24,83,55,52,18]。我們的工作在一定程度上受到了其中一些問題的啓發[56,24,83,55],而且存在明顯的差異,使得它們不適用於我們的問題。Convolutional neural fabrics[56]和interlinked CNN[83]由於缺乏對每個子網絡(depth, batch)的合理設計和多尺度融合,分割結果的質量不高。grid network[18]是多個權重共享U-Nets組合,由兩個多分辨率表示的獨立融合過程組成;第一階段,信息僅從高分辨率發送到低分辨率;在第二階段,信息只從低分辨率發送到高分辨率,因此競爭力較低。Multi-scale densenets[24]沒有目標,無法生成可靠的高分辨率表示。

 

三、Approach

      人體姿態估計,即關鍵點檢測,旨在檢測K或部分關鍵點的位置(例如,手肘、手腕等)從一個圖像的大小W×H×3。stateof-the-art級別的方法是將這個問題轉變爲估計K熱圖的大小,其中每個熱圖 Hk 表示第k個關鍵點的位置置信度。

      我們遵循廣泛適用的pipeline[40, 72, 11]使用卷積網絡預測human keypoint,這是由stem組成的兩個步長卷積網絡降低分辨率,主體輸出特性映射具有相同的分辨率作爲它的輸入特徵圖,和一個迴歸量估算的熱圖關鍵點位置選擇和轉換爲完整的分辨率。我們主要關注主體的設計,並介紹我們的高分辨率網絡(HRNet),如圖1所示。

 

Sequential multi-resolution subnetworks

      現有的姿態估計網絡是將高分辨率到低分辨率的子網絡串聯起來,每個子網絡形成一個階段,由一系列卷積組成,相鄰子網絡之間存在一個下采樣層,將分辨率減半。

 

Parallel multi-resolution subnetworks

      我們以高分辨率子網爲第一階段,逐步增加高分辨率到低分辨率的子網,形成新的階段,並將多分辨率子網並行連接。因此,後一階段並行子網的分辨率由前一階段的分辨率和下一階段的分辨率組成。一個包含4個並行子網的網絡結構示例如下:

 

Repeated multi-scale fusion

      我們引入了跨並行子網的交換單元,使每個子網重複接收來自其他並行子網的信息。下面是一個展示信息交換方案的示例。我們將第三階段劃分爲若干個交換塊,每個塊由3個並行卷積單元與1個交換單元跨並行單元進行卷積,得到:

我們將在圖3中說明交換單元,並在下文中給出公式。爲了便於討論,我們去掉下標s和上標b。

      輸入爲s響應映射:。輸出爲s響應圖:,其分辨率和寬度與輸入相同。每個輸出都是輸入映射的集合。各階段的交換單元有額外的輸出圖

      函數)從分辨率i到k對上採樣或下采樣組成。我們採用步長爲3×3的卷積做下采樣。例如,向一個步長爲3×3卷積做步長爲2x2的下采樣。兩個連續的步長爲3×3的卷積使用步長爲2的4被上採樣。對於上採樣,我們採用最簡單的最近鄰抽樣,從1×1卷積校準通道的數量。如果i = k,則a(.,.)只是一個識別連接:

 

Heatmap estimation

      我們將熱圖簡單地從上一個交換單元輸出的高分辨率表示進行迴歸,這在經驗上是很有效的。損失函數定義爲均方誤差,用於比較預測的熱圖和groundtruth heatmpas。groundtruth heatmpas是採用二維高斯分佈,以每個關鍵點的grouptruth位置爲中心,標準差爲1像素生成的。

 

Network instantiation

      根據ResNet的設計規則,我們實例化了用於關鍵點熱圖估計的網絡,將深度分佈到每個階段,並將通道數分佈到每個分辨率。

      我們的HRNet包含四個階段,主體爲四個並行的子網,其分辨率逐漸降低到一半,相應的寬度(通道數)增加了一倍。第一階段包含4個剩餘單位,每個單位都和ResNet-50一樣,是由一個寬度爲64的bottleneck組成,緊隨其後的是一個3x3卷積特徵圖的寬度減少到(C),第二,第三,第四階段分別包含1、4、3個交換塊。一個交換塊包含4個剩餘單元,其中每個單元在每個分辨率中包含2個3x3的卷積,以及一個分辨率的交換單元。綜上所述,共有8個交換單元,即共進行8次多尺度融合。

      在我們的實驗中,我們研究了一個小網和一個大網:HRNet-W32和HRNet-W48,其中32和48分別代表最後三個階段高分辨率子網的寬度(C)。其他三個並行子網的寬度爲64,128,256的HRNet-W32,以及HRNet-W48:96,192,384。

 

四、實驗

COCO Keypoint Detection

COCO數據集[36]包含200000幅圖像和250000個帶有17個關鍵點的person實例。我們在COCO train2017數據集上訓練我們的模型,包括57K圖像和150K person實例。我們在val2017和test-dev2017上評估我們的方法,這兩個集合分別包含5000幅圖像和20K幅圖像。

驗證集結果對比:

測試集結果對比:

 

MPII Human Pose Estimation

注意:

結果對比

 

 

五、Conclusion and Future Works

      在本文中,我們提出了一個高分辨率的網絡,用於人體姿態估計,產生準確和空間精確的關鍵點熱圖。成功的原因有兩個方面:(1)全程保持高分辨率,不需要恢復高分辨率;(2)多次融合多分辨率表示,呈現可靠的高分辨率表示。

      未來的工作包括應用於其他密集預測任務,如語義分割、圖標檢測、人臉對齊、圖像翻譯,以及研究以一種不那麼輕量的方式聚合多分辨率表示。

 

六、References

 

 

 

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