陳 佩,金立左,李久賢
(東南大學自動化學院,江蘇 南京 210096)
近年來,隨著運動健康的理念深入人心,以智能手環為代表的可穿戴電子設備得到普及[1],市場前景可觀。目前智能手環對人體狀態的識別主要針對如走路、跑步和睡眠等的識別,市面上缺少諸如對打羽毛球等器械運動狀態識別的穿戴設備。為了滿足羽毛球愛好者對運動過程中揮拍狀態識別、記錄的要求,本文設計了一種可穿戴的運動分析裝置來輔助實現揮拍狀態的檢測分析,并將分析結果傳遞給運動者,不僅可以讓運動者知曉自己的揮拍狀態,還能幫助其改善自身球技。
當前,運動分析主要有兩種方法,一是基于慣性傳感器的運動識別[2],該方法主要依賴于對傳感器數據的處理;另一種是基于視頻分析的運動識別[3],該方法依賴于對視頻圖像的處理。由于視頻分析方法的成本較高,本文采用慣性傳感器的方法。基于MPU6050[4]傳感器設計了單片機數據處理系統,選用高性能跨界處理器NXP RT1050[5]作為核心處理器進行數據采集和算法處理,選用串口藍牙透傳模塊進行數據傳輸。通過采集用戶運動時的傳感器數據,經過預處理后進行特征計算與提取,最后通過SVM(support vector machine,支持向量機)分類器[6]進行擊球動作分類,并實時將這些數據通過藍牙上傳至APP供用戶查看。本裝置具有硬件成本低、體積小和功耗低等特點,可以嵌入到羽毛球拍手柄底部,實現揮拍運動分析的功能。
根據擊打羽毛球常見的擊球揮拍方式,本文羽毛球揮拍運動分析裝置的基本功能需求如下:支持高球、推球、挑球和殺球4種正反手共8種擊球方式[7]的分類識別;支持每種擊球揮拍方式的數量統計;支持單種擊球揮拍方式每次擊球力度(速度)的記錄;除此之外,在尺寸和功耗等方面也應滿足一定要求。
系統總體方案包含兩個方面,一是以設備為核心的揮拍運動分析裝置,二是以上位機為核心的終端APP。由于終端上位機只負責接收數據與顯示,故不作詳細說明。揮拍運動分析裝置是本文的核心,其系統結構框圖如圖1所示,它是以NXP RT1050為核心的單片機傳感器信息處理系統,系統傳感器為MPU6050六軸傳感器,可以實時提供運動分析裝置3個方向的加速度和角速度信息,此外裝置還搭載RGB-LED用于顯示裝置的工作狀態。裝置工作時置于球拍手柄底部,通過藍牙和終端連接,連接狀態可通過LED顏色判斷,綠色代表連接成功。
系統硬件主要包括以下模塊。
1)最小系統:最小系統包括RT1050單片機、電源、晶振和調試接口等,負責傳感器數據的采集、處理和識別。
2)傳感器模塊:選用MEMS數字傳感器MPU6050,它由三軸加速度計、三軸陀螺儀和1個DMP單元組成,通過IIC接口將數據傳輸到單片機。
3)無線藍牙模塊:選用串口轉藍牙透模塊,單片機通過UART串口與之相連,設置波特率為115 200bit/s與模塊通信。
4)RGB-LED模塊:設置RGB-LED燈主要是為了顯示裝置的工作狀態,包括充電狀態、連接狀態和運動狀態等。
5)電源模塊:選用線性充電IC TP5410實現鋰電池充放電管理的功能,通過線性穩壓IC輸出多路穩壓電源,保證了系統穩定性和低功耗。

圖1 系統框圖
揮拍運動分析算法部分主要由數據采集、數據預處理、動作捕捉、特征提取和分類識別5個部分組成。算法流程如圖2所示。

圖2 算法流程圖
數據采集,即RT1050單片機通過IIC接口與MPU6050數字傳感器相連,采集三軸的加速度、角速度數據,其采樣速率最高可達400kbit/s。
數據預處理包括數字濾波[8]和特征計算[9]兩個部分。數字濾波用于去除原始數據中的高頻噪聲,特征計算用于對原始數據進行初步特征提取,以便于排除持拍時的方向差異和進行動作捕捉。
2.2.1數字濾波
羽毛球運動的加速度、角速度信號主要為低頻信號。由于信號在傳輸的過程中會受到噪聲的影響,同時球拍的抖動也會引入干擾噪聲,所以必須對采集到的原始信號進行濾波以去除高頻噪聲的干擾。本文設計了低通IIR數字濾波器進行濾波。
2.2.2特征計算
在實際運動中為排除持拍時不同方向的干擾,本文采用計算合加速度信號和合角速度的方法。考慮到揮拍瞬間會產生較大的加速度,故本文采用計算加速度信號方差的方法以捕捉不同的動作[10]。本文將原始信號的合加速度、合角速度和加速度方差作為特征值,構建特征向量。
記t時刻采集到的三軸加速度信號為axt,ayt,azt,三軸角速度為ωxt,ωyt,ωzt。分別計算t時刻的合加速度At、加速度方差Dt、合角速度Wt,計算公式如下:
(1)
(2)
Dt=(|axt|-At)2+(|ayt|-At)2+(|azt|-At)2
(3)
羽毛球運動整個過程是連續的,期間可能產生多種類型的動作,因此動作識別需要提取有效動作區間的數據進行分析。在運動過程中揮拍時的加速度和角速度相對于正常握拍時會有較大的變化,本文基于此通過設置靜態門限閾值捕捉有效揮拍動作窗口。
設Dt±m為t時刻前后m個采樣時間點的合加速度方差,U為靜態門限閾值,將Dt與Dt±m進行比較,若滿足:
Dt-Dt±m≥U
(4)
則t時刻的采樣點可判斷為揮拍中心數據點,之后再合并可能檢測到的相鄰的中心數據點,即可捕捉包含有效運動信息的數據段,相關示意如圖3所示,圖中虛線為捕捉到的揮拍動作窗口,表示單次揮拍動作的有效數據段。
靜態門限閾值可根據不同用戶動作幅度的大小設置不同閾值,也即第一次使用裝置時可以先進行參數校準;由于羽毛球揮拍時間段一般在1s左右,本文裝置的采樣頻率為10Hz,故m可以取5~15。
當捕捉到單次揮拍動作的有效數據段后,只需要合并每一段的合加速度、合角速度和加速度方差構建特征向量即可。假設得到的合加速度特征向量為CA,合角速度特征向量為CW,加速度方差特征向量為CD,則最終提取的特征向量為C,共6m+3維。

圖3 動作捕捉窗口示意圖
CA=[At-m,…,At0,…,At+m]
CW=[Wt-m,…,Wt0,…,Wt+m]
CD=[Dt-m,…,Dt0,…,Dt+m]
(5)
C=[At-m,…,At0,…,At+m,Wt-m,…,Wt0,…,Wt+m,Dt-m,…,Dt0,…,Dt+m]
(6)
特征值提取完成后即可將數據傳入事先訓練好的SVM分類器[11-12]進行分類識別,因此該分類器的性能決定了整個分類過程的準確性,本文在具體實現時移植了LibSVM庫,并采用了RBF(radial basis function)核函數[13]。分類的訓練與使用流程如圖4所示。

圖4 SVM分類器的訓練與使用流程
2.5.1數據集制作
制作時需要專業羽毛球運動員使用帶有揮拍運動分析裝置的球拍示范各種擊球方式的標準動作,采集大量有效數據,之后根據對應的擊球類型標定該數據,完成數據集的制作。
2.5.2模型訓練
模型訓練時,把采集得到的訓練數據按照算法流程進行處理獲得對應的特征向量和人工標記結果,將特征向量和標記放入SVM模型得到訓練模型。
2.5.3交叉驗證
本文采用6折交叉驗證[14]的方法驗證SVM分類器。具體操作時,按照以上數據集制作方法制作了6份不同羽毛球運動員的訓練數據集,依次選擇其中一份作為測試數據,剩下5份作為訓練數據。每次都是首先用訓練數據訓練SVM分類器,然后用該分類器分析測試數據的擊球類型,以達到提升分類器穩定性的目的。用該方法建立的SVM分類器,由于訓練數據來自于廣泛的實驗人群,可以建立一個普適化運動識別模型,因此適合大眾人群的羽毛球運動分析。
本文設計了一款低功耗的用于羽毛球運動的運動分析裝置,可以自動捕捉用戶揮拍的有效動作區間并識別分析出具體的揮拍動作類型,對于提高羽毛球運動愛好者的運動體驗有一定意義。同時,本文設計的運動分析裝置還可以推廣到網球、乒乓球等其他球類運動,具有普適性和推廣價值。