林逸非, 范麗婷, 張 陽
(沈陽建筑大學 機械工程學院, 遼寧 沈陽 110168)
無標記點的人體姿態估計是計算機視覺中非常有價值的研究課題。人體姿態估計可以應用在醫療康復、人機交互、手勢識別、電影特效制作以及攝像頭監控中,而且在這些領域中起到不小的作用。 三維姿態估計在近幾年發展的更是非常迅速, 通過檢測人體在三維空間內各關鍵點的運動軌跡,得到各關鍵點之間的相對位移,可推算出人體的三維姿態。然而,人體三維姿態重建的精準度仍然是計算機視覺中一個具有挑戰性的問題。
人體的運動可以通過一些主要關節點的移動來描述,因此,只要關鍵點的分類與跟蹤就可以形成對走路、跑步、跳躍等人的動作的描述,通過人體關鍵點的坐標變化來識別行為。 早期的人體姿態估計通常使用穿戴式設備,通過在人體關節上布置的多個紅外反光點,獲得人體關鍵點坐標,由于穿戴式設備會對人體造成負載,影響人體關節運動幅度,干擾人正常運動,使得實驗結果不能估計實際人體姿態。
人體姿態估計也可以通過多目視覺實現, 多視角姿態估計適用于室內環境的固定機位,在戶外使用受限制。許多研究使用深度相機采集視頻[1],通過圖像分割得到深度圖。盡管深度相機的價格逐漸降低,但仍比普通的RGB相機要高出不少, 而且深度相機受使用環境及光照條件的限制, 在戶外使用會影響準確性。 與上述這些方法相比,采用傳統的單目RGB 相機[2]在成本上和使用的環境條件上都更適合在戶外檢測人體運動姿態。
本文主要針對單目RGB 相機,對人體矢狀面采集二維圖像, 并根據跑步姿態過程與站立姿態中關節之間的向量投影之比,判斷相對的三維坐標,并對其進行人體運動分析。
人體姿態運動分析系統是由視頻采集系統, 姿態估計系統和運動分析系統[3]組成見圖1,其中人體姿態三維建模是基于檢測到的人體姿態關鍵點對各個人體骨骼部分一一對應。

圖1 人體姿態運動分析系統組成
在人體運動姿態采集和運動分析中, 需要采集人體關鍵點的三維坐標,常規使用的方法是使用深度相機獲取圖像深度或采用多目相機從多視角實現姿態估計以及穿戴式設備。 但深度相機與多目相機在室外環境下對人體關鍵點采集的有效率偏低,而穿戴式設備會對人體造成負載描述人體運動的準確性偏低。
在室外環境下, 單目RGB 相機具有不受光照限制和可以在運動過程中動態采集的優點。 因此基于單目RGB 相機提出了一種通過人體矢狀面二維圖像獲得運動過程中人體三維坐標的方法,對于人體運動姿態分析具有重要意義。
在人體運動過程中, 對人體姿態的動態捕捉是通過對人體姿態關鍵點的采集來實現的。 對人體關鍵點的分類與跟蹤可以獲取各關鍵點的動態坐標,可以對走路,跑步,跳躍等多種運動姿態的實時動態描述[4]。
人體關鍵點坐標的獲取是人體姿態估計的重點,由單目RGB 相機采集到的二維圖像, 基于Coco 中的人體模型數據庫[5],將25 個人體關鍵點分類并編號見圖2,定義為A

圖2 人體關鍵點分布圖

式中:N—關鍵點分類編號;XN—關鍵點橫坐標;YN—關鍵點縱坐標;ρ—關鍵點檢測置信度系數,ρ∈(0,1)。
關鍵點檢測置信度系數ρ 可以作為一個預先設定的閾值,當置信度系數小于設定的閾值時,可以將檢測到的關鍵點作為檢測失敗的關鍵點,再根據檢測失敗的類型對數據集進行相對應的處理。
通過特征匹配生成人體關鍵點熱圖以及關鍵點矢量圖。每一個關鍵點對應一組關鍵點熱圖及關鍵點矢量圖,關鍵點熱圖會在其相應的坐標位置生成一個基于二維高斯分布的概率區, 根據概率值最大的位置確定關鍵點坐標, 以此類推可以獲得二維圖像坐標系下的全部關鍵點坐標數據集,每一組數據集由每一幀圖像中25 個人體關鍵點的橫坐標與縱坐標組成。 關鍵點矢量圖設立在兩個關鍵點之間, 由X,Y 兩個方向的矢量概率判斷最大值,生成關鍵點矢量圖。 根據將同一幀內的關鍵點按照關鍵點矢量圖和人體骨骼的先驗知識連接起來, 實現人體骨架化。
這種基于關鍵點的人體姿態檢測算法相比于其他算法的優勢是:①精度高;②抗背景干擾能力強。
人體運動分析是根據人體關鍵點坐標數據集實現的,然而為了實現分析結果的準確性和穩定性,需要對運動分析構建條件,如下:
(1)保證受測人體位置穩定,便于后期運動姿態分析。
(2)從25 個人體關鍵點中選取其中一個作為一個坐標原點, 使其他關鍵點與人體肢體部分相對于坐標原點的位移與角度變化更加直觀和清晰。
(3)基于新建坐標原點建立一個新坐標系,相對于原圖像平面坐標系進行二維坐標變換。
(4)根據坐標采集異常的不同原因對人體坐標數據集進行相應的處理。
(5)采集矢狀面下各骨骼之間的比例關系以及新建坐標系下各骨骼與坐標軸之間的夾角。
(6)利用已采集的矢狀面二維關鍵點坐標根據逆解算為人體三維關鍵點坐標,根據三維坐標建立人體模型。
在運動過程中,由于受身體不同部分的遮擋,一部分人體關鍵點的檢測會失效, 此時根據異常關鍵點的分類做相應的調整見表1。

表1 異常關鍵點的分類與解決方法
人體骨骼是一種剛性結構,也是一種樹結構,由一系列具有層次關系的關節和骨骼組成, 可以選取其中一個關節作為根關節,而其它關節是根關節的分支。父關節運動能影響子關節運動, 但子關節運動對父關節不產生影響。因此平移或旋轉父關節時,也會同時平移或旋轉其所有子關節。 關節作為用來連接父骨骼與子骨骼之間的聯系方式,因此骨骼的長度可以看作兩個關節的距離,也可以被視為以兩個關節所在坐標系的偏移量。 通過使關節平移和旋轉,就能為人體骨架擺出各種姿勢,當子骨骼在三維坐標系中運動時在二維平面確定一個人體關鍵點即根關節作為坐標原點, 人體的姿態可以視為關節相對于相鄰關節所在坐標系的位移與旋轉[6]。
通過判斷每一幀圖像中兩個相鄰關節的偏移量,可以確定在世界坐標系下的兩個關節三維坐標的時序變化。
骨骼的位移變化見圖3(a),關節的內收或外展會造成當前位置的子骨骼在先前位置上的投影[7],根據兩位置之間的夾角即為旋轉角見圖3(b)。

圖3 骨骼運動位姿演示
根據骨骼運動前后的矢量,可求得關節旋轉角θ:

每一組子關節和父關節的相對位置可以用來確定人體局部姿態,根關節的父節點可以認為是世界坐標系原點。每個關節設立一個單獨的坐標空間,在數學上,關節姿態就是一個仿射變換,用Pi表示關節i 代表的仿射變換是一個4×4 的矩陣,它由平移向量Ti,旋轉矩陣Ri以及對角縮放矩陣Si組成

Pi的作用就是在以關節i 為原點的三維坐標系中,將其他關鍵點變換到關節i 的父關節為原點的三維坐標系中顯示當前三維坐標, 可以用Pij表示j 點在關節i 坐標系的坐標。
根據空間向量法[8]原坐標系向量在坐標變換后的新坐標系內的方向向量中的投影作為新坐標系中向量的坐標。 當關鍵點i 坐標為(xi,yi,zi)則新坐標系下關鍵點i 坐標為(xi′,yi′,zi′)。


由此可計算出關鍵點i 從原坐標系到新坐標系的轉換矩陣。
若是需要把新坐標系中的關鍵點坐標轉換到原坐標系下,在此基礎上左乘此轉換矩陣的逆矩陣就可以實現,即:

相比較于表示關節之間關系的局部姿態,整體姿態是可以能說明關節在根坐標系中的位置,肢體末端的關鍵點可以通過局部姿態的坐標變換方法逆推追溯到根關節,進而確定此關鍵點在根關鍵點坐標系中的三維坐標[9]。 我們將在關鍵點i 坐標系的j 關鍵點變換到根坐標系中, 當關鍵點j 編號為7,則關鍵點i 編號為6,我們用P7表示它的局部姿態矩陣,按此方法,那么j 在根坐標系中的坐標可以表示為

那么P0P1P5P6P7就是關鍵點j 在整體姿態中的變換矩陣,也是將關鍵點i 坐標系中任意一點變換到根坐標系的整體姿態矩陣。 以此類推,可以根據關鍵點在該坐標系中的位置, 換算得到骨骼經過運動之后其在世界坐標系下的新位置。
在Blender 中建立人體姿態仿真模型[10],結合由單目RGB 相機采集到的人體關鍵點坐標為二維坐標, 經過坐標變換如圖4(a),獲得基于固定坐標系的三維坐標。 在實驗前要先使實驗對象處于身體直立, 雙臂微微抬起并放在身體兩側的狀態, 可以觀察矢狀面圖像與冠狀面圖像如圖4(b)、(c),通過預先采集實驗對象固定姿態的關鍵點坐標數據獲得各關鍵點之間的向量,即為各骨骼長度。根據人體運動生物力學的知識設定人體模型各關節自由度,從而建立人體運動剛體結構模型。

圖4 人體姿態仿真模型
為了實現對運動姿態的精確分析, 人體模型中的骨盆關節作為坐標原點,保持位姿不變,根據時間序列的每一幀圖像中關鍵點位置的變化, 把關鍵點數據輸入至預先設定好的人體模型中, 將人體骨架三維坐標與人體模型在時間序列上匹配, 實現其他骨骼相對于髖關節的運動便于對運動姿態的分析與觀測。
本文將使用基于空間向量法對人體矢狀面圖像的運動姿態分析的仿真平臺驗證。 傳統意義是通過一個關節的相鄰關節的相對坐標對關節角度做出描述的, 通常是以近軀干側關節作為參考坐標系, 以遠軀干側關節建立局部坐標系。 根據空間向量法求得關節角:

對局部坐標系與參考坐標系的關系做出位移和角度變化的對比就能對關節運動做出描述, 選取多個獨立變化的角度就能根據此來描述關節轉動問題。
實驗人員采用了在跑步機上慢跑的姿態, 速度選擇了8km/h,攝像機垂直于跑者矢狀面放置,選取了在檢測到矢狀面圖像的姿態后,選取了人體下肢的髖、膝、踝三關節的三維關節坐標如圖5(a)(b)(c),檢測三個關節的關節角,并對其運動分析。

圖5 髖膝踝三關節姿態坐標變化
從髖、膝、踝三關節的坐標變化趨勢來看,隨著跑步過程的進行, 跑者的髖和膝關節在z 軸方向的坐標近似不變,而踝關節坐標隨著時間變化,會發生在z 軸方向上的突變,說明跑者存在關節內翻的跑步姿態不當。
在本文中,由RGB 二維圖像中人體關鍵點二維坐標通過數學方法逆解算出三維坐標, 根據三維坐標建立人體模型實現人體模型與三維坐標在時間序列上完成同步, 從關節角度和部分關鍵點坐標完成對人體的運動分析。由于復雜環境的限制,沒有選擇使用深度攝像頭或者多目攝像頭,在實驗驗證中發現單目RGB 攝像機也可以達到近似的效果。