摘 要:基于加速度傳感器的人體動作識別在人機交互領域具有重要意義,為人機提供一種自然、真實的交互方式。本文實現(xiàn)了一種基于單軸加速度傳感器的動作識別系統(tǒng),將一種基于窗口特征的動作識別算法固化在嵌入式處理器中,便于在多種人機交互場合中使用。實驗結(jié)果表明,該系統(tǒng)能夠快速、有效的識別跑步、蹲下、起立、跳躍等基本動作,平均識別率達到94%以上。在虛擬訓練、游戲控制等人機交互的場合,該系統(tǒng)具有重要的應用價值。
關鍵詞:電力論文發(fā)表期刊,加速度傳感器,嵌入式,動作識別,虛擬訓練
人體動作識別是人工智能領域一個重要方向,對于改善人機交互方式有著重要意義。人體動作識別研究目前主要有兩個方向:基于視覺的人體動作識別和基于加速度傳感器的人體動作識別。目前已有多種基于加速度傳感器對人體的動作、姿勢進行識別,并應用到特定場景,但可擴展性不強。并且大多數(shù)系統(tǒng)采用離線分析,影響人機交互的效果。
本文實現(xiàn)了基于嵌入式處理器的人體動作識別,并提出一種新的識別算法對動作進行識別。動作的識別不依賴于主機,因此可以利用該動作識別系統(tǒng)方便的擴展多種應用。
1 系統(tǒng)設計
該系統(tǒng)主要由硬件和軟件兩部分組成,其中硬件部分包括動作識別模塊和數(shù)據(jù)接收模塊,負責信號的獲取與傳輸;軟件部分主要完成嵌入式處理器的數(shù)據(jù)采集和處理、數(shù)據(jù)接收模塊控制器的數(shù)據(jù)接收及上傳等。
1.1硬件設計
硬件部分由動作識別模塊和數(shù)據(jù)接收模塊構(gòu)成。動作識別模塊通過獲取加速度數(shù)據(jù),對特征進行提取、識別,然后通過無線方式將識別后的動作信號發(fā)送到數(shù)據(jù)接收端,數(shù)據(jù)接收模塊通過USB接口與主機傳遞數(shù)據(jù)。
1.1.1動作識別模塊。動作識別模塊主要由嵌入式微處理器、三軸加速度傳感器、無線射頻模塊和電源模塊等部件構(gòu)成;贏RM Cortex-M0的LPC1114微處理器具有高性能、低功耗、簡單指令集、統(tǒng)一編址尋址等優(yōu)點,使得在使用電池情況下續(xù)航時間更長,50MHZ的工作頻率足以滿足運算要求。ADXL345是一款小而薄的超低功耗3軸加速度計,在本系統(tǒng)中,為提高輸出數(shù)據(jù)的穩(wěn)定性,設置感應范圍為±2 g,感應精度為3.9mg,可以滿足人體動作加速度范圍與精度要求。此外,本系統(tǒng)只需單個方向的加速度數(shù)據(jù),因此LPC1114使用單通道ADC對加速度傳感器采樣。NRF24L01是一款工作在2.4-2.5GHz世界通用ISM頻段的單片收發(fā)芯片,輸出功率頻道選擇和協(xié)議的設置可以通過SPI接口進行設置極低的電流消耗。電源模塊使用低壓差線性穩(wěn)壓器件(LDO)SP6201,將鋰電池的12V電壓降至3.3 V,最大可負載200 mA電流,滿足設備需要。
1.1.2數(shù)據(jù)接收模塊。數(shù)據(jù)接收模塊使用USB微控制器CY7C68013A,片內(nèi)集成USB2.0收發(fā)器、智能串行接口引擎、增強型8051微控制器。由于CY7C68013A沒有集成SPI接口控制器,實際中使用GPIO模擬4線SPI與無線射頻模塊NRF24L01進行通信。CY7C68013A不斷掃描無線射頻模塊狀態(tài),當有接收數(shù)據(jù)到來時,使用SPI接收數(shù)據(jù)并通過USB上傳給主機。
1.2軟件設計
軟件設計主要包括兩個部分:動作識別模塊中微處理器LPC1114采集加速度數(shù)據(jù)和動作識別、數(shù)據(jù)接收模塊控制器CY7C68013A的數(shù)據(jù)接收及上傳。
1.2.1動作識別模塊。動作識別模塊的軟件流程主要包括定時獲取加速度傳感器數(shù)據(jù),對數(shù)據(jù)進行濾波處理以消除干擾,然后通過分析動作信號進行動作識別,識別后將動作信號通過無線方式發(fā)送到主機。
(1)濾波處理。為了更好的提取特征和達到較好的識別效果,在對數(shù)據(jù)進行特征提取前要進行濾波處理。999考慮到人的動作量都比較緩慢,屬于低頻信號類,該系統(tǒng)設計了一個4階Butterworth低通IIR數(shù)字濾波器對信號進行濾波。
(2)信號特征提取。為了明顯的區(qū)分跑步、蹲下、起立、跳躍等動作,將加速度傳感器至于腰間,Z軸方向與重力方向平行。微處理器采集加速度傳感器的數(shù)據(jù),將各個動作的加速度信號轉(zhuǎn)化為波形,便于分析和提取各個動作的特征,分別為完成跑步、蹲下、起立、跳躍產(chǎn)生的信號,可以發(fā)現(xiàn)四個動作的波形存在明顯的特征。
本文采用窗口W{l,r,u,d,n,e}(其中l(wèi)、r、u、d分別代表窗口的左、右、上、下邊界,l、r的值是以動作的開始點為基準;n代表落入該窗口點的個數(shù),即閾值;e為精度要求)作為動作的特征信號。根據(jù)每個動作的不同特點,可以對每個動作添加窗口,作為特征信號。以跳躍動作為例,添加三個動作窗口W1、W2、W3。
(3)動作識別算法。動作識別的算法是將傳輸過來的加速度數(shù)據(jù)放入數(shù)據(jù)隊列,考慮到相鄰數(shù)據(jù)變化不是很大,因此,隊列中每傳入4個數(shù)據(jù)進行特征匹配。根據(jù)各個動作的閾值,對隊列里的數(shù)據(jù)進行比較,如果滿足某個動作的特征值,則輸出該動作;反之,則無動作輸出。
1.2.2數(shù)據(jù)接收模塊。數(shù)據(jù)接收模塊中CY7C68013A USB控制器通過不斷查詢NRF24L01的中斷信號來判斷是否有數(shù)據(jù)到來。如果有數(shù)據(jù),通過SPI總線讀取數(shù)據(jù),然后放到USB端口緩沖器,等待主機取走。若主機不讀取數(shù)據(jù),舊數(shù)據(jù)會自動被新數(shù)據(jù)覆蓋,保證數(shù)據(jù)的實時性。
2 結(jié)果分析及討論
為驗證基于窗口特征動作識別的有效性,選取常用的均值(Mean)、方差(Variance or Standard Deviation, STD)、平均絕對偏差(MeanAbsolute Deviation, MAD)三種特征選擇方法與其進行對比。隨機選取20人
進行測試,測試者在不同的環(huán)境下分別進行蹲下、起立、跳躍、跑步四個動作各20次。
從結(jié)果分析,基于窗口特征的識別率和MAD相比,只有較小優(yōu)勢,但明顯優(yōu)于Mean和STD。
結(jié)語
本文實現(xiàn)了一種基于單軸加速度傳感器的動作識別系統(tǒng),利用固定在人體腰部的傳感器獲取動作的加速度數(shù)據(jù),通過固化在嵌入式處理器的動作識別算法對動作進行識別。在進一步的工作中可以結(jié)合角度傳感器、壓力傳感器、紅外傳感器等組成傳感器網(wǎng)絡,同時采用合適的機器學習算法,以實現(xiàn)更加復雜和多樣的人體動作識別。
參考文獻
[1]朱國忠,韋彩虹.基于三維加速度傳感器的人體運動能耗檢測算法的研究[J].傳感技術學報,2011,24(8):1217-1222.
[2]王昌喜,楊先軍.基于三維加速度傳感器的上肢動作識別系統(tǒng)[J].傳感技術學報,2010,23(6):816-819.
轉(zhuǎn)載請注明來自:http://www.jinnzone.com/dianzijishulw/48636.html