陳 佩,金立左,李久賢
(東南大學(xué)自動(dòng)化學(xué)院,江蘇 南京 210096)
近年來,隨著運(yùn)動(dòng)健康的理念深入人心,以智能手環(huán)為代表的可穿戴電子設(shè)備得到普及[1],市場(chǎng)前景可觀。目前智能手環(huán)對(duì)人體狀態(tài)的識(shí)別主要針對(duì)如走路、跑步和睡眠等的識(shí)別,市面上缺少諸如對(duì)打羽毛球等器械運(yùn)動(dòng)狀態(tài)識(shí)別的穿戴設(shè)備。為了滿足羽毛球愛好者對(duì)運(yùn)動(dòng)過程中揮拍狀態(tài)識(shí)別、記錄的要求,本文設(shè)計(jì)了一種可穿戴的運(yùn)動(dòng)分析裝置來輔助實(shí)現(xiàn)揮拍狀態(tài)的檢測(cè)分析,并將分析結(jié)果傳遞給運(yùn)動(dòng)者,不僅可以讓運(yùn)動(dòng)者知曉自己的揮拍狀態(tài),還能幫助其改善自身球技。
當(dāng)前,運(yùn)動(dòng)分析主要有兩種方法,一是基于慣性傳感器的運(yùn)動(dòng)識(shí)別[2],該方法主要依賴于對(duì)傳感器數(shù)據(jù)的處理;另一種是基于視頻分析的運(yùn)動(dòng)識(shí)別[3],該方法依賴于對(duì)視頻圖像的處理。由于視頻分析方法的成本較高,本文采用慣性傳感器的方法?;贛PU6050[4]傳感器設(shè)計(jì)了單片機(jī)數(shù)據(jù)處理系統(tǒng),選用高性能跨界處理器NXP RT1050[5]作為核心處理器進(jìn)行數(shù)據(jù)采集和算法處理,選用串口藍(lán)牙透?jìng)髂K進(jìn)行數(shù)據(jù)傳輸。通過采集用戶運(yùn)動(dòng)時(shí)的傳感器數(shù)據(jù),經(jīng)過預(yù)處理后進(jìn)行特征計(jì)算與提取,最后通過SVM(support vector machine,支持向量機(jī))分類器[6]進(jìn)行擊球動(dòng)作分類,并實(shí)時(shí)將這些數(shù)據(jù)通過藍(lán)牙上傳至APP供用戶查看。本裝置具有硬件成本低、體積小和功耗低等特點(diǎn),可以嵌入到羽毛球拍手柄底部,實(shí)現(xiàn)揮拍運(yùn)動(dòng)分析的功能。
根據(jù)擊打羽毛球常見的擊球揮拍方式,本文羽毛球揮拍運(yùn)動(dòng)分析裝置的基本功能需求如下:支持高球、推球、挑球和殺球4種正反手共8種擊球方式[7]的分類識(shí)別;支持每種擊球揮拍方式的數(shù)量統(tǒng)計(jì);支持單種擊球揮拍方式每次擊球力度(速度)的記錄;除此之外,在尺寸和功耗等方面也應(yīng)滿足一定要求。
系統(tǒng)總體方案包含兩個(gè)方面,一是以設(shè)備為核心的揮拍運(yùn)動(dòng)分析裝置,二是以上位機(jī)為核心的終端APP。由于終端上位機(jī)只負(fù)責(zé)接收數(shù)據(jù)與顯示,故不作詳細(xì)說明。揮拍運(yùn)動(dòng)分析裝置是本文的核心,其系統(tǒng)結(jié)構(gòu)框圖如圖1所示,它是以NXP RT1050為核心的單片機(jī)傳感器信息處理系統(tǒng),系統(tǒng)傳感器為MPU6050六軸傳感器,可以實(shí)時(shí)提供運(yùn)動(dòng)分析裝置3個(gè)方向的加速度和角速度信息,此外裝置還搭載RGB-LED用于顯示裝置的工作狀態(tài)。裝置工作時(shí)置于球拍手柄底部,通過藍(lán)牙和終端連接,連接狀態(tài)可通過LED顏色判斷,綠色代表連接成功。
系統(tǒng)硬件主要包括以下模塊。
1)最小系統(tǒng):最小系統(tǒng)包括RT1050單片機(jī)、電源、晶振和調(diào)試接口等,負(fù)責(zé)傳感器數(shù)據(jù)的采集、處理和識(shí)別。
2)傳感器模塊:選用MEMS數(shù)字傳感器MPU6050,它由三軸加速度計(jì)、三軸陀螺儀和1個(gè)DMP單元組成,通過IIC接口將數(shù)據(jù)傳輸?shù)絾纹瑱C(jī)。
3)無線藍(lán)牙模塊:選用串口轉(zhuǎn)藍(lán)牙透模塊,單片機(jī)通過UART串口與之相連,設(shè)置波特率為115 200bit/s與模塊通信。
4)RGB-LED模塊:設(shè)置RGB-LED燈主要是為了顯示裝置的工作狀態(tài),包括充電狀態(tài)、連接狀態(tài)和運(yùn)動(dòng)狀態(tài)等。
5)電源模塊:選用線性充電IC TP5410實(shí)現(xiàn)鋰電池充放電管理的功能,通過線性穩(wěn)壓IC輸出多路穩(wěn)壓電源,保證了系統(tǒng)穩(wěn)定性和低功耗。
圖1 系統(tǒng)框圖
揮拍運(yùn)動(dòng)分析算法部分主要由數(shù)據(jù)采集、數(shù)據(jù)預(yù)處理、動(dòng)作捕捉、特征提取和分類識(shí)別5個(gè)部分組成。算法流程如圖2所示。
圖2 算法流程圖
數(shù)據(jù)采集,即RT1050單片機(jī)通過IIC接口與MPU6050數(shù)字傳感器相連,采集三軸的加速度、角速度數(shù)據(jù),其采樣速率最高可達(dá)400kbit/s。
數(shù)據(jù)預(yù)處理包括數(shù)字濾波[8]和特征計(jì)算[9]兩個(gè)部分。數(shù)字濾波用于去除原始數(shù)據(jù)中的高頻噪聲,特征計(jì)算用于對(duì)原始數(shù)據(jù)進(jìn)行初步特征提取,以便于排除持拍時(shí)的方向差異和進(jìn)行動(dòng)作捕捉。
2.2.1數(shù)字濾波
羽毛球運(yùn)動(dòng)的加速度、角速度信號(hào)主要為低頻信號(hào)。由于信號(hào)在傳輸?shù)倪^程中會(huì)受到噪聲的影響,同時(shí)球拍的抖動(dòng)也會(huì)引入干擾噪聲,所以必須對(duì)采集到的原始信號(hào)進(jìn)行濾波以去除高頻噪聲的干擾。本文設(shè)計(jì)了低通IIR數(shù)字濾波器進(jìn)行濾波。
2.2.2特征計(jì)算
在實(shí)際運(yùn)動(dòng)中為排除持拍時(shí)不同方向的干擾,本文采用計(jì)算合加速度信號(hào)和合角速度的方法??紤]到揮拍瞬間會(huì)產(chǎn)生較大的加速度,故本文采用計(jì)算加速度信號(hào)方差的方法以捕捉不同的動(dòng)作[10]。本文將原始信號(hào)的合加速度、合角速度和加速度方差作為特征值,構(gòu)建特征向量。
記t時(shí)刻采集到的三軸加速度信號(hào)為axt,ayt,azt,三軸角速度為ωxt,ωyt,ωzt。分別計(jì)算t時(shí)刻的合加速度At、加速度方差Dt、合角速度Wt,計(jì)算公式如下:
(1)
(2)
Dt=(|axt|-At)2+(|ayt|-At)2+(|azt|-At)2
(3)
羽毛球運(yùn)動(dòng)整個(gè)過程是連續(xù)的,期間可能產(chǎn)生多種類型的動(dòng)作,因此動(dòng)作識(shí)別需要提取有效動(dòng)作區(qū)間的數(shù)據(jù)進(jìn)行分析。在運(yùn)動(dòng)過程中揮拍時(shí)的加速度和角速度相對(duì)于正常握拍時(shí)會(huì)有較大的變化,本文基于此通過設(shè)置靜態(tài)門限閾值捕捉有效揮拍動(dòng)作窗口。
設(shè)Dt±m(xù)為t時(shí)刻前后m個(gè)采樣時(shí)間點(diǎn)的合加速度方差,U為靜態(tài)門限閾值,將Dt與Dt±m(xù)進(jìn)行比較,若滿足:
Dt-Dt±m(xù)≥U
(4)
則t時(shí)刻的采樣點(diǎn)可判斷為揮拍中心數(shù)據(jù)點(diǎn),之后再合并可能檢測(cè)到的相鄰的中心數(shù)據(jù)點(diǎn),即可捕捉包含有效運(yùn)動(dòng)信息的數(shù)據(jù)段,相關(guān)示意如圖3所示,圖中虛線為捕捉到的揮拍動(dòng)作窗口,表示單次揮拍動(dòng)作的有效數(shù)據(jù)段。
靜態(tài)門限閾值可根據(jù)不同用戶動(dòng)作幅度的大小設(shè)置不同閾值,也即第一次使用裝置時(shí)可以先進(jìn)行參數(shù)校準(zhǔn);由于羽毛球揮拍時(shí)間段一般在1s左右,本文裝置的采樣頻率為10Hz,故m可以取5~15。
當(dāng)捕捉到單次揮拍動(dòng)作的有效數(shù)據(jù)段后,只需要合并每一段的合加速度、合角速度和加速度方差構(gòu)建特征向量即可。假設(shè)得到的合加速度特征向量為CA,合角速度特征向量為CW,加速度方差特征向量為CD,則最終提取的特征向量為C,共6m+3維。
圖3 動(dòng)作捕捉窗口示意圖
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)
特征值提取完成后即可將數(shù)據(jù)傳入事先訓(xùn)練好的SVM分類器[11-12]進(jìn)行分類識(shí)別,因此該分類器的性能決定了整個(gè)分類過程的準(zhǔn)確性,本文在具體實(shí)現(xiàn)時(shí)移植了LibSVM庫,并采用了RBF(radial basis function)核函數(shù)[13]。分類的訓(xùn)練與使用流程如圖4所示。
圖4 SVM分類器的訓(xùn)練與使用流程
2.5.1數(shù)據(jù)集制作
制作時(shí)需要專業(yè)羽毛球運(yùn)動(dòng)員使用帶有揮拍運(yùn)動(dòng)分析裝置的球拍示范各種擊球方式的標(biāo)準(zhǔn)動(dòng)作,采集大量有效數(shù)據(jù),之后根據(jù)對(duì)應(yīng)的擊球類型標(biāo)定該數(shù)據(jù),完成數(shù)據(jù)集的制作。
2.5.2模型訓(xùn)練
模型訓(xùn)練時(shí),把采集得到的訓(xùn)練數(shù)據(jù)按照算法流程進(jìn)行處理獲得對(duì)應(yīng)的特征向量和人工標(biāo)記結(jié)果,將特征向量和標(biāo)記放入SVM模型得到訓(xùn)練模型。
2.5.3交叉驗(yàn)證
本文采用6折交叉驗(yàn)證[14]的方法驗(yàn)證SVM分類器。具體操作時(shí),按照以上數(shù)據(jù)集制作方法制作了6份不同羽毛球運(yùn)動(dòng)員的訓(xùn)練數(shù)據(jù)集,依次選擇其中一份作為測(cè)試數(shù)據(jù),剩下5份作為訓(xùn)練數(shù)據(jù)。每次都是首先用訓(xùn)練數(shù)據(jù)訓(xùn)練SVM分類器,然后用該分類器分析測(cè)試數(shù)據(jù)的擊球類型,以達(dá)到提升分類器穩(wěn)定性的目的。用該方法建立的SVM分類器,由于訓(xùn)練數(shù)據(jù)來自于廣泛的實(shí)驗(yàn)人群,可以建立一個(gè)普適化運(yùn)動(dòng)識(shí)別模型,因此適合大眾人群的羽毛球運(yùn)動(dòng)分析。
本文設(shè)計(jì)了一款低功耗的用于羽毛球運(yùn)動(dòng)的運(yùn)動(dòng)分析裝置,可以自動(dòng)捕捉用戶揮拍的有效動(dòng)作區(qū)間并識(shí)別分析出具體的揮拍動(dòng)作類型,對(duì)于提高羽毛球運(yùn)動(dòng)愛好者的運(yùn)動(dòng)體驗(yàn)有一定意義。同時(shí),本文設(shè)計(jì)的運(yùn)動(dòng)分析裝置還可以推廣到網(wǎng)球、乒乓球等其他球類運(yùn)動(dòng),具有普適性和推廣價(jià)值。