張振鵬,楊 云,陳 亮,何 劍
(中北大學 儀器與電子學院,山西 太原 030051)
越野滑雪(cross-country skiing)是一項追求體能和技術(shù)的冬季運動,滑雪者在雪地上使用滑雪板和桿推動前進,是冬季奧林匹克運動員最古老的比賽項目之一。越野滑雪分為傳統(tǒng)式和自由式,其中,傳統(tǒng)式由幾個子技術(shù)動作組成,包括雙杖推撐(double-rod push-brace,DP)滑行、對角跨步(diagonal stride,DS)和踢腿雙杖推撐(kicking DP,KDP),這些子技巧都是周期性運動執(zhí)行的。滑雪者因為各種地形下子動作的能源成本不同而在子技術(shù)動作之間進行轉(zhuǎn)換[1],不同地形采用合適的技術(shù)動作類型是決定比賽結(jié)果的重要因素之一。因此,準確識別越野滑雪技術(shù)動作能夠有效幫助運動員優(yōu)化滑行策略和改進技術(shù)動作,從而提高比賽成績。
對越野滑雪技術(shù)動作識別主要有3種方法:一種是基于計算機視覺[2],其主要問題是對場地有一定限制,而越野滑雪這種需要較大空間的運動不適合此方法。另一種是基于對運動員裝備的改進[3],但越野滑雪對于設備有很高的要求,專業(yè)運動員需要較長的時間適應改造后的設備,限制了該方法的推廣應用。最后一種是基于可穿戴微型傳感器,用于分析滑雪時的各種循環(huán)特性和子技術(shù)種類。Seeberg T M等人[4]使用全球?qū)Ш叫l(wèi)星系統(tǒng)(GNSS)數(shù)據(jù)和7個慣性測量單元(inertial measurement unit,IMU)組成的多傳感器系統(tǒng),實現(xiàn)了滑雪中的子技術(shù)檢測并鏈接到GNSS數(shù)據(jù),從而將子技術(shù)的檢測和分布與不同地形相關(guān)聯(lián),但由于使用的傳感器數(shù)目過多,使得佩戴過于復雜;Jang J等人[5]提出了一個統(tǒng)一的深度學習模型,用于對經(jīng)典滑雪中使用的3種技術(shù)進行分類,并通過分析5種不同傳感器配置的結(jié)果來優(yōu)化該模型中陀螺儀傳感器的數(shù)量,使用5只IMU傳感器獲得74 %~95 %的準確度。為了解決以上方法所面臨的空間受限、變更裝備及傳感器數(shù)目較多的問題,迫切需求一種越野滑雪運動員動作識別的新方法。
因此,本文提出了一種新的越野滑雪技術(shù)動作識別方法,有效幫助越野滑雪運動員優(yōu)化滑行策略和改進技術(shù)動作。具體是對上肢姿態(tài)參數(shù)和滑雪技術(shù)動作周期進行對照分析,確定利用上肢姿態(tài)參數(shù)進行子動作區(qū)間劃分的方法。對劃分好的IMU數(shù)據(jù)生成時域頻域特征,并對特征進行歸一化和主成分分析(principal component analysis,PCA),設計支持向量機(support vector machine,SVM)分類器實現(xiàn)對越野滑雪技術(shù)動作識別。
越野滑雪的主要子技術(shù)是DP、DS和KDP[6]。兩個滑雪杖可以同時使用,即雙桿推撐滑行,也可以交替使用腳和手臂(如跑步或步行),同時將滑雪杖推向與伸展的滑動滑雪板相反的一側(cè)。在對角跨步中,腿部的運動與普通的步行類似,但步伐更長且更有力。DS適用于水平地面和緩坡上坡。使用DP滑行,2個滑雪杖同時用于推力,會隨著步幅的增加而增大。適用于水平地面和平緩的下坡斜坡[7]。其中,DS需要的氧氣成本最高,與平坦地形上的DS相比,KDP的氧氣成本低16 %,DP的氧氣成本降低26 %。相反在7.1 %坡度的地形上,DS和DP的吸氧量相似[8]。由于在滑雪運動中DP、DS、KDP 3種動作的人體上肢運動方式基本保持一致,它們主要經(jīng)歷3個階段:第一階段是進入推撐狀態(tài)前,運動員身體重心開始前傾,上肢揮桿從默認姿態(tài)到達最高點處;第二階段是進入推撐狀態(tài)后,人體上肢同時發(fā)力,帶動雪杖揮至身體后方最低點處;第三階段是進入恢復狀態(tài),人體依靠慣性驅(qū)動上肢向前運動,將雪杖收回默認姿態(tài)[9]。上肢行為和對應的角速度數(shù)據(jù)對比如圖1所示[10],因此,可以利用上肢的角速度數(shù)據(jù)進行子動作區(qū)間劃分,識別出每個子區(qū)間的開始點和結(jié)束點,再通過所有IMU數(shù)據(jù)生成特征進行模式識別。
圖1 揮杖過程分析
測試數(shù)據(jù)來源于旱地越野滑雪,旱地滑雪是專業(yè)運動員在無雪季節(jié)訓練的重要手段和比賽方式。測試者使用專用的旱地越野滑雪板和滑雪杖在平地測試,數(shù)據(jù)采集結(jié)束對數(shù)據(jù)進行手動標注其所屬的運動類型。慣性測量單元使用的芯片MPU9250,具有三軸加速度、三軸陀螺儀和三軸磁力計,以60 Hz的頻率輸出三軸角度、角速度、加速度。數(shù)據(jù)通過I2C協(xié)議和主控進行通信,IMU數(shù)據(jù)通過藍牙傳輸?shù)絽R集節(jié)點并記錄到SD卡中。
在本文研究中,IMU分別固定在滑雪者左前臂骨骼外側(cè)(S1)和左右小腿脛骨正面位置(S4,S5)。各個IMU的三軸方向如圖2所示,當IMU跟隨運動員移動時,IMU將在定義的解剖平面內(nèi)旋轉(zhuǎn)。
圖2 IMU放置位置和三軸方向示意
S1的y軸角速度原始數(shù)據(jù)如圖3(a),由于受到多種干擾,存在局部偽峰和高頻雜波,因此需要對原始數(shù)據(jù)進行預處理。對S1的y軸角速度進行快速傅里葉變換(fast Fourier transform,FFT)分析信號頻譜,使用 MATLAB的FFTShift對FFT以零為中心平移得到頻譜圖,具體結(jié)果如圖3(b),根據(jù)頻譜圖可得頻域信號主要集中在0~1.2 Hz范圍內(nèi),頻域大于1.2 Hz的高頻部分是導致原始信號震蕩的原因。根據(jù)頻譜圖選擇截止頻率為1.2 Hz,5階的巴特沃斯低通濾波器實現(xiàn)對高頻數(shù)據(jù)的削弱。經(jīng)過低通濾波處理后的y軸角速度如圖3(c),可以看出,經(jīng)過對高頻信號的削弱后,y軸角速度曲線平滑且具有周期性特征。
圖3 數(shù)據(jù)預處理
對越野滑雪動作識別的基礎是在連續(xù)的慣性傳感數(shù)據(jù)中將各個子動作區(qū)間劃分開,慣性參量尋找行進過程中的角速度接近零值點成為動作區(qū)間劃分的關(guān)鍵。根據(jù)上肢的y軸角速度曲線和揮杖過程分析可以得出,極小值點對應揮桿最快瞬間,極大值點對應收桿最快瞬間,只要分別找到2個角速度接近零值點,即可確定子動作的起始和結(jié)束點[11]。圖4中“△”、黑色“〇”標記為過濾后的極大值極小值點。向左遍歷極小值點至角速度為零處即為子動作左邊界,向右遍歷極大值至角速度為零處即為子動作右邊界。實際中,左邊界數(shù)目和右邊界數(shù)目必須一致并且一一對應,兩者之間相隔的時間必須小于一定的閾值才可被視作一次子動作,圖中灰色“〇”標記即為區(qū)間開始和終點。
圖4 子動作區(qū)間劃分
圖5為經(jīng)過子動作區(qū)間劃分的3種子動作DP、DS、KDP的S1的y軸角速度和S4、S5三軸速角度曲線,可以看出,3種動作上肢的行為方式基本一致即從默認姿態(tài)進入推撐狀態(tài)再到恢復狀態(tài),3種子技術(shù)動作的下肢角速度呈現(xiàn)不同的規(guī)律,因此,可以通過特征提取實現(xiàn)模式識別。
圖5 3種子動作DP、DS、KDP的角速度曲線
根據(jù)劃分好的子動作區(qū)間,不同動作因其運動方式的不同導致角速度變化存在一定的差異。設定某慣性參量為{x1,x2,…,xn},使用FFT得到估計功率譜密度,其中的參量為頻率f和頻譜P(f)。生成的特征如表1[12],由于上肢角速度經(jīng)過低通濾波后頻率特性被改變,因此,只選擇S1的y軸角速度12個時域特征,S4、S5的三軸角速度分別有12個時域特征和3個頻域特征,如表1所示生成102維的特征向量。
表1 子動作特征
為了提高計算速度,同時防止某個特征過大或者過小,對訓練起不平衡作用。常見的歸一化包括離差標準化和中心標準化,其中,離差標準化是對原始數(shù)據(jù)進行線性變換,使結(jié)果落到0~1區(qū)間,中心標準化是使所有特征的數(shù)值被轉(zhuǎn)化成為均值為0、標準差為1的正態(tài)分布。相比于中心標準化,離差標準化并不能很好地解決異常值問題。因此,選擇中心標準化對生成的特征進行處理。
特征生成時選擇了IMU時域和頻域共102維的特征,高維度的特征會提供豐富的信息,但增加了問題分析的復雜性。PCA是從原始的空間中順序地找一組相互正交的坐標軸,將n維特征映射到k維上[13]。對經(jīng)過歸一化處理的特征進行PCA,選擇解釋方差大于90 %對特征進行降維,將數(shù)據(jù)維度從102維降至36。
在人體運動識別中,由于樣本數(shù)量有限、樣本維度較高,對分類識別算法具有較高要求。本文采用SVM理論[14,15]設計傳統(tǒng)式越野滑雪動作識別分類器,使用MATLAB的Classification Learner,設置三次多項式作為SVM分類器的核函數(shù)。數(shù)據(jù)包括經(jīng)過歸一化和PCA得到的特征向量和其所屬的運動類型,包括119組DP、133組DS、115組KDP。交叉驗證是在模式識別針對小數(shù)據(jù)集情況下建立模型和驗證模型參數(shù)時常用的辦法。通過交叉驗證把訓練數(shù)據(jù)集拆分為5份并估計每份的準確度來防止過擬合,每次隨機選擇其中4份作為訓練集,剩下的1份做測試集。一輪完成后,重新隨機組合訓練集和測試集,若干輪后即可得到該模型的混淆矩陣。
根據(jù)圖6(a)中SVM的混淆矩陣可以得出該模型的預測準確率達到95.4 %,基本實現(xiàn)3種子動作的有效區(qū)分。為了驗證實驗效果,與常用的KNN[16]進行對比實驗。實驗設置K值為10,得到的混淆矩陣如圖6(b),預測準確率為88.6 %,可以看出,SVM在準確率相較KNN模型上有一定的優(yōu)勢。
圖6 SVM和KNN的混淆矩陣
本文提出了一種基于慣性傳感和自動作區(qū)間劃分的越野滑雪技術(shù)動作識別的方法,實現(xiàn)了3種子動作的有效區(qū)分,能夠為運動員優(yōu)化滑行策略和改進技術(shù)動作提供數(shù)據(jù)支撐。實驗結(jié)果表明:該方法對3種越野滑雪子動作DP,DS,KDP的識別率高達95.4 %。通過和最近鄰算法結(jié)果對比可以得出SVM模式識別具有較高的識別精度,基本實現(xiàn)3種越野滑雪子動作的分類。為基于慣性傳感的越野滑雪動作識別提供了一種可參考的方法。