姿態估計的源起
行為識別是一項具有挑戰性的任務,受光照條件各異、視角多樣性、背景復雜、類內變化大等諸多因素的影響。
對行為識別的研究可以追溯到1973年,當時Johansson通過實驗觀察發現,人體的運動可以通過一些主要關節點的移動來描述,因此,只要10-12個關鍵節點的組合與追蹤便能形成對諸多行為例如跳舞、走路、跑步等的刻畫,做到通過人體關鍵節點的運動來識別行為。
正因為如此,在Kinect的游戲中,系統根據深度圖估計出的人體骨架(Skeleton,由人體的一些關節點的位置信息組成,coco采用18個點),對人的姿態動作進行判斷,促成人機交互的實現。
CVPR2017 ActivityNet行為識別競賽(Kinetics 數據集) 提出的視頻理解的核心Task:
-
修剪視頻識別(Trimmed Action Recognition):
這個在計算機視覺領域已經研究多年,對**時域預先分割好**的序列判定其所屬行為動作的類型,即給**一段只包含一個動作**的修剪視頻中的動作分類**。 注:開始的ucf數據集每段trimmed video只對應一個動作標簽,現在的Kinetics數據集一段trimmed已經對應多個動作標簽. -
時序行為定位(Temporal Action Localization)(行為檢測):
(現實應用中真正的場景,時序行為定位於我們常說的目標檢測一致。)**序列尚未被在時域上分割**(Untrimmed)(時域上有的序列不存在動作),因此需要同時對行為動作進行時域定位(分割)和類型判定,即要求1從視頻中**找到可能存在行為的視頻段**,2並且給視**頻段分類**。 -
時序動作建議(Temporal Action Proposal):
類似於圖像目標檢測任務中的候選框提取。在一段長視頻中通常含有很多動作,這個任務就是從視頻中找出可能含有動作的視頻段。(輸出:視頻中所有包含動作的動作段----動作場景) -
密集行為描述(Dense-Captioning Events):
該任務要求在時序行為定位(檢測)的基礎上進行視頻行為描述。也就是說,該任務需要將一段未修剪的視頻進行時序行為定位得到許多包含行為的視頻段-----即時序動作建議后,對該視頻段進行行為描述。比如:man playing a piano(action video captioning)
基於時序動作建議的action video captioning
姿態估計目的
- 核心:輸出一個高維的姿態向量表示關節點的位置,即一整組關節點的定位)
從圖像背景中分離出人體前景,然后重建人物的關節、肢體,以便作為行為識別的輸入,進行動作的識別,如跑步,跳躍等
人體骨架如何獲得
主要有兩個途徑:
1.通過RGB圖像進行姿態估計(Pose Estimation)獲得
2.通過深度攝像機直接獲得(例如Kinect)
每一時刻(幀)骨架對應人體的K個關節點所在的坐標位置信息,一個時間序列由若干幀組成。
基於骨架的行為識別技術的關鍵:
- 如何設計 魯棒和有強判別性 的特征
- 如何 利用時域相關性 來對行為動作的動態變化進行建模。
姿態估計
(Pose Estimation)是指檢測圖像和視頻中的人物形象的計算機視覺技術,可以確定某人的某個身體部位出現在圖像中的位置,也就是在圖像和視頻中對人體關節的定位問題,也可以理解為在所有關節姿勢的空間中搜索特定姿勢。簡言之,姿態估計的任務就是重建人的關節和肢干,其難點主要在於降低模型分析算法的復雜程度,並能夠適應各種多變的情況、環境(光照、遮擋等等)。
輸入:單幀圖像
輸出:一個高維的姿態向量表示關節點的位置,而不是某個類別的類標,因此這一類方法需要學習的是一個從高維觀測向量到高維姿態向量的映射。
姿態估計可分為四個子方向:
單人姿態估計(Single-Person Skeleton Estimation)
單人姿態估計,首先識別出行人,然后再行人區域位置內找出需要的關鍵點。常見的數據集有MPII、LSP、FLIC、LIP,每種數據集都有不同的精確度指標。其中MPII是當前單人姿態估計中最常見的benchmark,使用的是PCKh指標(可以認為預測的關鍵點與GT標注的關鍵點經過head size normalize后的距離),目前有的算法已經可以在上面達到93.9%的准確率。
多人姿態估計(Multi-Person Pose Estimation)
單人姿態估計算法往往被用來做多人姿態估計,一般有兩種方式。Top-down先找到圖片中所有行人,然后對每個行人做姿態估計,尋找每個人的關鍵點;bottom-up先尋找圖片中所有的parts(關鍵點,比如頭部、手、膝蓋等),然后把這些parts組裝成一個個行人。
測試集主要有COCO、CrowdPose等。
人體姿態跟蹤(Video Pose Tracking)
如果把姿態估計往視頻中擴展,就有了人體姿態跟蹤的任務。主要是針對視頻場景中的每一個行人,進行人體以及每個關鍵點的跟蹤。這是一個綜合且難度較大的工作,相比於行人跟蹤來說,人體關鍵點在視頻中的temporal motion會比較大,比如一個行走的行人,手跟腳會不停的擺動,所以跟蹤難度會比跟蹤人體框大。
主要的數據集是PoseTrack
3D人體姿態估計(3D skeleton Estimation)
將人體姿態往3D方向進行擴展,則是輸入RGB圖像,輸出3D的人體關鍵點。
經典數據集Human3.6M
除了輸出3D的關鍵點之外,有一些工作開始研究3D的shape,比如數據集DensePose,而且從長線來講,這個是非常有價值的研究方向。
2D姿勢估計——從RGB圖像估計每個關節的2D姿勢(x,y)坐標。
3D姿勢估計——從RGB圖像估計3D姿勢(x,y,z)坐標。
行為識別可以借助姿態估計的相關研究成果來實現,比如HDM05這類姿態庫就提供了每一幀視頻中人的骨架信息,可以基於骨架信息判斷運動類型。
姿態估計的應用場景
智慧家居:利用姿態估計做手勢識別(百度已有),進而做人與家庭智慧機器人的人機交互,控制智慧家電等。
參考文獻
人體姿態估計文獻綜述,簡單介紹了大約十種方法
https://blog.csdn.net/BockSong/article/details/81037059
深度學習人體姿態估計算法綜述
https://www.infoq.cn/article/6Btg0-1crfmb7svRGa6H
2019深度學習人體姿態估計指南(翻譯的文章)
