伏選杰 田暢
摘要: 針對部隊日常體能訓(xùn)練中引入功能性動作篩查(FMS)的困難,提出一種基于單目視覺的自動化解決方案。通過改進現(xiàn)有人體姿態(tài)識別算法,再結(jié)合余弦相似性完成FMS動作提取。分析現(xiàn)有算法的弊端,提出利用幀間光流提高人體姿態(tài)識別精度的解決思路,并驗證其可行性。
關(guān)鍵詞: 人體姿態(tài)識別; FMS; 光流; 余弦相似
中圖分類號:TP319? ? ? ? ? 文獻標(biāo)識碼:A 文章編號:1006-8228(2021)10-23-05
Human posture recognition based on monocular vision
Fu Xuanjie, Tian Chang
(Army Engineering University, Nanjing, Jiangsu 210000, China)
Abstract: Aiming at the difficulty of introducing functional movement screening (FMS) in the daily physical training of troops, an automated solution based on monocular vision is proposed. The FMS action extraction is completed by improving the existing human body posture recognition algorithm and combining cosine similarity. The shortcomings of existing algorithms are analyzed and solutions to improve the accuracy of human posture recognition by using optical flow between frames are proposed, and the feasibility is verified.
Key words: human body posture recognition; FMS; optical flow; cosine similarity
0 引言
保證訓(xùn)練的有效性和安全性一直是健身塑形、軍事體能、醫(yī)療康復(fù)等訓(xùn)練的首要目標(biāo)。在特種訓(xùn)練、部隊訓(xùn)練、專業(yè)體育訓(xùn)練甚至日常健身中,合理引入糾正性訓(xùn)練方法(FMS)已經(jīng)成為廣泛共識[12-13]。
功能性動作篩查FMS是一種身體運動功能的評估和訓(xùn)練方法,可有效的提升體能訓(xùn)練水平,大幅度降低運動損傷風(fēng)險。然而,在部隊訓(xùn)練、大眾健身等非專業(yè)領(lǐng)域廣泛推廣FMS存在很大的困難。一是相關(guān)領(lǐng)域缺乏大量專業(yè)的指導(dǎo)教練;二是人工指導(dǎo)往往缺乏耐心無法保證測量的有效性;三是FMS需要多測量及時的發(fā)現(xiàn)問題進行糾正性訓(xùn)練,人工無法保證個性化的糾正性訓(xùn)練。所以,在部隊訓(xùn)練以及日常健身中引入FMS方法必須基于計算機自動分析完成,才能保證其發(fā)揮廣泛有效的作用[1]。
FMS通過七個簡單的動作(深蹲、跨欄步、直線弓步、肩部活動、主動直腿抬高、軀干穩(wěn)定性俯臥撐、旋轉(zhuǎn)穩(wěn)定性俯臥撐),對肢體之間相對距離角度的測量便可以得到身體運動功能評估,完全可以通過智能設(shè)備輔助測量。傳統(tǒng)輔助訓(xùn)練設(shè)備通過一些傳感器對人體訓(xùn)練中身體參數(shù)進行收集完成分析任務(wù)。但是,通過傳感器硬件的采用方式,要求測試者佩戴多種傳感器,雖然較為準(zhǔn)確但是也將用戶的良好體驗感降低到了最低且用戶測量一次成本過高,不適于推廣使用。后來也出現(xiàn)了基于體感攝像機的人體運動捕捉系統(tǒng),但是精度較低以kinect[2]為例該設(shè)備僅適用于簡單的空間定位,并不適用于跟蹤人體關(guān)節(jié)運動。
現(xiàn)有基于傳感器人體姿態(tài)測量不僅成本高而且用戶體驗不佳。研究[6-8]只需一臺普通攝像機對人體運動進行采樣,便可以捕捉人體實時姿態(tài)。這種基于視覺的采樣方法更加便捷、精確,適用場景廣泛。
通過以上分析不難發(fā)現(xiàn),在FMS系統(tǒng)中引入人體識別技術(shù)將是未來發(fā)展趨勢。如圖1所示自動化FMS糾正性分析系統(tǒng)框架,通過動作采樣自動分析測量動作完成動作評分并利用知識圖譜推理得到糾正性分析報告初步可以滿足糾正性訓(xùn)練在部隊等場景下的使用?;谟嬎銠C視覺的FMS人體姿態(tài)測量方法可以解決現(xiàn)有方法成本高、準(zhǔn)確率低、用戶體驗差的痛點。所以,人體姿態(tài)識別技術(shù)精確測量FMS動作是自動化測量的關(guān)鍵技術(shù)。
1 基于單目視覺的姿態(tài)識別
1.1 姿態(tài)識別算法
人體姿態(tài)識別是指運用某種手段跟蹤、捕捉人體關(guān)節(jié)點位置并重新構(gòu)建人體結(jié)構(gòu)的技術(shù)。在動畫視頻、影視、游戲制作、運動訓(xùn)練、醫(yī)療等多方面都有重要應(yīng)用。廣泛的研究使得深度學(xué)習(xí)技術(shù)已經(jīng)在專業(yè)領(lǐng)域突顯成績達(dá)到了和人類專家同樣的技術(shù)水平。目前有單人姿態(tài)識別技術(shù)如CPM[6],Hourglass[7];多人的姿態(tài)識別算法OpenPose[8]。已經(jīng)在相關(guān)數(shù)據(jù)集[3-5]上取得了優(yōu)秀的成績,隨著數(shù)據(jù)集的進一步擴充和相關(guān)算法的研究,人體關(guān)節(jié)檢測水平勢必達(dá)到人類同樣水平。所以利用深度網(wǎng)絡(luò)進行人體姿態(tài)識別輔助FMS引入部隊訓(xùn)練甚至是日常健身是未來的趨勢,有重要的意義。
CPM[6],使用順序化卷積架構(gòu)擬合圖片中的空間信息和紋理信息,具有較強的魯棒性。網(wǎng)絡(luò)結(jié)構(gòu)分為多個階段,各個階段又分別監(jiān)督訓(xùn)練,原始圖片為輸入,其他每個階段將前一階段輸出的特征圖作為輸入,有效融合圖片中的空間信息,紋理信息。通過多尺度變換輸入確保了輸出結(jié)果的精度。
在單人姿態(tài)識別的啟發(fā)下多人姿態(tài)識別的研究方向有兩個主流。第一類自頂向下的方法,如文獻[9-10]。通過目標(biāo)檢測出單個的人再利用單人姿態(tài)識別實現(xiàn)多人姿態(tài)識別。但是這種方法主要的問題在于,姿態(tài)識別的準(zhǔn)確性很大程度上依賴于目標(biāo)檢測的精度。分階段的推理以及分階段采樣會造成計算量的負(fù)擔(dān),同時當(dāng)人體有遮擋的情況出現(xiàn)時不能很好的解決關(guān)節(jié)點識別。第二類自底向上的方法,如文獻[8]。首先預(yù)測出所有的人體關(guān)節(jié),再將各個關(guān)節(jié)組裝成個體。
1.2 OpenPose姿態(tài)識別網(wǎng)絡(luò)
OpenPose是自底向上的多人姿態(tài)識別方法(先通過特征識別所有可能的關(guān)節(jié)點,再將所有關(guān)節(jié)點遍歷組裝成可能的人體連接)該算法能夠?qū)崿F(xiàn)人體動作、面部表情、手指運動等姿態(tài)識別,具有很好的魯棒性,適用于FMS測量場景。
OpenPose網(wǎng)絡(luò)設(shè)計,為多階段提取特征的網(wǎng)絡(luò)結(jié)構(gòu)。輸入為一幀圖像,經(jīng)過卷積網(wǎng)絡(luò)層提取底層特征。在兩個子網(wǎng)絡(luò)中分別輸入底層特征。其中一個子網(wǎng)絡(luò)順序化卷積根據(jù)上層網(wǎng)絡(luò)提取到的特征進一步提取有關(guān)人體各個關(guān)節(jié)點的預(yù)測熱圖,每個熱圖中包含了該類別關(guān)節(jié)點出現(xiàn)位置的可能性峰值;另一個子網(wǎng)絡(luò)實現(xiàn)了作者所提的人體關(guān)節(jié)親和場為組裝人體結(jié)構(gòu)提供了有力的參考,該網(wǎng)絡(luò)的輸出為相鄰兩個關(guān)節(jié)點之間肢體的向量場Part Confidence Maps(表征肢體連接結(jié)構(gòu)和方向)。通過兩個網(wǎng)絡(luò)將自底向上的姿態(tài)識別問題轉(zhuǎn)變?yōu)閳D匹配問題,對所有可能的關(guān)節(jié)點預(yù)測結(jié)果采用匈牙利算法進行最優(yōu)匹配,返回最終的人體關(guān)節(jié)點預(yù)測結(jié)果。
OpenPose算法魯棒性強,關(guān)節(jié)點識別準(zhǔn)確率高滿足FMS測量對關(guān)節(jié)點預(yù)測準(zhǔn)確率的要求,但是網(wǎng)絡(luò)模型模型參數(shù)龐大,運行時計算復(fù)雜度高很難在資源受限的計算機上部署使用。為了推廣使用FMS系統(tǒng)需要解決在資源受限的硬件平臺實時運行的問題。
Intel提出輕量版的LightweightOpenPose[11],相對于OpenPose網(wǎng)絡(luò),參數(shù)量只有15%,但是識別精度只損失1%。在CPU上推理速度可以達(dá)到26fps。底層特征提取模塊作者使用MobileNet代替VGG,減少了網(wǎng)絡(luò)深度同時降低了計算量和模型參數(shù)。在特征提取中加入了空洞卷積增大了網(wǎng)絡(luò)感受野。為了減少參數(shù)量將原有兩個子網(wǎng)絡(luò)改成一個網(wǎng)絡(luò),只在輸出階段利用1*1卷積分別獲取關(guān)節(jié)點預(yù)測結(jié)果和人體親和場預(yù)測結(jié)果。輕量級OpenPose網(wǎng)絡(luò)通過將較大卷積核替換為較小卷積核并利用空洞卷積保證網(wǎng)絡(luò)視野,從而在保證精度的條件下提高了神經(jīng)網(wǎng)絡(luò)推理效率。也有利于在FMS中推廣使用
2 基于姿態(tài)識別的FMS動作識別
2.1 FMS動作識別框架
為了滿足FMS姿態(tài)識別的效率和精度雙重要求,選用現(xiàn)有LightweightOpenPose網(wǎng)絡(luò)作為檢測人體關(guān)節(jié)點的基礎(chǔ)算法。實驗發(fā)現(xiàn),現(xiàn)有算法雖然在數(shù)據(jù)集上具有較好的效果,但是應(yīng)用于FMS場景下并不能直接使用。
由于網(wǎng)絡(luò)表達(dá)能力有限且現(xiàn)有網(wǎng)絡(luò)本身存在的問題,導(dǎo)致在測量時存在關(guān)節(jié)點檢測不出、檢測錯誤的問題。在實驗中發(fā)現(xiàn),現(xiàn)有網(wǎng)絡(luò)在圖片中人體存在遮擋、光照環(huán)境過明過暗情況下存在關(guān)節(jié)點檢測失效的問題。而且對于視頻文件連續(xù)進行檢測時存在前后識別結(jié)果差異大、檢測結(jié)果不穩(wěn)定。研究發(fā)現(xiàn)目前姿態(tài)識別網(wǎng)絡(luò)均通過單張離散的圖片訓(xùn)練得到,丟失了時間上關(guān)節(jié)點變化信息。如果結(jié)合時空信息進行姿態(tài)識別,理論上能夠提高姿態(tài)識別檢測精度,且在連續(xù)檢測中能夠保證前后結(jié)果一致性。
視頻文件中蘊含了人體骨架模型隨時間變化的時空信息。目標(biāo)跟蹤領(lǐng)域通過時間上的變化信息對目標(biāo)進行連續(xù)跟蹤。研究發(fā)現(xiàn),提取視頻中人體運動信息能夠幫助姿態(tài)檢測網(wǎng)絡(luò)更好的工作。光流表示了相鄰兩幀圖片中像素點的變化情況,如果能夠提取關(guān)節(jié)點附近的像素位移那么就能夠利用這種隨時間變化的信息來提高姿態(tài)識別網(wǎng)絡(luò)的檢測精度。
應(yīng)對現(xiàn)有姿態(tài)識別算法的不足,本文提出基于視覺的FMS動作測量方案如圖2所示。利用目前姿態(tài)識別網(wǎng)絡(luò)提取人體關(guān)節(jié)點通過目標(biāo)跟蹤的思路結(jié)合相鄰幀間運動變化信息,從而提高FMS測量準(zhǔn)確度。首先利用輕量級OpenPose網(wǎng)絡(luò)提取每一幀關(guān)節(jié)點的坐標(biāo),并且通過計算相鄰幀之間的光流信息,將時間上的變化信息和人體關(guān)節(jié)點空間結(jié)構(gòu)結(jié)合起來,獲得最終的關(guān)節(jié)點更新。構(gòu)建人體二維骨架模型方便對FMS動作分類,便于后續(xù)的FMS評分。相鄰兩幀之間時間較短將人體運動看作勻速直線運動。將關(guān)節(jié)點附近光流信息轉(zhuǎn)化關(guān)節(jié)點速度對關(guān)節(jié)點進行建模。
將關(guān)節(jié)點狀態(tài)描述為四維向量[sk=[x,y,vx,vy]],其表示為:關(guān)節(jié)點在[x]方向,[y]方向的坐標(biāo)及其運動速度。
在運動序列中極短的時間內(nèi),可以近似人體的運動為勻速運動,假設(shè)相鄰幀之間的速度是相等的,可知:
[xk=xk-1+Δt?vx,k-1+wk-1+Δt?w'kyk=yk-1+Δt?vy,k-1+wk-1+Δt?w"kvx,k=vx,k-1+w'kvy,k=vy,k-1+w"k]
[sk=Ak,k-1sk-1+1Δt010Δt010001wk-1w'kw"k]
其中[Ak,k-1=10Δt0010Δt00100001]是狀態(tài)轉(zhuǎn)移矩陣,[wk-1]是位置隨機誤差由于運動時間很短約為(0.05s)可以將誤差設(shè)置較小,初始化為高斯噪聲,[w'k]、[w"k]分別表示[x]方向,[y]方向速度的隨機誤差。
觀測方程:
[zk=Hk,k-1sk+vk]
其中[Hk=1000010000100001]是觀測矩陣。將深度網(wǎng)絡(luò)的估計值作為觀測值分別為各類關(guān)節(jié)點建立卡爾曼濾波器進行濾波。實驗證明這種人體骨骼模型提取框架是有效的。
2.2 人體骨骼模型
Kalman濾波器對姿態(tài)識別網(wǎng)絡(luò)的結(jié)果進行濾波后,獲得了一組較為穩(wěn)定的關(guān)節(jié)點預(yù)測結(jié)果。姿態(tài)網(wǎng)絡(luò)的輸出結(jié)果依次為鼻子、右肩膀、左肩膀、右腰、左腰、右肘、左肘、右膝、左膝、右腕、左腕、右踝、左踝。以左右肩膀連線的中點作為人體的基點,建立如圖3所示的二維骨架模型,計算各個單位向量,以及向量夾角作為人體骨架模型的特征。這些特征作為FMS動作識別的依據(jù)。同樣,對標(biāo)準(zhǔn)動作分別建立骨架模型模板并提取基本骨骼特征。
2.3 FMS動作識別
由于FMS測量所規(guī)定的七個動作在測量過程簡單可控,在動作識別階段不需要精確測量人體部件長短、距離只需要通過當(dāng)前動作和標(biāo)準(zhǔn)動作之間的形態(tài)差異就可以完成當(dāng)前階段任務(wù)。本文提出通過余弦相似來對比當(dāng)前動作和模板動作的差異,保證動作識別的準(zhǔn)確性、高效性。
定義人體關(guān)節(jié)集合[D={d0,d1,...,d13}],其中[di]為系統(tǒng)預(yù)測的關(guān)節(jié)點坐標(biāo)[x,y];根據(jù)圖二人體骨骼模型定義向量集合[J={J1=(d0(x)-d1(x),d0(y)-d1(y)),...,J13}],對各個向量單位化;定義各個標(biāo)準(zhǔn)動作模板[Jtn={jt1,jti,...,jt13}];定義如圖4所示人體二維骨架模型向量集合,通過實時采樣骨架模型向量幾何和標(biāo)準(zhǔn)動作模板生成的向量集合計算余弦相似來表示實時人體姿態(tài)和測量動作的相似性。通過實時動作和模板動作的相似性比對,可以對測量動作進行分類,以及提取待測動作進行FMS評分。
定義測量動作和動作模板相似度計算公式為:
[xi=jti·jijti×ji,i∈(1,13)]
[xi]表示測量動作各個向量和標(biāo)準(zhǔn)動作向量集的相似程度。定義:
[σ2n=1m-1i=1m(xi-x)2]
其中[n]表示FMS中七個測量動作,[m]表示向量集合的個數(shù)。最終取[min(σ2n)]時刻姿態(tài)狀態(tài),與標(biāo)準(zhǔn)庫中模板動作比對。
3 FMS動作識別結(jié)果
為了驗證本文提出的基于視覺FMS測量方案的有效性,選取一組FMS測量動作進行分析。在測試視頻中同一時刻分別取直接利用lightweight OpenPose網(wǎng)絡(luò)提取人體骨骼模型和本文方法測得人體關(guān)節(jié)點進行對比分析。如表1所示,結(jié)果表明,lightweight OpenPose對于連續(xù)的FMS動作測量存在關(guān)節(jié)點前后幀不穩(wěn)定,如未檢出(t=4時刻),偏移(t=8時刻),錯誤(t=5,9)的問題。關(guān)節(jié)點在連續(xù)幀檢測不穩(wěn)定的問題,會導(dǎo)致后續(xù)FMS動作測量可靠性不高。而本文所提框架考慮了視頻中的時空信息,利用歷史結(jié)果避免了重建骨架模型時出現(xiàn)較大的偏差,提高了檢測系統(tǒng)的魯棒性。
由于人體的運動不是單一的、離散的,而是互相聯(lián)系的,在一段運動中歷史的運動狀態(tài)會對當(dāng)前運動狀態(tài)造成影響。實驗證明歷史檢測結(jié)果可以有效提高當(dāng)前幀檢測精度。本文所提FMS姿態(tài)識別框架將關(guān)節(jié)點在較短時間內(nèi)的運動假設(shè)為勻速運動,結(jié)合時間維度變化信息,對當(dāng)前時刻建立線性運動狀態(tài)方程,利用kalman濾波特性重新評估當(dāng)前時刻關(guān)節(jié)點位置,從而避免了部分檢測出錯的情況發(fā)生。穩(wěn)定、準(zhǔn)確的關(guān)節(jié)點預(yù)測,有利于提高FMS動作識別準(zhǔn)確率,也為下一階段的FMS評分提供了有力保障。
4 結(jié)束語
本文利用lightweightOpenpose網(wǎng)絡(luò)結(jié)合時空信息更新視頻中關(guān)節(jié)點位置預(yù)測結(jié)果,提高了視頻中人體骨架模型提取精度,完成了動作分類任務(wù),為下一階段FMS評分提供了可靠依據(jù)。人體姿態(tài)識別技術(shù)是自動化運動分析的關(guān)鍵技術(shù)。但是現(xiàn)有算法還不能完成進一步精確的FMS測量。
目前所了解的姿態(tài)識別網(wǎng)絡(luò),均是通過離散的圖片訓(xùn)練得到。通過對比實驗不難發(fā)現(xiàn),網(wǎng)咯推理過程中只會考慮當(dāng)前幀的空間信息,由于缺失時間維度運動信息,導(dǎo)致推理中不能合理的規(guī)避運動關(guān)節(jié)點的檢測錯誤。人體姿態(tài)識別技術(shù)下一步的研究需要通過學(xué)習(xí)連續(xù)變化的人體運動中蘊含的時空信息進一步提升姿態(tài)識別準(zhǔn)確率,保證FMS評分階段所需要的精確關(guān)節(jié)點坐標(biāo)。
參考文獻(References):
[1] 黃孝齊,田暢.提高部隊體能訓(xùn)練科學(xué)性的思考與探究[J].軍事體育學(xué)報,2019.38(1):21-24,27
[2] 孟明,楊方波,佘青山,孫曜,羅志增.基于Kinect深度圖像信息的人體運動檢測[J].儀器儀表學(xué)報,2015.36(2):386-393
[3] Lin, Tsung-Yi, et al. Microsoft COCO: Common Objects in Context[C]//Computer Vision-ECCV 2014,2014:740-755
[4] Andriluka M, Pishchulin L, GehlerP,and .et al. 2D Human Pose Estimation: New Benchmark and State of The Art Analysis[C].//Computer Vision and Pattern Recognition,2014:3686-3693
[5] Catalin I, Dragos P, Vlad Olaru, et al. Human3.6M: Large Scale Datasets and Predictive Methods for 3D Human Sensing in Natural Environments[J]. IEEE Transaction on Pattern Analysis & Machine Intelligence,2014.36(7):1325-1339
[6] Wei, Shih-En, et al. Convolutional Pose Machines[C].//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2016.
[7] Newell A, Yang K, Deng J. Stacked Hourglass Networks for Human Pose Estimation[J].arXiv e-prints,2016.
[8] Hua, Quan. OpenPose: Realtime Multi-Person 2D Pose Estimation Using Part Affinity Fields[C]//Medium,Towards Data Science,3 July 2019,towardsdatascience.com/cvpr-2017-openpose-realtime-multi-person-2d-pose-estimation-using-part-affinity-fields-f2ce18d720e8.
[9] ZheC.ZheC/Realtime_Multi-Person_Pose_Estimation. [GitHub].github.com/ZheC/Realtime_Multi-Per-son_Pose_Estimation.
[10] Fang, Hao-Shu, et al. RMPE: Regional Multi-Person Pose Estimation[J].ArXiv.org, 4 Feb. 2018, arxiv.org/abs/1612.00137.
[11] Osokin, Daniil. Real-Time 2D Multi-Person Pose Estimation on CPU: Lightweight OpenPose[J]. ArXiv.org, 29 Nov. 2018, arxiv.org/abs/1811.12004.
[12] 朱佳華,王攀,鄧運龍.對特種兵功能性動作篩查與軍事訓(xùn)練傷的調(diào)查分析[J].軍事體育學(xué)報,2016.35(2):99-102
[13] 王攀,周志雄,鄧運龍,姜楊,黨鑫華.裝甲步兵功能性動作篩查的應(yīng)用研究[J].軍事體育學(xué)報,2014.33(3):14-17