賈亞光,劉 靜,雷 森,辛海龍,閆志博
(哈爾濱商業(yè)大學(xué)管理學(xué)院,黑龍江 哈爾濱 150028)
2021年8月國(guó)務(wù)院頒發(fā)了《全民健身計(jì)劃(2021—2025年)》,次年5月國(guó)務(wù)院辦公廳也提出了《“十四五”國(guó)民健康規(guī)劃》,其中內(nèi)容均對(duì)健身指導(dǎo)包括健身與互聯(lián)網(wǎng)的融合做出支持與鼓勵(lì)。對(duì)于運(yùn)動(dòng)的評(píng)估,目前可通過(guò)基于圖像或基于傳感器的方法采集數(shù)據(jù)。馬敬奇等[1]通過(guò)建立Alphapose 優(yōu)化模型進(jìn)行實(shí)時(shí)的摔倒模型檢測(cè);許志豪等[2]通過(guò)Openpose 進(jìn)行滑雪動(dòng)作分析;張笑宇等[3]通過(guò)最新一代Azure Kinect無(wú)標(biāo)記運(yùn)動(dòng)捕獲系統(tǒng)提取步態(tài)參數(shù);QIAO 等[4]提出一種基于單目圖像的人體姿態(tài)分級(jí)系統(tǒng),通過(guò)計(jì)算標(biāo)準(zhǔn)與實(shí)時(shí)姿勢(shì)間的離散弗雷歇距離來(lái)進(jìn)行動(dòng)作相似度比較?;谟布鞲衅鞯娜梭w關(guān)節(jié)提取成本較高,且準(zhǔn)確識(shí)別率較低。而Alphapose 基于計(jì)算機(jī)編程獲取關(guān)節(jié)圖像與關(guān)節(jié)位置的方式更加簡(jiǎn)便,快捷并且準(zhǔn)確率已經(jīng)達(dá)到較高水準(zhǔn)。本文以跑步動(dòng)作為例,通過(guò)算法結(jié)合得出歐式距離并進(jìn)行跑步動(dòng)作的對(duì)比分析。
Alphapose 采用自頂向下的檢測(cè)方法對(duì)人體各個(gè)關(guān)節(jié)點(diǎn)進(jìn)行檢測(cè),但是,當(dāng)前這種檢測(cè)方法存在以下兩個(gè)問(wèn)題。①定位框不準(zhǔn)確的問(wèn)題,當(dāng)我們使用Faster-RCNN(目標(biāo)檢測(cè)器)和SPPE(堆疊沙漏模型)進(jìn)行人體姿態(tài)檢測(cè)時(shí)若IoU>0.5(IoU 指檢測(cè)邊界框和真實(shí)框的重疊面積)則不能很好的檢測(cè)出關(guān)節(jié)點(diǎn)的位置。②姿態(tài)冗余的問(wèn)題,即每次人體檢測(cè)框經(jīng)過(guò)SPPE時(shí)都會(huì)產(chǎn)生人體姿態(tài)關(guān)節(jié)點(diǎn),但最后只需保留一種結(jié)果即造成了人體姿態(tài)的冗余檢測(cè)。
針對(duì)以上問(wèn)題,Alphapose 添加了三個(gè)模塊進(jìn)行改進(jìn),分別是對(duì)稱空間變換網(wǎng)絡(luò)(Symmetric Space Transformer Networks,SSTN)、姿態(tài)非極大值抑制器(Parametric pose non-maximum suppression,PPNMS)與由姿態(tài)引導(dǎo)到樣本生成器(Pose-Guided Proposal Generator,PGPG)[5]通過(guò)三個(gè)模塊的添加可實(shí)現(xiàn)對(duì)人體關(guān)節(jié)點(diǎn)的精確提取。以下是Alphapose 網(wǎng)絡(luò)整體結(jié)構(gòu)如圖1所示。
圖1 alphapose網(wǎng)絡(luò)整體結(jié)構(gòu)
人體姿勢(shì)估計(jì)屬于計(jì)算機(jī)視覺的一個(gè)方向,目前其面對(duì)的困難主要有三個(gè)方面:一是人體的關(guān)節(jié)活動(dòng)的自由性;二是穿衣對(duì)動(dòng)作的遮擋,三是不同的障礙物可能遮擋人體關(guān)鍵信息。隨著深度學(xué)習(xí)的發(fā)展,這些挑戰(zhàn)已經(jīng)慢慢的被突破,從何愷明提出的MASKR-CNN,CMN 的Openpose,到上海交大盧策吳提出的Alphapose,姿勢(shì)識(shí)別的準(zhǔn)確率已經(jīng)達(dá)到了相當(dāng)高的水準(zhǔn)。人體姿態(tài)估計(jì)算法性能如表1所示[6]。
表1 各開源人體姿態(tài)估計(jì)算法性能
注:數(shù)據(jù)為各開源系統(tǒng)在COCO 數(shù)據(jù)集上的性能,時(shí)間在單卡1080ti 型號(hào)GPU 上測(cè)出本文基于Alphapose 進(jìn)行目標(biāo)識(shí)別并獲取其骨架特征圖如圖2所示。
圖2 基于Alphapose獲取的人體骨架特征圖
通過(guò)Alphapose可對(duì)圖像上各個(gè)關(guān)節(jié)點(diǎn)提取,并以人體右上角為原點(diǎn),建立平面直角坐標(biāo)系,在MSCOCO數(shù)據(jù)集中對(duì)關(guān)鍵的17個(gè)人體節(jié)點(diǎn)進(jìn)行標(biāo)記,并獲取其坐標(biāo)定位,由于坐標(biāo)不能直接進(jìn)行對(duì)比,故通常我們會(huì)先通過(guò)建立各個(gè)坐標(biāo)位置的高維向量形式,如對(duì)于視頻中某一幀的動(dòng)作A,可將預(yù)處理后的關(guān)鍵點(diǎn)坐標(biāo)按順序表示成一個(gè)高維向量A=[a1,a2,...,a17]。其中a1—a17 為17 個(gè)關(guān)鍵點(diǎn)位置坐標(biāo),那么某兩幀視頻中的動(dòng)作A 與動(dòng)作B 的相似度便可轉(zhuǎn)化為兩個(gè)向量A 和B之間的相似度。由于跑步過(guò)程中拍攝者對(duì)鏡頭的遠(yuǎn)近會(huì)發(fā)生變化,故首先對(duì)數(shù)據(jù)做L2 范數(shù)歸一化處理,其方法如式⑴和式⑵所示。
在對(duì)比時(shí)間序列時(shí)通常采用歐式距離的方法,但由于視頻長(zhǎng)度的不同導(dǎo)致難以形成一對(duì)一的對(duì)應(yīng)關(guān)系,故采用DTW 算法進(jìn)行時(shí)間序列上的相似度對(duì)比。DTW 算法可通過(guò)壓縮或伸長(zhǎng)時(shí)間序列的長(zhǎng)度對(duì)齊時(shí)間序列并找出對(duì)齊情況下的最小距離。進(jìn)而輸出歸一化后兩條序列的歐式距離。
DTW算法是一種將時(shí)間規(guī)劃與間距測(cè)量相結(jié)合的非線性規(guī)整技術(shù),采用動(dòng)態(tài)規(guī)劃(dynamic programming,DP)的算法思想。若兩視頻幀數(shù)分別為m 和n 的標(biāo)準(zhǔn)動(dòng)作A={a1,a2…am}測(cè)試動(dòng)作B={b1,b2…bn}其中,m 和n 不一定相等。當(dāng)m=n 時(shí),直接計(jì)算兩個(gè)序列的距離即可;當(dāng)m≠n 時(shí),不是通過(guò)簡(jiǎn)單的局部或全局縮放后計(jì)算距離,而是采用動(dòng)態(tài)規(guī)劃的辦法,尋找一條最優(yōu)路徑對(duì)A,B 兩個(gè)模板序列進(jìn)行匹配。構(gòu)造一個(gè)m×n的矩陣用來(lái)存儲(chǔ)A 和B 各幀之間的距離,即矩陣中為(i,j)的元素表示的是A 的第i 幀與B 的第j 幀之間的距離,以dij來(lái)表示。求解這兩個(gè)動(dòng)作樣本本的相似度問(wèn)題就轉(zhuǎn)變成在該矩陣中尋找一條使得A和B之間距離最小的規(guī)整路徑,該路徑起始于(1,1)終止于(m,n)[7]。具體原理如圖3所示。
圖3 DTW算法矩陣圖
累加距離Dij即為當(dāng)前格的距離dij與可以達(dá)到該點(diǎn)的最小的鄰近元素的累加距離之和,表明為兩條序列的距離。公式如下:
Dmn的距離則表示兩序列最小的歐式距離。
通常,在評(píng)估動(dòng)作相似度時(shí)我們需要對(duì)其時(shí)間序列進(jìn)行處理在時(shí)間序列數(shù)據(jù)中,一個(gè)常見的任務(wù)是比較兩個(gè)序列的相似度,并以此作為分類或聚類任務(wù)的基礎(chǔ)。通過(guò)Alphapose 我們可以獲得每幀圖像的17個(gè)關(guān)鍵關(guān)節(jié)點(diǎn)的坐標(biāo),將每幀圖像的關(guān)節(jié)坐標(biāo)點(diǎn)組成特征向量并將其視頻長(zhǎng)度作為時(shí)間序列,將標(biāo)準(zhǔn)序列與自測(cè)序列輸入至DTW 算法可進(jìn)行兩條時(shí)間序列的相似度評(píng)估。具體過(guò)程如圖4所示。
圖4 人體動(dòng)作相似度評(píng)估流程圖
通過(guò)對(duì)相似度的評(píng)估我們可以識(shí)別出運(yùn)動(dòng)標(biāo)準(zhǔn)動(dòng)作與自身所作動(dòng)作的差異性從而規(guī)范自身動(dòng)作使其避免運(yùn)動(dòng)損傷,規(guī)范運(yùn)動(dòng)動(dòng)作等。
以跑步為例,臨床研究認(rèn)為超過(guò)60%的跑步損傷可歸因于訓(xùn)練錯(cuò)誤[8]。當(dāng)跑步姿勢(shì)不正確時(shí)可能會(huì)給身體帶來(lái)如下傷害:肌肉拉傷,膝關(guān)節(jié)受損,踝關(guān)節(jié)扭傷,頸椎損傷,脛骨損傷等。而常見的跑步錯(cuò)誤如邁出步態(tài)距離過(guò)大導(dǎo)致落地點(diǎn)靠前會(huì)產(chǎn)生剎車效應(yīng),跑步過(guò)程中腳尖著地導(dǎo)致腳趾的磨損,擺臂幅度過(guò)大會(huì)導(dǎo)致跑步時(shí)較吃力,跑步時(shí)若身體前傾也會(huì)增加跑步的損傷概率,包括慢跑過(guò)程中若膝關(guān)節(jié)伸直與向內(nèi)擠壓也會(huì)增加膝關(guān)節(jié)的壓力導(dǎo)致膝關(guān)節(jié)磨損,健康的跑步不僅僅要有一個(gè)好的熱身準(zhǔn)備也要取決于跑步時(shí)的跑姿、步態(tài)、步頻,距離,落地點(diǎn)等因素在此基礎(chǔ)上進(jìn)行的合理運(yùn)動(dòng)有助于更好的規(guī)避跑步過(guò)程的運(yùn)動(dòng)風(fēng)險(xiǎn)從而達(dá)到強(qiáng)身健體的目的。
在本次跑步動(dòng)作的相似度分析中選取一組標(biāo)準(zhǔn)跑步動(dòng)作為實(shí)驗(yàn)組,一組自測(cè)動(dòng)作,另一組標(biāo)準(zhǔn)跑步動(dòng)作為對(duì)照組,視頻長(zhǎng)度均取前100 幀為實(shí)驗(yàn)數(shù)據(jù)。其坐標(biāo)移動(dòng)取跑步過(guò)程中較明顯的關(guān)節(jié)點(diǎn)本文取左腳左膝右腳右膝的關(guān)節(jié)點(diǎn)的運(yùn)動(dòng)變化為對(duì)比,最后通過(guò)DTW 算法對(duì)三組跑步時(shí)間序列的整體動(dòng)作的距離進(jìn)行分析。測(cè)試模板如圖5、圖6、圖7所示。
圖5 基準(zhǔn)動(dòng)作模板
圖6 標(biāo)準(zhǔn)動(dòng)作模板
圖7 對(duì)照動(dòng)作模板
下列折線圖分別為左腳,右腳,左腿,右腿的在移動(dòng)過(guò)程中x軸的數(shù)據(jù)如圖8所示。
圖8 關(guān)節(jié)x軸變化折線圖
從圖8折線圖中可分析出,兩條標(biāo)準(zhǔn)跑步動(dòng)作的x軸運(yùn)動(dòng)軌跡較相似則表明本實(shí)驗(yàn)中的算法有效性,而自身跑步過(guò)程中的x 軸軌跡與標(biāo)準(zhǔn)差距較大,則說(shuō)明自身跑步的過(guò)程中步態(tài)過(guò)于隨意且落地點(diǎn)不夠標(biāo)準(zhǔn)(與標(biāo)準(zhǔn)有較大差異)。從本次實(shí)驗(yàn)x軸的關(guān)節(jié)變化中還可看出步頻與標(biāo)準(zhǔn)跑步的不協(xié)調(diào),以及跑步過(guò)程中前后擺動(dòng)幅度的變化較大。運(yùn)動(dòng)過(guò)程中關(guān)節(jié)點(diǎn)DTW距離如表2所示。
表2 關(guān)節(jié)點(diǎn)相似度對(duì)比
通過(guò)分析可知,跑步運(yùn)動(dòng)過(guò)程中由于動(dòng)作幅度的不相同,跑步動(dòng)作會(huì)有較大差異。由于標(biāo)準(zhǔn)序列的DTW 距離都較為相似,進(jìn)而也驗(yàn)證了此算法的有效性。此方式可以在運(yùn)動(dòng)規(guī)范領(lǐng)域進(jìn)行改進(jìn)和推廣。
本文提出了基于Alphapose 檢測(cè)出的人體模型的關(guān)節(jié)點(diǎn)坐標(biāo)歸一化處理后再通過(guò)DTW 算法進(jìn)行動(dòng)作序列的相似度計(jì)算,創(chuàng)新點(diǎn)在于提出高精度多人姿態(tài)識(shí)別系統(tǒng)與相似度算法結(jié)合在運(yùn)動(dòng)領(lǐng)域展開的評(píng)估。以跑步過(guò)程中關(guān)節(jié)點(diǎn)的變化為主線,通過(guò)每幀跑步動(dòng)作中四個(gè)關(guān)節(jié)坐標(biāo)點(diǎn)的變化趨勢(shì),來(lái)判斷自身動(dòng)作的標(biāo)準(zhǔn)與否,并通過(guò)兩條標(biāo)準(zhǔn)跑步動(dòng)作序列驗(yàn)證了算法的有效性,最后得到兩條動(dòng)作序列的DTW 距離,以此為指標(biāo)量化測(cè)試動(dòng)作與標(biāo)準(zhǔn)動(dòng)作的差異度,提供給健身者進(jìn)行運(yùn)動(dòng)動(dòng)作的相關(guān)改進(jìn),從而減少運(yùn)動(dòng)損傷。本文中Alphapose在精準(zhǔn)度與識(shí)別速度上有較大優(yōu)勢(shì),未來(lái)在相關(guān)健身運(yùn)動(dòng)方面有著較為廣闊的應(yīng)用前景。