ICCV 2019 | SPM:单阶段人体姿态估计解决方案
本文為極市作者Panzer原創,歡迎加小助手微信(cv-mart) 備注:研究方向-姓名-學校/公司-城市(如:目標檢測-小極-北大-深圳),即可申請加入目標檢測、目標跟蹤、人臉、工業檢測、醫學影像、三維&SLAM、圖像分割等極市技術交流群。
本文由新加坡國立大學和依圖科技合作發表于ICCV2019,論文首次提出了人體姿態估計的單階段解決方案,在取得速度優勢的同時,也取得了毫不遜色于雙階段方法的檢測率。
論文地址:
http://openaccess.thecvf.com/content_ICCV_2019/papers/Nie_Single-Stage_Multi-Person_Pose_Machines_ICCV_2019_paper.pdf
背景介紹
對單張圖像中的多個人體進行姿態估計是一個非常有挑戰性的問題,目前主流算法多采取雙階段的方案,其中一類是采用自頂而下的策略:第一階段用目標檢測器將圖像中的多個人體檢測出來,第二階段對每個人體分別預測多個人體關鍵點;另一類是采用自下而上的策略:第一階段將圖像中的所有人體關鍵點都檢測出來,第二階段將這些檢測到的關鍵點進行匹配歸類到多個人體上。以上方法均存在的一個問題是耗時且無法發揮CNN網絡端到端可訓練的優勢。
從這一問題出發,本文首次提出了單階段的解決方案,也即只需要將圖像輸入網絡一次就可以得到逐個人體的關鍵點。作者在多個數據集上進行了公開評測,實驗結果表明,本文提出的單階段解決方案在取得速度優勢的同時,也取得了毫不遜色于雙階段方法的檢測率。此外,由于框架簡單,該方法可以直接從2D圖像擴展到3D圖像的人體姿態估計。下圖展示了本文方法和已有主流方法的直觀對比。
主要內容
結構化姿態表示(Structured Pose Representations, SPR)
通常一個人體的姿態是由人體上幾個具有代表性的關鍵點來表征(如下圖(b))。作者的思路是首先找到每個人體的中心點,也即root joint(如下圖?),然后再計算需要檢測的每個關鍵點到root joint的偏差量,root joint可以由二維坐標表示為,而每一個偏差量也可以由一個二維數組表示為,則每個關鍵點就可以表示為:
根據以上分析,每一個人體姿態就可以由root joint以及這些每個關鍵點到root joint的偏差量表示:
所以CNN網絡的任務就是回歸出root joint以及這些每個關鍵點到root joint的偏差量就可以完成人體姿態估計了。由于要回歸距離root joint較遠的關鍵點的偏差量較為困難,為了簡化這一任務,作者提出了Hierarchical SPR的策略,其核心思想是先計算距離root joint較近的幾個關鍵點的偏差量,再以這幾個關鍵點為下一層的root joint,計算該root joint周圍的幾個關鍵點的偏差量,逐層向外圍推進,直到計算出所有關鍵點的偏差量,如下圖(d)所示。
實現細節:
1、回歸目標:回歸目標包含兩個部分,如下圖所示,
一是root joint的位置,作者采用的是置信圖的方式,以每個root joint位置為中心構建一個高斯掩碼:,則root joint置信圖是多個人體高斯掩碼的疊加。
二是每個關鍵點到root joint的偏差量,同樣采用置信圖的方式,為每個關鍵點計算到root joint周圍一定區域內(文中為7個像素)的距離,具體表示為:
**2、網絡架構和目標函數:**網絡架構采用的是人體姿態估計領域中常用的Hourglass網絡,該網絡包含幾個結構類似的組件如下圖所示:
目標函數包含同樣兩個部分:root joint回歸的損失和偏差量回歸的損失,前者采用l2 loss,后者采用smooth l1 loss。由于Hourglass網絡較深,為了回傳的梯度不至于在淺層時消失,在Hourglass網絡幾個組件之間也同樣添加了損失。如下式所示:
T為Hourglass網絡中組件的個數
實驗分析
實驗細節:
實驗在MPII dataset, extended PASCAL-Person-Part和MSCOCO上進行。此外,為了驗證本文方法的通用性,作者還將其擴展到了3D圖像上,并在CMU Panoptic dataset上進行了實驗驗證。評估指標采用平均準確率Average Precision (AP)。
實驗結果:
表1展示了本文方法SPM與主流方法在MPII dataset的對比實驗,從表中可以發現本文方法在單張圖像耗時降低了一個數量級的基礎上,依然取得了最佳的平均準確率,比已有最佳方法高了0.5個百分點。
表2通過對比實驗展示了層級SPM的有效性,層級SPM比原始SPM在準確率上高出了2.4個百分點,證明了逐層遞進計算每個關鍵點到root joint的偏差量能夠大大簡化網絡學習的難度,進而可以取得更加的檢測性能,尤其是在手腕、腳踝等姿態變化較為豐富的關鍵點上所表現的性能提升更為出色。
表3和表4分別展示了SPM在PASCAL-Person-Part和MSCOCO上的實驗結果,同樣展現了SPM在速度和準確率上的雙料優勢。
下圖展示了本文方法在3D人體姿態估計數據集上的可視化示例,SPM由于框架簡單,網絡回歸的目標均為二維表示,只需要將圖像上的二維表示拓展到三維空間中的三維表示,即可擴展用于3D人體姿態估計。從圖中可以發現SPM在3D人體姿態估計上也能取得不錯的效果。
總結
1、人體姿態估計領域常用的基礎網絡為hourglass網絡(本文也不例外),由于網絡結構本身所帶來的計算量較大導致算法耗時難盡人意。目前大部分探索集中于雙階段的解決方案,本文在人體姿態估計領域突破了傳統雙階段的算法框架,首次提出了單階段的解決方案,思路新穎獨特,方法簡潔且可擴展性強。在極大降低算法耗時的同時,并沒有以性能損失為犧牲,為人體姿態估計領域提供一個新的baseline,期待在這一方向上出現更多的精彩突破。
2、關鍵點檢測也是當前anchor-free目標檢測領域[1]的關注熱點,而本文中的關鍵點到root point的偏差量預測也類似于目標檢測中寬和高的預測。從兩個任務的共性入手,應該還有很多值得探索的問題和新的發現。
3、人體姿態估計和實例分割均屬于instance-level的任務,二者在輸出上有很大相似之處,最近在實例分割領域同樣也掀起了一個single-stage的潮流,如yolact、yolact++ [2]和最新的solo[3]。期待更多啟發性工作的出現。
參考文獻
[1] 目標檢測:Anchor-Free時代
[2] YOLACT++:更強的實時實例分割網絡,可達33.5 FPS/34.1mAP!
[3] SOLO_ Se
總結
以上是生活随笔為你收集整理的ICCV 2019 | SPM:单阶段人体姿态估计解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CVPR 2019 | 目标检测之面向更
- 下一篇: CVPR 2020 Oral 汇总:论文