雷玉超 業(yè) 茜 吳怡菲 吳栩博 李志揚
(華中師范大學(xué) 武漢 430079)
基于機器學(xué)習(xí)的人體動作識別是人工智能領(lǐng)域的一個重要課題,近年來有很多科研人員對基于人體傳感器的動作識別進行了深入研究[1~2]。部分研究人員利用傳感器進行數(shù)據(jù)監(jiān)測與技術(shù)評估,達到體育輔助訓(xùn)練的效果[3~5],宋偉姣采用數(shù)據(jù)挖掘技術(shù)利用改進的Apriori關(guān)聯(lián)規(guī)則算法對采集的數(shù)據(jù)進行多維屬性挖掘,實現(xiàn)了對特定運動員的個性化訓(xùn)練[6];Wang等利用穿戴在身體不同位置的5個加速度計和陀螺儀來識別站、坐、跑、上下樓梯等日常行為活動[7];吳軍等利用深度卷積神經(jīng)網(wǎng)絡(luò)對人體的走、坐、躺、跑、站五類動作進行分類識別,在Actitraker開源數(shù)據(jù)庫上達到了0.9126的識別率[8];黃劉松等采用K近鄰和決策樹算法對乒乓球擊球動作進行識別[9];Long等利用可穿戴傳感器來識別足球、排球、羽毛球和乒乓球這4種體育運動[10];趙聰利用佩戴在運動員左右手腕、腰部和腳踝的4個慣性傳感器進行數(shù)據(jù)采集和羽毛球擊球動作分類識別[11]。作者設(shè)計了一套二層HMM(Hidden Markov Model)羽球動作分類算法,達到了較高的識別率。以上這些基于羽球動作識別的研究由于采用了多個傳感器,大大增加了系統(tǒng)的復(fù)雜性與算法的復(fù)雜度,未能達到實時識別。
本文采用單個加速度傳感器并借助機器學(xué)習(xí)算法搭建了一套羽毛球動作實時識別系統(tǒng)。系統(tǒng)首先對羽球擊球動作進行時序分幀,通過數(shù)據(jù)特征值聚類特性評估挑選聚類特性最明顯的動作特征,極大地降低了算法的復(fù)雜度。同時改進了傳統(tǒng)的HMM訓(xùn)練算法,采用Baum-Welch結(jié)合有監(jiān)督學(xué)習(xí)的方式進行高效訓(xùn)練,提升了擊球動作的實時識別率。
本文采用單個MPU6050三軸加速度傳感器進行擊球動作數(shù)據(jù)采集,傳感器直接粘貼固定在羽毛球拍柄尾端,采集的數(shù)據(jù)為x,y,z三軸的加速度,采樣頻率為200Hz,數(shù)據(jù)精確到小數(shù)點后4位,并通過藍牙模塊傳至上位機。

圖1 樣本訓(xùn)練流程
算法流程主要分為兩個部分,樣本訓(xùn)練與實時識別。圖1給出了樣本訓(xùn)練流程,首先利用小波變換對原始數(shù)據(jù)進行信號去噪。然后通過滑動窗口分割提取單個擊球動作信息,并將其分解成多個元動作,對每個元動作的多個波形特征量(如峰峰值,平均值等)進行K-means聚類精度評估,選擇聚類特性最明顯的特征量作為每一個元動作的特征信息。再對每個元動作進行矢量量化,分配到對應(yīng)的碼本空間,得到該擊球動作的觀測序列。將此序列作為HMM模型訓(xùn)練的輸入,為每一種擊球姿態(tài)建立一個HMM模型,識別擊球時常見的8種擊球動作包括正手搓球、反手搓球、正手撲球、正手推球、正手挑球、反手挑球、正手高遠和反手高遠,訓(xùn)練并優(yōu)化HMM模型參數(shù)直至收斂。

圖2 實時動作識別流程
如圖2所示,實時識別和樣本訓(xùn)練流程基本一致,且動作分幀、特征選擇和矢量量化三個部分,可直接調(diào)用訓(xùn)練樣本流程的最優(yōu)結(jié)果(最優(yōu)分幀幀長、最大聚類特性特征量、最近聚類中心碼值),從而減少數(shù)據(jù)預(yù)處理時間。矢量量化后得到對應(yīng)的觀測序列,利用向前算法求該序列在每個模型下的后驗概率,選擇HMM模型對應(yīng)后驗概率最大的模型,即為對應(yīng)的擊球動作。后續(xù)各小節(jié)將對圖1和圖2中的信號去噪、動作分幀、特征選擇和矢量量化等環(huán)節(jié)進行更詳細的介紹。
本文采用小波變換進行信號去噪處理,通過對原始信號進行小波變換,分解得到對應(yīng)的低頻近似信號與高頻細節(jié)信號。如式(1)所示,采用多層小波變換對低頻近似信號進行迭代分解,以得到更好的有效信號波形,其中S為原始信號,Dn為第n次小波變換變換后的噪聲信號,An為經(jīng)n層小波變換后的有效信號。

每一層小波變換的去噪效果可通過SNR(信噪比)和 MSE(均方差)來衡量,如式(2)、(3)所示,y(i)表示原始信號S,x(i)表示有效信號An,N為信號長度。SNR最大,MSE最小為最佳去噪結(jié)果。

觀察并比較去噪性能參數(shù),發(fā)現(xiàn)采用三層小波變換時,去噪效果最佳,圖3為擊球時x軸加速度數(shù)據(jù)的去噪前后波形示例。

圖3 小波去噪效果圖示例
本文采用固定寬度的滑動窗口進行擊球動作提取,考慮數(shù)據(jù)采樣頻率為200Hz,且羽毛球擊球動作一般不超過1.5s,設(shè)置窗寬為300來提取擊球動作。通過式(4)、(5)計算其凈合加速度對其進行擊球動作提取。

其中ax、ay、az為三軸的加速度,-1為重力加速度分量,故得到a為凈合加速度。am表示第m個樣本點的凈合加速度,Am表示窗寬為300的凈合加速度的平方和的極大值。設(shè)定最低閾值為1,進行極大值重置以便連續(xù)提取多個擊球動作。滑動窗口提取示例結(jié)果如圖4所示。

圖4 滑動窗口
對于提取出來的每一次擊球動作,其數(shù)據(jù)量為300個樣本點,為了減少數(shù)據(jù)量,方便后序的HMM建模等運算,將每一次擊球動作進行分幀處理,并提取每一幀的特征值。然后進行矢量量化,這樣單次的擊球動作就被分解為多個元動作,而且每個元動作的特征向量通過矢量量化后生成一個1維的標量,于是一個擊球動作被劃分為一個與時間序列相關(guān)的n維向量。
動作分幀是為了在充分保證原擊球數(shù)據(jù)特性的情況下,進行降維處理。設(shè)定每個擊球動作分解成n個元動作,則每個元動作的數(shù)據(jù)量為300/n。根據(jù)經(jīng)驗值,本文取n=10,即每個擊球動作分解為10個元動作。針對每一個元動作,它也是一個固定長度的波形,通過對其波形特征值進行聚類特性評估,選取聚類特性較高的兩個特征量作為評估參數(shù)。這里采用公式(6)、(7)、(8)對特征量的聚類特性進行評估,其中k為聚類數(shù)目,即擊球動作類別數(shù)。xi,j表示第i類被識別為第 j類動作的個數(shù),因此式(6)中分母表示第i類動作的總個數(shù)。 λi,j為轉(zhuǎn)移系數(shù),即第i類動作識別為第 j類的權(quán)重。而式(7)中分子表示樣本集合被轉(zhuǎn)移系數(shù)加權(quán)后識別為第 j類的個數(shù),λj表示樣本集合被聚類劃分到動作 j的概率,即動作 j的聚類特性值。式(8)中η表示平均聚類特性值。

通過對分幀后的樣本數(shù)據(jù)的每一幀段取其特征量,計算不同時域和頻域特征量下對應(yīng)的樣本平均聚類特性值,如表1所示,可以看出平均值和峰峰值兩個特征量有較好的聚類特性。

表1 各類特征量的聚類特性值比較
于是選取聚類特性值最高的兩個特征量——峰峰值和平均值作為元動作的特征量,故每個元動作可描述一個包含為x,y,z三軸的峰峰值與平均值信息的6維特征向量。對每個元動作的特征向量進行矢量量化,采用無監(jiān)督學(xué)習(xí)的聚類算法,即進行一個二次聚類的操作,對樣本的所有元動作進行矢量量化。如式(9)、(10)所示,xj為樣本數(shù)據(jù),S={S1,S2,…,Sk}表示樣本劃分的k個空間,μi為樣本處于分類Si的平均值,即為聚類中心點,J表示聚類量化誤差函數(shù)。

最后得到,k取值與量化誤差的對應(yīng)關(guān)系,通過動態(tài)調(diào)整k值并評估其相應(yīng)的聚類誤差與算法時間復(fù)雜度,多次反復(fù)試驗后,得到k=32時聚類誤差與時間復(fù)雜度量化效果最佳。通過矢量量化后的數(shù)據(jù)最終被聚類分析為與時序有關(guān)的一維向量,作為后續(xù)HMM的輸入。
由于羽球動作的時序性,可通過關(guān)于時序的概率模型——隱馬爾科夫模型對擊球動作進行建模。HMM建模主要依賴三個參數(shù)初始概率、轉(zhuǎn)移概率和觀測概率。針對每個擊球動作,建立一套適用于該擊球動作的HMM。每個擊球動作被劃分為具有時序性的n個元動作,通過矢量量化確定了每個元動作對應(yīng)的碼本,即為HMM定義的觀測集合。故每個擊球動作可視為一組長度為n的觀測序列,針對該觀測序列通過Baum-Welch算法利用式(11)~(13)訓(xùn)練每個模型的參數(shù),直到參數(shù)滿足收斂,其中πi為初始概率,aij為轉(zhuǎn)移概率,bj(k)為觀測概率。

由于樣本中針對同一種擊球動作的數(shù)據(jù)集是多個,而訓(xùn)練HMM參數(shù)模型所依據(jù)的樣本為單一樣本,因此可能導(dǎo)致模型數(shù)據(jù)陷入局部最優(yōu)[12],而對其他樣本識別率偏低。
針對多樣本訓(xùn)練,本文提出了兩種方案,其一,均值訓(xùn)練法。針對模型的輸入即樣本的觀測序列做數(shù)據(jù)層融合,對同一模型下的多組訓(xùn)練數(shù)據(jù)取均值后進行模型訓(xùn)練;其二,頻率加權(quán)訓(xùn)練法。以樣本觀測序列在該模型中出現(xiàn)的頻率進行線性加權(quán),對式(11)~(13)進行修正,設(shè)M 個觀察值序列為O(m),m=1,2,…,M ,Pm表示第m個觀測序列出現(xiàn)的頻率。修正公式如下:


表2 HMM三種訓(xùn)練算法的識別率
HMM訓(xùn)練完成后,對任意一個擊球動作觀測序列,通過向前算法,計算該觀測序列在8種擊球動作模型下的后驗概率,找到最大的后驗概率對應(yīng)的模型,此模型對應(yīng)的擊球動作為識別結(jié)果。
實驗數(shù)據(jù)由5位羽毛球運動員兩兩對戰(zhàn)共10場比賽提供,將前5場比賽數(shù)據(jù)作為樣本數(shù)據(jù)進行模型建立與訓(xùn)練,后5場比賽數(shù)據(jù)作為測試數(shù)據(jù)用于實時識別與結(jié)果分析。
由于動作分幀,特征選擇和矢量量化等理論與相關(guān)實驗細節(jié)在上文均已給出,在這里將不做贅述。本文實驗部分主要分析HMM的訓(xùn)練與調(diào)參。HMM的初始概率、轉(zhuǎn)移概率和觀測概率包含著衡量模型大小的重要信息,包括觀測集合大小和狀態(tài)數(shù),并且模型的輸入即觀測序列長度也是模型識別準確與否的決定性因素。本文通過動態(tài)調(diào)整觀測集合大小、狀態(tài)數(shù)和觀測序列長度三個重要參數(shù),建立HMM并進行識別,得到對應(yīng)參數(shù)模型下的平均識別率。

圖5 不同HMM參數(shù)的識別率
如圖5,在觀測集合大小為32的情況下,調(diào)整觀測序列長度與狀態(tài)數(shù)得到對應(yīng)識別率的3維變化圖。通過綜合比較并調(diào)整HMM三個重要參數(shù),最后得出在狀態(tài)數(shù)為9,觀測序列長度為10,觀測集合大小為32的情況下,系統(tǒng)識別率最高,可達94%。
本文提出了一種基于單個加速度傳感器利用無監(jiān)督聚類分析結(jié)合監(jiān)督式模型訓(xùn)練算法進行羽球動作實時識別的方案,對基于不同用戶的8種常見擊球動作可達到94%的識別率,是一種可靠的羽球動作識別方案。該系統(tǒng)可應(yīng)用于運動員智能訓(xùn)練系統(tǒng),針對采集到的不同運動員數(shù)據(jù),通過數(shù)據(jù)挖掘與機器學(xué)習(xí)分析每個運動員的擊球技巧并進行監(jiān)督式學(xué)習(xí),達到提升運動員綜合擊球水平的效果,還可用于業(yè)余羽毛球運動員的娛樂運動。