文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.174468
中文引用格式: 郭富智,,杜紅棉,李肖姝,,等. 乒乓球/羽毛球運(yùn)動狀態(tài)識別手表的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2018,,44(4):73-76.
英文引用格式: Guo Fuzhi,,Du Hongmian,Li Xiaoshu,,et al. Design of table tennis and badminton movement state recognition watch[J]. Application of Electronic Technique,,2018,44(4):73-76.
近年來穿戴式設(shè)備是開發(fā)的熱點(diǎn)項(xiàng)目,,各種品牌的運(yùn)動手表,、手環(huán)層出不窮,穿戴式運(yùn)動狀態(tài)識別設(shè)備的應(yīng)用前景可觀?,F(xiàn)在市場上的產(chǎn)品對運(yùn)動狀態(tài)識別集中在識別某個(gè)時(shí)間段進(jìn)行的某種運(yùn)動,,如走路、跑步,、睡眠,,缺少對乒乓球、羽毛球運(yùn)動識別的設(shè)備,。而專業(yè)的運(yùn)動識別的設(shè)備集中在視頻圖像的分析[1]和不同部位多傳感器裝置檢測分析[2-3]兩種方式,,兩種方式設(shè)備體積大、成本高,,只適合在實(shí)驗(yàn)室中使用,,不適合向普通大眾推廣。目前運(yùn)動狀態(tài)分類識別算法主要有動態(tài)K近鄰,、決策樹,、隨機(jī)森林、支持向量機(jī),、神經(jīng)網(wǎng)絡(luò)等[4-6],。
為了滿足乒乓球和羽毛球業(yè)余運(yùn)動愛好者對運(yùn)動過程動作狀態(tài)識別記錄的要求,本文將介紹一種運(yùn)動手表的設(shè)計(jì),。它由簡單硬件構(gòu)成,,利用在時(shí)域上分析的隨機(jī)森林分類算法就可以識別乒乓球和羽毛球運(yùn)動的多種狀態(tài)。本設(shè)計(jì)具有體積小,、功耗低,、成本低的特點(diǎn),可以嵌入到現(xiàn)在已有的智能手表中,,做到功能升級,。
1 運(yùn)動狀態(tài)識別總體方案
1.1 運(yùn)動手表硬件設(shè)計(jì)
乒乓球/羽毛球運(yùn)動狀態(tài)識別手表的硬件主要由控制處理核心STM32單片機(jī)、MPU6050傳感器模塊,、BLE 藍(lán)牙模塊,、按鍵模塊,、顯示模塊、電源管理模塊6部分組成,。手表系統(tǒng)工作原理為: 控制處理核心STM32F103通過IIC接口讀取MPU6050的加速度計(jì)和陀螺儀數(shù)據(jù),,利用數(shù)字運(yùn)動處理器(DMP)輸出四元數(shù)后解算得到3軸歐拉角[7]。經(jīng)過數(shù)據(jù)濾波后用相應(yīng)的識別算法對運(yùn)動狀態(tài)進(jìn)行識別,,將識別的信息用OLED顯示屏顯示并通過藍(lán)牙模塊發(fā)送到上位機(jī),。各個(gè)模塊的功能如下。
(1)控制處理核心:選擇意法半導(dǎo)體STM32F103C8T6,,它控制整個(gè)系統(tǒng)的各個(gè)模塊工作狀態(tài),、傳感器數(shù)據(jù)的處理和識別算法的實(shí)現(xiàn)。它運(yùn)算速度快,、體積小,、功耗低、外設(shè)豐富,,滿足腕戴式手表對體積,、速度、功耗的要求,。
(2)傳感器模塊:傳感器采用MEMS數(shù)字傳感器MPU6050,,它由整合了加速度計(jì)、陀螺儀的6軸傳感器和一個(gè)可擴(kuò)展的DMP組成,。相比于多傳感器的方案,,它避免了時(shí)間軸之差的問題,并減小了體積[8],。傳感器通過IIC接口將數(shù)據(jù)傳輸?shù)絾纹瑱C(jī)中,。
(3)BLE藍(lán)牙模塊:選用型號為CC2541的BLE藍(lán)牙串口模塊,BLE技術(shù)具有低成本,、低功耗,、短距離的特點(diǎn)。該藍(lán)牙模塊最高支持2 Mbit/s的傳輸速率,,工作電流小于20 mA,,滿足系統(tǒng)UART串口設(shè)計(jì)的115 200 bit/s波特率的通信要求。
(4)按鍵模塊:主要完成模式選擇以及手表的開關(guān)機(jī),。
(5)顯示模塊:選用0.96英寸OLED顯示屏,,顯示單元能夠自發(fā)光,。全屏點(diǎn)亮?xí)r功耗為0.08 W,,正常全屏顯示漢字僅需0.06 W,很符合手表低功耗的要求,。
(6)電源管理模塊:選用 TD8208升壓芯片將3.7 V鋰電池升壓到5 V,,再經(jīng)過AP2125K-3.3芯片降壓到3.3 V,。兩款電源芯片均有輸出使能端,可通過控制使能端實(shí)現(xiàn)對其他模塊的電源管理,。
手表硬件連接圖如圖1所示,。
1.2 運(yùn)動手表系統(tǒng)狀態(tài)設(shè)計(jì)
系統(tǒng)設(shè)計(jì)主要有關(guān)機(jī)狀態(tài)、時(shí)間顯示狀態(tài),、模式選擇狀態(tài),、乒乓球模式、羽毛球模式,、自識別模式6個(gè)狀態(tài),,各個(gè)狀態(tài)通過按鍵選擇進(jìn)行切換,狀態(tài)轉(zhuǎn)換圖如圖2所示,。
由圖2可知,,系統(tǒng)初始狀態(tài)為關(guān)機(jī)狀態(tài),通過長按開關(guān)機(jī)鍵使系統(tǒng)開機(jī)并進(jìn)入時(shí)間顯示狀態(tài),。如果不進(jìn)行按鍵選擇,,系統(tǒng)將保持在時(shí)間顯示狀態(tài)。如果按動選擇按鍵,,系統(tǒng)將跳轉(zhuǎn)到模式選擇狀態(tài),,再通過按動模式選擇按鍵進(jìn)入對應(yīng)的工作模式。如果進(jìn)入乒乓球模式或羽毛球模式,,就對運(yùn)動中揮臂,、揮拍、正反手等動作進(jìn)行識別,。如果選擇自識別模式,,系統(tǒng)先識別當(dāng)前運(yùn)動是乒乓球運(yùn)動還是羽毛球運(yùn)動,識別成功后再自動跳轉(zhuǎn)到對應(yīng)的模式下進(jìn)行運(yùn)動狀態(tài)識別,。如果需要重新選擇運(yùn)動模式,,通過返回按鍵使系統(tǒng)返回到時(shí)間顯示狀態(tài),重復(fù)上述選擇方法進(jìn)行模式選擇,。
2 運(yùn)動狀態(tài)識別算法設(shè)計(jì)
運(yùn)動狀態(tài)識別主要由數(shù)據(jù)采集,、數(shù)據(jù)預(yù)處理、特征提取,、分類識別4部分組成,。識別流程及結(jié)構(gòu)如圖3所示。
2.1 數(shù)據(jù)采集
STM32F103C8T6單片機(jī)通過IIC接口讀取MPU6050的加速度,、角速度,、角度數(shù)據(jù),將采集的數(shù)據(jù)緩沖到各自對應(yīng)的數(shù)組中,,完成基本的數(shù)據(jù)采集,。
2.2 數(shù)據(jù)預(yù)處理
數(shù)據(jù)預(yù)處理分3步完成,,依次為重力加速度分離、過濾平滑,、數(shù)據(jù)分窗[4],。
(1)重力加速度分離:加速度傳感器輸出的原始數(shù)據(jù)中包含重力加速度分量,而X,、Y,、Z軸是固定的,運(yùn)動手表發(fā)生普通旋轉(zhuǎn)和翻轉(zhuǎn)時(shí),,重力加速度則對3個(gè)軸產(chǎn)生加速度分量,。為了避免重力加速度分量引進(jìn)的干擾,本設(shè)計(jì)對傳感器采集的3軸加速度進(jìn)行重力加速度分離,。重力加速度分離采用高通濾波的方法[5],,求解公式如下:
式中G代表各軸重力加速度分量,A代表加速度傳感器原始測量數(shù)值,。提取出重力加速度分量后,,用加速度傳感器原始數(shù)值減去重力加速度分量得到實(shí)際運(yùn)動產(chǎn)生的加速度值。
(2)過濾平滑:數(shù)據(jù)的平滑與過濾是為了過濾噪聲和異常數(shù)據(jù),,本設(shè)計(jì)采用連續(xù)滑動20點(diǎn)均值做平滑濾波,,即設(shè)置一個(gè)容量為20個(gè)數(shù)據(jù)點(diǎn)的FIFO,把FIFO內(nèi)的20個(gè)數(shù)據(jù)點(diǎn)的均值作為一個(gè)新的采樣點(diǎn),,且濾波后使得提取的特征具有更明顯的區(qū)分度,。數(shù)據(jù)平滑處理前后波形圖如圖4所示。
(3)數(shù)據(jù)分窗:本設(shè)計(jì)采用動態(tài)窗口的方法對數(shù)據(jù)進(jìn)行分窗處理,,窗口大小的設(shè)置是一個(gè)不定的參數(shù),,通過實(shí)驗(yàn)事先設(shè)置好3軸加速度的閾值,當(dāng)X,、Y,、Z任一個(gè)軸加速度值大于對應(yīng)的閾值時(shí),觸發(fā)開啟窗口,,當(dāng)觸發(fā)開啟窗口的那個(gè)軸的加速度值小于對應(yīng)的閾值時(shí)就關(guān)閉窗口,。即系統(tǒng)窗口只顯示加速度大于閾值的這段時(shí)間內(nèi)的數(shù)據(jù)。因?yàn)橹挥羞\(yùn)動時(shí)才會產(chǎn)生相對較大的加速度,,而系統(tǒng)主要識別運(yùn)動過程中的不同狀態(tài),,所以這樣就無需對非運(yùn)動狀態(tài)下進(jìn)行識別,減少識別誤差,。加速度動態(tài)分窗示例圖如圖5所示,。
2.3 特征提取
特征提取集中在窗口開啟的這段時(shí)間內(nèi),主要提取各軸加速度,、角速度,、角度的最大及最小值和角度的積分面積等主要特征[9]。
以乒乓球橫板握法正反手的一組數(shù)據(jù)為例,,如圖6所示,,X軸角速度的最小值在正反手揮拍中有明顯差別,所以將X軸角速度的最小值作為識別正反手的一個(gè)重要特征,。
本設(shè)計(jì)只使用了最大值,、最小值、積分面積3個(gè)統(tǒng)計(jì)量作為特征,,并沒有使用復(fù)雜的時(shí)頻特征和頻域特征,,主要有兩個(gè)原因:
(1)經(jīng)過試驗(yàn)發(fā)現(xiàn),最大值,、最小值,、積分面積這3個(gè)特征在運(yùn)動狀態(tài)的識別中區(qū)分度較大,已經(jīng)能夠達(dá)到一個(gè)較好的識別效果,;
(2)本手表是基于STM32單片機(jī)平臺設(shè)計(jì)的,,其浮點(diǎn)計(jì)算能力有限,不適合提取計(jì)算量較大的時(shí)頻特征和頻域特征[4],。
所以本設(shè)計(jì)中沒有使用時(shí)頻特征和頻域特征,,而把前期的數(shù)據(jù)處理作為識別的重要前提,并通過基于時(shí)間跨度的動態(tài)分窗方式,,結(jié)合隨機(jī)森林算法,,對不同的運(yùn)動狀態(tài)進(jìn)行分類識別。
2.4 分類識別
基于本設(shè)計(jì)自身硬件屬性,,對比并試驗(yàn)了當(dāng)前普遍使用的識別分類算法,,結(jié)果發(fā)現(xiàn)隨機(jī)森林分類算法在本系統(tǒng)上有著計(jì)算效率和識別準(zhǔn)確率較高的特點(diǎn),因此選擇隨機(jī)森林作為本系統(tǒng)的分類算法,。隨機(jī)森林算法實(shí)現(xiàn)原理圖如圖7所示,。
通過大量的測試實(shí)驗(yàn)最終確定本設(shè)計(jì)選取X軸角速度最大值和最小值、X軸角度最小值和積分面積,、Y軸角速度最小值,、Y軸角度最大值和最小值、Z軸角速度最大值8個(gè)有著明顯區(qū)分度的特征值,。每次在動態(tài)窗口中提取上述8個(gè)特征,,將提取的特征依次和每個(gè)運(yùn)動狀態(tài)的特征樹進(jìn)行擬合,擬合特征最多的那棵樹就識別為本次運(yùn)動的狀態(tài),。
特征區(qū)間的設(shè)定上,,本設(shè)計(jì)以專業(yè)運(yùn)動員的訓(xùn)練數(shù)據(jù)為參考,如圖6所示的數(shù)據(jù),,橫板握法的正反手各自特征樹上X軸角速度特征區(qū)間分別為[-150 -80],,[-70 0],。其他特征區(qū)間的參數(shù)整定方法同上,這里不再贅述,。
3 手表測試
本次測試方法為隨機(jī)選取乒乓球和羽毛球業(yè)余運(yùn)動員各一位,,使用本手表在相應(yīng)的運(yùn)動中進(jìn)行測試,主要記錄人工識別計(jì)數(shù)和設(shè)備識別計(jì)數(shù),,并做比對,,分析誤差。具體測試數(shù)據(jù)如表1,、表2所示,。
從實(shí)驗(yàn)結(jié)果可以看出,設(shè)備識別計(jì)數(shù)準(zhǔn)確率在90%以上,。運(yùn)動中對正手揮拍識別比實(shí)際揮拍數(shù)多,,而反手揮拍識別計(jì)數(shù)要實(shí)際揮拍數(shù)少,分析原因發(fā)現(xiàn),,因?yàn)橄到y(tǒng)動態(tài)窗口開啟的閾值是預(yù)先設(shè)定值,,反手揮拍中動作幅度比較小時(shí)加速度值沒有達(dá)到開啟閾值,所以計(jì)數(shù)要小于實(shí)際數(shù),??梢酝ㄟ^減小開啟閾值來提升反手揮拍的識別率,但同樣不能使開啟閾值太小,,否則手腕部一些非運(yùn)動狀態(tài)也會觸發(fā)開啟窗口引起識別誤差,,使正手揮拍識別數(shù)遠(yuǎn)大于實(shí)際數(shù)。因此窗口開啟閾值的設(shè)定也是設(shè)計(jì)的關(guān)鍵,。本系統(tǒng)乒乓球模式下閾值為1 m/s2,,羽毛球模式下閾值為1.2 m/s2。
4 結(jié)論
本文設(shè)計(jì)的手表采用STM32F103+MPU6050方案,,成本低,、功耗低、體積小,,且對乒乓球和羽毛球運(yùn)動過程中主要運(yùn)動特征識別較為準(zhǔn)確,,效果較好,識別率均在90%以上,。該手表滿足普通大眾的應(yīng)用,,可進(jìn)一步推廣。
參考文獻(xiàn)
[1] 梅江元,,司玉林,,高會軍.跨攝像頭運(yùn)動目標(biāo)檢測與識別[J].自動化技術(shù)與應(yīng)用,2011,30(11): 43-46.
[2] EMMANUEL M T.Using machine learning for real-time activity recognition and estimation of energy expenditure[D].Cambridge:MIT,,2008.
[3] 胡小華,,李向攀,祁洋陽,,等.可穿戴式人體姿態(tài)檢測系統(tǒng)設(shè)計(jì)[J].電子技術(shù)應(yīng)用,,2017,43(9): 13-16.
[4] 彭際群.基于加速度傳感器的人體運(yùn)動狀態(tài)識別研究[D].哈爾濱: 哈爾濱工業(yè)大學(xué),,2014.
[5] 潘敬奎.人體運(yùn)動識別與綜合分析系統(tǒng)[D].上海:東華大學(xué),2016.
[6] KHAN A M,,LEE Y K.A triaxial accelerometer-based physical-activity Recognition via augmented-signal features and a hierarchical recognizer[J].IEEE Transactions on Information Technology in Biomedicine,,2010,14(5):1166-1172.
[7] 張昊,,葉宇煌.基于微慣性傳感器的測斜儀姿態(tài)算法的研究[J].微型機(jī)與應(yīng)用,,2017,36(1): 15-17.
[8] 于學(xué)鑫.基于MPU6050的微小型無人機(jī)AHRS設(shè)計(jì)研究[D].呼和浩特:內(nèi)蒙古工業(yè)大學(xué),,2016.
[9] 湯志貴,,冉慶澤,張學(xué)鋒,,等.基于OpenGL乒乓球機(jī)器人手臂分解加速度仿真[J].安徽工業(yè)大學(xué)學(xué)報(bào),,2014,31(2): 167-172.
作者信息:
郭富智,,杜紅棉,,李肖姝,秦泗超,,葛 竹
(中北大學(xué) 儀器科學(xué)與動態(tài)測試教育部重點(diǎn)實(shí)驗(yàn)室,,山西 太原030051)