賈亞光,劉 靜,雷 森,辛海龍,閆志博
(哈爾濱商業大學管理學院,黑龍江 哈爾濱 150028)
2021年8月國務院頒發了《全民健身計劃(2021—2025年)》,次年5月國務院辦公廳也提出了《“十四五”國民健康規劃》,其中內容均對健身指導包括健身與互聯網的融合做出支持與鼓勵。對于運動的評估,目前可通過基于圖像或基于傳感器的方法采集數據。馬敬奇等[1]通過建立Alphapose 優化模型進行實時的摔倒模型檢測;許志豪等[2]通過Openpose 進行滑雪動作分析;張笑宇等[3]通過最新一代Azure Kinect無標記運動捕獲系統提取步態參數;QIAO 等[4]提出一種基于單目圖像的人體姿態分級系統,通過計算標準與實時姿勢間的離散弗雷歇距離來進行動作相似度比較?;谟布鞲衅鞯娜梭w關節提取成本較高,且準確識別率較低。而Alphapose 基于計算機編程獲取關節圖像與關節位置的方式更加簡便,快捷并且準確率已經達到較高水準。本文以跑步動作為例,通過算法結合得出歐式距離并進行跑步動作的對比分析。
Alphapose 采用自頂向下的檢測方法對人體各個關節點進行檢測,但是,當前這種檢測方法存在以下兩個問題。①定位框不準確的問題,當我們使用Faster-RCNN(目標檢測器)和SPPE(堆疊沙漏模型)進行人體姿態檢測時若IoU>0.5(IoU 指檢測邊界框和真實框的重疊面積)則不能很好的檢測出關節點的位置。②姿態冗余的問題,即每次人體檢測框經過SPPE時都會產生人體姿態關節點,但最后只需保留一種結果即造成了人體姿態的冗余檢測。
針對以上問題,Alphapose 添加了三個模塊進行改進,分別是對稱空間變換網絡(Symmetric Space Transformer Networks,SSTN)、姿態非極大值抑制器(Parametric pose non-maximum suppression,PPNMS)與由姿態引導到樣本生成器(Pose-Guided Proposal Generator,PGPG)[5]通過三個模塊的添加可實現對人體關節點的精確提取。以下是Alphapose 網絡整體結構如圖1所示。

圖1 alphapose網絡整體結構
人體姿勢估計屬于計算機視覺的一個方向,目前其面對的困難主要有三個方面:一是人體的關節活動的自由性;二是穿衣對動作的遮擋,三是不同的障礙物可能遮擋人體關鍵信息。隨著深度學習的發展,這些挑戰已經慢慢的被突破,從何愷明提出的MASKR-CNN,CMN 的Openpose,到上海交大盧策吳提出的Alphapose,姿勢識別的準確率已經達到了相當高的水準。人體姿態估計算法性能如表1所示[6]。

表1 各開源人體姿態估計算法性能
注:數據為各開源系統在COCO 數據集上的性能,時間在單卡1080ti 型號GPU 上測出本文基于Alphapose 進行目標識別并獲取其骨架特征圖如圖2所示。

圖2 基于Alphapose獲取的人體骨架特征圖
通過Alphapose可對圖像上各個關節點提取,并以人體右上角為原點,建立平面直角坐標系,在MSCOCO數據集中對關鍵的17個人體節點進行標記,并獲取其坐標定位,由于坐標不能直接進行對比,故通常我們會先通過建立各個坐標位置的高維向量形式,如對于視頻中某一幀的動作A,可將預處理后的關鍵點坐標按順序表示成一個高維向量A=[a1,a2,...,a17]。其中a1—a17 為17 個關鍵點位置坐標,那么某兩幀視頻中的動作A 與動作B 的相似度便可轉化為兩個向量A 和B之間的相似度。由于跑步過程中拍攝者對鏡頭的遠近會發生變化,故首先對數據做L2 范數歸一化處理,其方法如式⑴和式⑵所示。
在對比時間序列時通常采用歐式距離的方法,但由于視頻長度的不同導致難以形成一對一的對應關系,故采用DTW 算法進行時間序列上的相似度對比。DTW 算法可通過壓縮或伸長時間序列的長度對齊時間序列并找出對齊情況下的最小距離。進而輸出歸一化后兩條序列的歐式距離。
DTW算法是一種將時間規劃與間距測量相結合的非線性規整技術,采用動態規劃(dynamic programming,DP)的算法思想。若兩視頻幀數分別為m 和n 的標準動作A={a1,a2…am}測試動作B={b1,b2…bn}其中,m 和n 不一定相等。當m=n 時,直接計算兩個序列的距離即可;當m≠n 時,不是通過簡單的局部或全局縮放后計算距離,而是采用動態規劃的辦法,尋找一條最優路徑對A,B 兩個模板序列進行匹配。構造一個m×n的矩陣用來存儲A 和B 各幀之間的距離,即矩陣中為(i,j)的元素表示的是A 的第i 幀與B 的第j 幀之間的距離,以dij來表示。求解這兩個動作樣本本的相似度問題就轉變成在該矩陣中尋找一條使得A和B之間距離最小的規整路徑,該路徑起始于(1,1)終止于(m,n)[7]。具體原理如圖3所示。

圖3 DTW算法矩陣圖
累加距離Dij即為當前格的距離dij與可以達到該點的最小的鄰近元素的累加距離之和,表明為兩條序列的距離。公式如下:
Dmn的距離則表示兩序列最小的歐式距離。
通常,在評估動作相似度時我們需要對其時間序列進行處理在時間序列數據中,一個常見的任務是比較兩個序列的相似度,并以此作為分類或聚類任務的基礎。通過Alphapose 我們可以獲得每幀圖像的17個關鍵關節點的坐標,將每幀圖像的關節坐標點組成特征向量并將其視頻長度作為時間序列,將標準序列與自測序列輸入至DTW 算法可進行兩條時間序列的相似度評估。具體過程如圖4所示。

圖4 人體動作相似度評估流程圖
通過對相似度的評估我們可以識別出運動標準動作與自身所作動作的差異性從而規范自身動作使其避免運動損傷,規范運動動作等。
以跑步為例,臨床研究認為超過60%的跑步損傷可歸因于訓練錯誤[8]。當跑步姿勢不正確時可能會給身體帶來如下傷害:肌肉拉傷,膝關節受損,踝關節扭傷,頸椎損傷,脛骨損傷等。而常見的跑步錯誤如邁出步態距離過大導致落地點靠前會產生剎車效應,跑步過程中腳尖著地導致腳趾的磨損,擺臂幅度過大會導致跑步時較吃力,跑步時若身體前傾也會增加跑步的損傷概率,包括慢跑過程中若膝關節伸直與向內擠壓也會增加膝關節的壓力導致膝關節磨損,健康的跑步不僅僅要有一個好的熱身準備也要取決于跑步時的跑姿、步態、步頻,距離,落地點等因素在此基礎上進行的合理運動有助于更好的規避跑步過程的運動風險從而達到強身健體的目的。
在本次跑步動作的相似度分析中選取一組標準跑步動作為實驗組,一組自測動作,另一組標準跑步動作為對照組,視頻長度均取前100 幀為實驗數據。其坐標移動取跑步過程中較明顯的關節點本文取左腳左膝右腳右膝的關節點的運動變化為對比,最后通過DTW 算法對三組跑步時間序列的整體動作的距離進行分析。測試模板如圖5、圖6、圖7所示。

圖5 基準動作模板

圖6 標準動作模板

圖7 對照動作模板
下列折線圖分別為左腳,右腳,左腿,右腿的在移動過程中x軸的數據如圖8所示。

圖8 關節x軸變化折線圖
從圖8折線圖中可分析出,兩條標準跑步動作的x軸運動軌跡較相似則表明本實驗中的算法有效性,而自身跑步過程中的x 軸軌跡與標準差距較大,則說明自身跑步的過程中步態過于隨意且落地點不夠標準(與標準有較大差異)。從本次實驗x軸的關節變化中還可看出步頻與標準跑步的不協調,以及跑步過程中前后擺動幅度的變化較大。運動過程中關節點DTW距離如表2所示。

表2 關節點相似度對比
通過分析可知,跑步運動過程中由于動作幅度的不相同,跑步動作會有較大差異。由于標準序列的DTW 距離都較為相似,進而也驗證了此算法的有效性。此方式可以在運動規范領域進行改進和推廣。
本文提出了基于Alphapose 檢測出的人體模型的關節點坐標歸一化處理后再通過DTW 算法進行動作序列的相似度計算,創新點在于提出高精度多人姿態識別系統與相似度算法結合在運動領域展開的評估。以跑步過程中關節點的變化為主線,通過每幀跑步動作中四個關節坐標點的變化趨勢,來判斷自身動作的標準與否,并通過兩條標準跑步動作序列驗證了算法的有效性,最后得到兩條動作序列的DTW 距離,以此為指標量化測試動作與標準動作的差異度,提供給健身者進行運動動作的相關改進,從而減少運動損傷。本文中Alphapose在精準度與識別速度上有較大優勢,未來在相關健身運動方面有著較為廣闊的應用前景。