Facebook 和 Inria France 的研究人員分別在 CVPR 2018 和 ECCV 2018 相繼發表了兩篇有關「人體姿態估計」(human pose estimation) 的文章 [1] [2],用於介紹他們提出的 Dense Pose 系統以及一個應用場景「密集姿態轉移」(dense pose transfer)。
本文將簡要介紹(1)利用 Dense Pose 實現單張 2D 人體影象到 3D 表面模型的原理 ;(2)如何將 Dense Pose 系統應用在「姿態轉移」(pose transfer)這一問題上;(3)粗略展望 Dense Pose 的一些潛在應用。
Dense Pose 的更多資訊以及視訊 demos:
1. 什麼是密集姿態估計(dense pose estimation)?
密集姿態估計 (dense pose estimation) 將單張 2D 圖片中所有描述人體的畫素(human pixels),對映到一個 3D 的人體表面模型。如圖 1 所示,Facebook 釋出了一個名為 DensePose COCO 的大型資料集,包含了預先手工標註的 5 萬張各種人類動作的圖片。
圖 1:密集姿態估計的目標是將 2D 圖片中描述人體的畫素,對映到一個 3D 表面模型。左:輸入的原始影象,以及利用 [1] 中提出的 Dense Pose-RCNN,獲得人體各區域的 UV 座標。UV 座標又稱紋理座標 (texture coordinates), 用於控制 3D 表面的紋理對映; 中:DensePose COCO 資料集中的原始標註;右:人體表面的分割以及 UV 引數化示意圖。
2. 如何進行密集姿態估計?
密集姿態估計的核心任務是,訓練一個深度網路,用於預測 2D 圖片畫素 (image pixels)與 3D 表面模型點 (surface points) 之間的密集聯絡 (dense correspondences)。這個任務最近已經通過基於全連線卷積網路 [4] 的 Dense Regression (DenseReg) 系統 [3] 得到了解決。而 Dense Pose-RCNN 系統 [1],正是結合了 DenseReg 系統以及 Mask-RCNN 架構 [5]。
圖 2 展示了 Dense Pose-RCNN 的級連 (cascade) 架構:這是一個全卷積網路 (fully-convolutional network),並連線著 ROIAlign 池化層 (ROIAlign pooling),用於處理兩個核心任務,分別是:(1)分類。判斷圖片的某一畫素來自於「背景」,還是「人體部位」;(2)迴歸。預測該畫素在「人體部位」的具體座標。
圖 2:Dense Pose-RCNN 的架構。
圖 2 中的 ResNet50 FPN (feature pyramid networks) 將輸出 feature map,然後通過 ROIAlign 模組對每一個 ROI 生成固定尺寸的 feature map。圖 3 展示了 ROIAlign 模組的「跨級連」(cross-cascading) 結構,這種結構利用兩個輔助任務 (keypoint estimation & mask) 提供的資訊,幫助提高 Dense Pose 系統的姿態估計效果。作為 Dense Pose-RCNN 基礎之一的 Mask-RCNN [5] 結構,正是藉助兩個相關任務(即 keypoint estimation 和 instance segmentation)提供的資訊,用於提高分割效果。
圖 3:Dense Pose-RCNN[1] 中的 ROIAlign 模組採用了「跨級連」(cross-cascading) 架構。
3. 主幹 (backbone) 網路對於 Dense Pose 系統的影響?
研究人員在 [1] 中對於兩種主幹網路,ResNet-50 和 ResNet-101,對於 Dense Pose 任務的表現進行了比較。如表 1 所示,在 AP 和 AR 這兩個評估指標上,ResNet-101 的表現稍優於 ResNet-50,但由於大型網路較為「笨重」,並不適用於移動應用。因此,[1] 中的其餘實驗均使用了 ResNet-50 作為主幹網路。
表 1: 當 Dense Pose-RCNN 使用兩個不同的主幹網路時,在 COCO Minval 資料集上取得的實驗結果。[1]
4. 從 Dense Pose 到 Dense Pose Transfer
除了介紹 Dense Pose 系統的架構和工作流程,研究人員還在 [1] 中展示了一個 Dense Pose 的應用,「紋理轉移」(texture transfer)。如圖 4 所示,紋理轉移這一任務的目標是,將影象中所有人的身體表面紋理,轉換為預先提供的目標紋理。
圖 4:Dense Pose 紋理轉換 (texture transfer) 的實驗結果。該任務的目標是,將輸入的視訊影象中所有人的身體表面紋理,轉換成目標紋理。圖中第 1 行為目標紋理 1 和紋理 2。第 2、3 行從左至右依次為,輸入影象,轉換為紋理 1 的影象,以及轉換為紋理 2 的影象。
在 ECCV 2018 上,論文 [1] 的三名作者發表了 Dense Pose 的一個後續應用,即「密集姿態轉移」(dense pose transfer,以下簡稱為 DPT) [2]。與紋理轉換不同的是,DPT 這一任務的目標是,根據輸入的 2D 人體影象和目標姿態 (target dense pose),將輸入影象中的人體姿態轉換成目標姿態,並且不改變人體表面紋理。
如圖 5 所示,DPT 系統以 Dense Pose[1] 為基礎,並且由兩個互補的模組組成,分別是(1)推測模組 (predictive module),用於根據輸入影象,預測出具有目標姿態的人體影象;(2)變形模組 (warping module),負責從輸入影象中提取紋理,並「補全」(inpainting) 具有目標姿態的人體表面紋理。此外,系統中還有一個合成模組 (blending module),通過端對端、可訓練的單一框架,將推測和變形模組的輸出進行合成,併產生最終的影象。
圖 5:密集姿態轉移(DPT) 系統的流程圖。該系統包括推測模組、變形模組,以及合成模組。
圖 6 展示了在 DeepFashion 資料集 [6] 上取得的 12 組姿態估計結果。每組姿態結果從左至右依次為:輸入影象、正確的目標影象、Deformable GANs (DSC) [7] 獲得的轉移結果,以及 DPT 系統 [2] 獲得的轉移結果。由於 DSC 是目前解決「多視角影象合成」(multi-view synthesis) 這一問題中效果最佳的方法,所以 [2] 的作者將這一方法與 DPT 系統進行比較。
從圖 6 可以粗略觀察到 DPT 系統在紋理轉移上還不是特別完善。例如,一些女士上衣的花紋沒有被保留,併成功轉移到輸出影象中;此外,人物的面部特徵也在轉移中出現一些偏差:身著黃色上衣的男士影象(見圖 6 右側第 3 行),經過姿態轉後,人物面部更為「女性化」。論文 [2] 的作者指出,要取得更好的姿態轉換結果,可能還需要預先獲得一些額外的資訊,比如面部特徵、性別以及膚色。
圖 6:密集姿態轉換(dense pose transfer)的實驗結果。左右兩組結果分別包含了輸入影象、正確的目標影象、Deformable GANs (DSC) [7] 得到的轉移結果,以及 DPT 系統 [2] 得到的轉移結果。
5. Dense Pose 的應用展望
Dense Pose 為人體姿態估計提供了一種新的解決方法,研究人員也在 demos 中展示了 Dense Pose 能夠實時完成紋理轉移等任務。儘管 Dense Pose 還有許多需要完善的地方,它的應用前景還是相當樂觀的。筆者認為 Dense Pose 未來可以在以下兩個方面進行應用:
一個應用方向是,利用單一圖片進行服裝的虛擬試穿。顧客可以上傳一張自己的全身正面照,並從系統中選擇一套需要試穿的服裝,以及一個目標姿態。Dense Pose 系統則可以根據顧客提供的這些資訊,產生出一張合成的圖片,顯示顧客「試穿」服裝後的姿態。
另一個應用方向則是,遠端視訊診斷背部痛疾。就診者按照醫生的要求,穿戴一套專用的感測器,並依次完成一系列動作(如上身向前傾若干度、蹲下、站直向左扭頭等等)。就診者的這一系列動作將由攝像頭拍攝,並生成視訊實時傳輸給醫生。一個設想是,醫生可以藉助 Dense Pose 系統,根據就診者的動作視訊影象,生成就診者的 3D 人體模型,並與背部無疾患的人體模型進行對比,從而初步判斷患者是否患有背部疾病。
參考文獻:
[1] Alp Güler, Rıza, Natalia Neverova, and Iasonas Kokkinos. "Densepose: Dense human pose estimation in the wild." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018.
[2] Neverova, Natalia, Riza Alp Guler, and Iasonas Kokkinos. "Dense pose transfer." Proceedings of the European Conference on Computer Vision (ECCV). 2018.
[3] Alp Guler, Riza, et al. "Densereg: Fully convolutional dense shape regression in-the-wild." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017.
[4] Chen, Liang-Chieh, et al. "Deeplab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected crfs." IEEE transactions on pattern analysis and machine intelligence 40.4 (2017): 834-848.
[5] He, Kaiming, et al. "Mask r-cnn." Computer Vision (ICCV), 2017 IEEE International Conference on. IEEE, 2017.
[6] Liu, Ziwei, et al. "Deepfashion: Powering robust clothes recognition and retrieval with rich annotations." Proceedings of the IEEE conference on computer vision and pattern recognition. 2016.
[7] Siarohin, Aliaksandr, et al. "Deformable gans for pose-based human image generation." CVPR 2018-Computer Vision and Pattern Recognition. 2018.
技術分析師個人簡介
Olli Huang 是澳門科技大學的一名博士研究生,她的研究方向是大規模影象檢索 (large-scale image retrieval) 和影象的地理位置估計 (visual-based image geolocalization)。Olli 於 2017 年加入了機器之心的全球團隊,並以自由撰稿人的身份,發表了多篇計算機視覺應用的英文技術評論。
Olli 的機器之心主頁:https://www.jiqizhixin.com/users/84204384-374e-4de0-bfc5-79eee677a8ec。
Olli 的 LinkedIn 主頁:https://www.linkedin.com/in/ollihuang。