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