王從政,陳 香,董中飛,張永強,楊基海
(中國科學技術(shù)大學電子科學與技術(shù)系,合肥230027)
手勢識別是人機交互和虛擬現(xiàn)實技術(shù)領(lǐng)域的熱點研究方向之一[1]。目前,基于表面肌電和加速度信號的手勢識別研究取得了較好的進展[2-4]。Anala等[5]利用3軸加速度信號實現(xiàn)了用戶手勢與計算機屏幕的交互。Vasiliki等[6]利用sEMG和ACC信號的分析處理實現(xiàn)了60個希臘字母手勢的識別,平均識別率達到了92%。李國峰等[7]基于MEMS加速度傳感器實現(xiàn)了一種智能輸入系統(tǒng)。本文作者所在的實驗室在僅使用sEMG信號的情況下,實現(xiàn)了16類手勢動作的識別,識別率可達90.3%[8],同時利用sEMG和ACC信號實現(xiàn)了基于手勢控制的虛擬游戲[9]。
現(xiàn)有的手勢識別研究成果多是使用有線信號采集設(shè)備在PC平臺上得到[5,8],采集設(shè)備與 PC之間的連接線不但對使用者造成不便,限制某些動作的執(zhí)行,還會給測量引入工頻干擾,影響采集信號的質(zhì)量,不利于手勢識別技術(shù)的推廣。為解決上述問題,本文工作特色包括:①將用于手勢識別的sEMG和ACC信號采集設(shè)備做成無線模塊[10],使其具有工作獨立、體積小、方便安置于人體等特點;②采用DSP芯片實現(xiàn)手勢動作模式識別算法;③將實時識別的手勢動作結(jié)果以指令的形式發(fā)送到應用模塊,以圖片形式在液晶屏上顯示,同時發(fā)送至紅外遙控編碼實現(xiàn)家用電器的遙控。實驗證明,本手勢交互系統(tǒng)可實現(xiàn)對8類手勢動作的準確識別,且在家用空調(diào)的紅外遙控中得到了成功應用。本系統(tǒng)具有便攜的特點,可推到其他實際應用場合,具有較高的實用價值。
實時手勢交互系統(tǒng)主要包括數(shù)據(jù)采集及無線發(fā)射模塊、無線信號接收及處理模塊和手勢應用模塊,系統(tǒng)結(jié)構(gòu)框圖如圖1所示。數(shù)據(jù)采集模塊具有sEMG和ACC信號獲取、濾波、放大及AD轉(zhuǎn)換功能,無線發(fā)射模塊則是利用單片機控制無線發(fā)射芯片實現(xiàn)對采集數(shù)據(jù)的無線發(fā)送。對于無線信號接收模塊,其功能為通過無線接收芯片實現(xiàn)數(shù)據(jù)接收,利用單片機將接收到的信號實時發(fā)送給信號處理模塊,最后單片機獲取信號處理模塊得到的識別結(jié)果,并將其利用串口傳送給手勢應用模塊。手勢應用模塊根據(jù)其串口接收的命令進行LCD顯示控制及紅外遙控指令發(fā)送。
圖1 系統(tǒng)結(jié)構(gòu)框圖
數(shù)據(jù)采集及無線發(fā)射模塊以單片機C8051F411為核心,其結(jié)構(gòu)框圖如圖2所示,其中,sEMG采集和ACC采集是兩個獨立的模塊,本系統(tǒng)具有5個sEMG采集模塊和1個3D ACC采集模塊。
對于sEMG模塊,首先是利用差分電極[11]進行信號拾取,差分電極即兩個長條形的鍍金焊盤,其中,焊盤長為 10 mm,寬為 2.5 mm,兩者間距為10 mm。接著對sEMG信號進行兩級放大,其中前級放大使用了高輸入阻抗、高CMRR、低電流噪聲的儀表運放AD8220,后級為運放OPA364構(gòu)成的切比雪夫I型1階帶通濾波放大電路,兩級共完成約1 000倍的放大,且濾波電路的通帶范圍為20 Hz~1 000 Hz。最后單片機利用200 ksps的12位AD模塊實現(xiàn)信號采樣,并通過芯片CC2500實現(xiàn)數(shù)據(jù)的無線發(fā)射。該模塊裝配后,尺寸為長35 mm,寬20 mm,厚11 mm。對其性能進行測試后發(fā)現(xiàn),sEMG模塊工作時的信噪比保持在20 dB以上(此處信噪比指做手勢產(chǎn)生的sEMG信號幅度與靜止狀態(tài)下電極測量的噪聲幅度之比),在無線通信的穩(wěn)定性方面,不論電極工作于室內(nèi)或者室外,均可保證7.5 m內(nèi)穩(wěn)定通信。
對于加速度模塊,ACC信號的產(chǎn)生來自芯片MMA7361,該芯片工作于1.5 g模式時可以產(chǎn)生分辨率高達800 mV/g的模擬加速度信號,且其尺寸只有3 mm×5 mm。ACC模塊的濾波部分主要是為了降低ACC信號中的時鐘噪聲,該模塊的采集及發(fā)射部分與sEMG模塊的電路相同。
數(shù)據(jù)采集及無線發(fā)射模塊控制器選用了C8051F411,其具有QFN-28封裝,較小的芯片尺寸有助于縮小電極體積,且無需附加外圍電路,可實現(xiàn)電路的簡化,同時,該控制器具有50 MIPS的高速、流水線結(jié)構(gòu),可以滿足系統(tǒng)的實時處理需要。此外,該單片機還具有豐富的片上外設(shè),其中多通道12位AD轉(zhuǎn)換模塊可方便地實現(xiàn)SEMG和ACC信號的采集,SPI模塊可用于實現(xiàn)無線收發(fā)芯片CC2500的配置和控制。無線收發(fā)芯片選用了 TI公司的CC2500,該芯片具有較小的尺寸,由于其工作在免許可的2.4 GHz頻段,故其所需天線的尺寸也比較小,可將天線集成在PCB板上以達到縮小電極體積的目的。同時,CC2500還具有功耗低等優(yōu)點,有助于降低移動設(shè)備的功耗。
圖2 無線采集模塊結(jié)構(gòu)框圖
該模塊主要由單片機C8051F340和定點DSP組成,結(jié)構(gòu)框圖如圖3所示。該模塊上電后,單片機系統(tǒng)有兩種工作模式:一是通過HPI接口與DSP相互通信,實現(xiàn)數(shù)據(jù)的實時傳送,DSP模塊的主要功能為信號的實時處理及處理結(jié)果的存儲;二是利用單片機的USB接口實現(xiàn)系統(tǒng)與上位機的通信,保證原始信號可以在PC上存儲為數(shù)據(jù)文件。同時,單片機對采樣數(shù)據(jù)的無線接收也使用CC2500芯片實現(xiàn)。最后,該單片機還要利用HPI接口實現(xiàn)通過DSP分析所得手勢分類結(jié)果的實時獲取,并且通過其串口將識別結(jié)果發(fā)送到應用模塊。
本模塊的單片機選用了具有豐富的片上外設(shè)的C8051F340,其中片上的SPI接口可用于無線收發(fā)芯片CC2500的控制及有效數(shù)據(jù)的接收,全速USB模塊可方便的實現(xiàn)單片機與PC的快速數(shù)據(jù)傳輸,片上的UART模塊可用于與應用模塊通信。
定點DSP是本系統(tǒng)的核心處理器,實現(xiàn)數(shù)據(jù)的實時處理并返回手勢動作的識別結(jié)果。TMS320VC5502是TI的16位定點、運行頻率可達300 MHz的高速DSP,具有高性能和低功耗等優(yōu)勢,有利于實現(xiàn)數(shù)據(jù)的實時處理。同時,考慮到信號處理算法對存儲器的要求,該芯片還具有大容量的片上存儲器,即64 KB的DARAM和16 KB的ICache,而且通過其EMIF接口還可以無縫的擴展8 MB的SDRAM,既能滿足當前系統(tǒng)算法的存儲器需要,也為系統(tǒng)算法的升級提供裕量。此外,該處理器還具有多種片上外設(shè),為了實時地從單片機端獲取數(shù)據(jù),其HPI接口可以使其片上DARAM成為8位MCU的外擴SRAM,故DSP通過兩者共用存儲器的方式實現(xiàn)采集數(shù)據(jù)的獲取,同時,其片上還具有DMA模塊,可以高效的實現(xiàn)存儲器內(nèi)部數(shù)據(jù)搬移。
圖3 無線信號接收及處理模塊結(jié)構(gòu)框圖
本模塊是手勢識別系統(tǒng)的核心,其軟件設(shè)計既要能獨立運行,又要聯(lián)系其他模塊,本模塊的單片機端流程圖如圖4所示,DSP端程序流程圖如圖5所示。
圖4 單片機端流程圖
單片機端以20 ms為周期將分別接收的多通道采集數(shù)據(jù)寫入DSP的DARAM,DSP端將每個周期接收的數(shù)據(jù)進行搬移,防止單片機再次寫入數(shù)據(jù)時發(fā)生覆蓋。存儲在緩沖區(qū)內(nèi)的數(shù)據(jù)首先要進行預處理,即低通濾波,降低由于無線通信帶入的噪聲。濾波后的數(shù)據(jù)到手勢識別結(jié)果的輸出主要包含活動段檢測,特征提取和分類算法三部分。
圖5 DSP端程序流程圖
活動段檢測[12]是實現(xiàn)連續(xù)采集數(shù)據(jù)中有實際動作的數(shù)據(jù)段分離。分離后的有效數(shù)據(jù)減小了數(shù)據(jù)量,可以降低系統(tǒng)對處理器的要求。由于sEMG信號幅度與手勢動作有直接聯(lián)系,活動段檢測主要針對sEMG信號進行。本文利用移動窗[8,12]實現(xiàn)活動段檢測,其步驟如下:①對原始信號加窗,再求絕對值之和;②首先將其與動作起始閾值比較(若判斷動作的結(jié)束應與結(jié)束閾值比較),閾值的設(shè)定由實驗確定,當絕對值之和大于起始閾值時,保留其小于結(jié)束閾值前的所有數(shù)據(jù)。
本文對于sEMG信號的特征提取,取每導信號的MAV(絕對值均值)及4階AR模型的前三個系數(shù)[8]組成特征向量,由于有5個sEMG電極,則可得一個20維的特征向量。對于ACC信號的特征提取,通過觀察手勢動作過程中加速度信號的波形變化,對每軸ACC信號進行減采樣得三點數(shù)據(jù),數(shù)據(jù)分別為有效數(shù)據(jù)段的起始點、結(jié)束點及3/4位置點。通過兩類傳感器的特征融合,特征提取的結(jié)果為一個29維的特征向量。對于模式分類算法,本文使用Bayes線性分類器[13]進行分類識別,基本過程為:先采集用戶的若干組動作信號作為訓練樣本,再利用訓練樣本生成的特征向量對分類器進行訓練得到最終的分類器參數(shù)。
該模塊主要有兩大功能,一是展示手勢識別結(jié)果,為系統(tǒng)的手勢識別率統(tǒng)計提供直觀的依據(jù),二是將識別結(jié)果應用于實際用途,即用手勢進行家用空調(diào)的紅外遙控,體現(xiàn)研究的實用價值。模塊的實現(xiàn)框圖如圖6所示。從單片機通過串口實時從主單片機獲取手勢識別結(jié)果,并按照預定編碼在LCD上顯示相應識別結(jié)果并通過紅外發(fā)射電路發(fā)送空調(diào)遙控指令,其中LCD上顯示的結(jié)果圖片存儲于TF卡中,故單片機還需通過SPI接口控制CH376實現(xiàn)TF卡中位圖文件的讀取。
圖6 手勢應用模塊結(jié)構(gòu)框圖
手勢應用模塊的核心單元為單片機C8051F340,該單片機的片上外設(shè)SPI接口可用于操作TF卡的管理芯片CH376,UART模塊用于實現(xiàn)與主單片機的通信,較多的通用IO端口可實現(xiàn)液晶屏顯示及紅外發(fā)射電路的驅(qū)動。系統(tǒng)中兩單片機間的通信是為了傳遞手勢識別結(jié)果,本系統(tǒng)將識別結(jié)果以單字符的形式編碼并傳送,即系統(tǒng)最多可為256種分類動作結(jié)果進行編碼和傳送。由于本研究以空調(diào)紅外遙控為應用實例,考慮到常用空調(diào)遙控的功能有電源關(guān)閉、溫度升降、風向模式(手動或者自動)以及模式正反順序切換(制冷、除濕、送風、制熱),本文以8類動作實現(xiàn)對以上功能的控制,識別結(jié)果的編碼為字符0~7。對于手勢動作的選擇,根據(jù)實驗室的前期研究成果,本文選擇了8類具有高分類準確率的手勢動作,依次為:握拳(HDGP)、伸掌(EXPM)、伸腕(EXWR)、屈腕(FLWR)、伸大指(EXTF)、OK 手勢(OKAY)、握拳后畫0(NUM0)和握拳后畫1(NUM1)。各類手勢動作圖片如圖7所示。
圖7 八類手勢動作
CH376是用于管理TF卡中存儲文件的控制芯片,單片機可以使用SPI接口對其配置及操作,本系統(tǒng)的TF卡內(nèi)存儲了LCD顯示所需的圖片文件,可通過CH376進行文件讀取。LCD顯示選用了高畫質(zhì)的TFT真彩色LCD模塊,單片機利用串口接收動作識別結(jié)果的編碼,并且以編碼為索引讀取TF卡中相應文件,通過解析16色RGB565位圖得到要顯示的數(shù)據(jù)矩陣,最后實現(xiàn)LCD上的畫面顯示。
紅外發(fā)射模塊負責紅外編碼串的發(fā)送,單片機將串口接收的結(jié)果字符依據(jù)手勢動作與紅外發(fā)射指令對應表轉(zhuǎn)換成對應的紅外遙控編碼,實現(xiàn)家用空調(diào)的紅外遙控。本系統(tǒng)使用的紅外發(fā)光二極管是常用的940 nm透明二極管,紅外編碼發(fā)射的載波頻率為38 kHz,其利用定時器通過軟件實現(xiàn),穩(wěn)定的載波頻率使得紅外遙控距離達8 m以上,足以滿足家用空調(diào)遙控的需要。八類手勢動作與紅外遙控指令對應關(guān)系見表1。該模塊的單片機程序是實現(xiàn)相應功能的關(guān)鍵,程序流程圖如圖8所示。
表1 手勢動作與紅外遙控指令對應關(guān)系表
圖8 手勢應用程序流程圖
實時手勢識別系統(tǒng)由數(shù)據(jù)采集及無線發(fā)射模塊、無線信號接收及處理模塊和手勢應用模塊組成。5個表面肌電傳感器和1個3D加速計電極通過無線2.4GHz方式將采集的數(shù)據(jù)實時向空間發(fā)送,主單片機利用CC2500獲取無線數(shù)據(jù),并且有選擇的將其傳輸給PC或者DSP,當DSP收到一段完整數(shù)據(jù)時,經(jīng)過處理會實時的返回識別結(jié)果,從單片機通過主單片機的中轉(zhuǎn)獲取識別結(jié)果,并且將其以圖片顯示和轉(zhuǎn)換成紅外指令發(fā)送。系統(tǒng)的實物圖如圖9所示。
圖9 手勢識別系統(tǒng)實物圖
我們在實驗室環(huán)境下利用本系統(tǒng)首先對3位受試者進行了動作識別測試實驗。測試實驗分為兩種模式:一種為當天訓練方案,即讓受試者在同一天對系統(tǒng)進行訓練和測試;另一種為多天訓練方案,讓受試者分別在多天內(nèi)對手勢識別系統(tǒng)進行訓練,進而得到性能趨于穩(wěn)定的訓練模板。
表2給出了當天訓練方案的實驗結(jié)果,給出了3名受試者,8個動作的測試情況,測試時每個動作重復20次。由表2可知,3名受試者分別得到了100%、98.8%和98.1%的正確識別率。雖然當天訓練方案得到了較高的識別率,但每次使用前都需先訓練系統(tǒng),顯然與系統(tǒng)的實用性不符。
表2 當天訓練方案測試結(jié)果
圖10給出了多天訓練方案的測試實驗結(jié)果,包括2至5天的測試情況,其中第n天使用利用前n-1天采集數(shù)據(jù)訓練好的模板進行測試,每天每個動作測試20次,每天依次給出了HDGP到NUM1的正確識別率。設(shè)計多天訓練測試實驗的目的是試圖為系統(tǒng)訓練出穩(wěn)定的測試模板,使得用戶在對系統(tǒng)進行了一定時間的訓練后可直接使用系統(tǒng),無需每次使用前都對系統(tǒng)進行訓練,增強系統(tǒng)的實用性。觀察圖10所示測試結(jié)果可知,經(jīng)過4天訓練后,系統(tǒng)識別率已基本達到當天測試的水平,即用戶經(jīng)4天訓練可得到較好的分類效果。
圖10 多天訓練方案測試結(jié)果
分析表2和圖10所列數(shù)據(jù)可知,在當天訓練方案中不同受試者的動作識別率有一些差距,這與受試者的訓練程度有關(guān),WCZ為已訓練受試者,而其他兩位是首次參加測試實驗,故前者具有更高的識別率。對于多天訓練方案,有些動作(如 NUM0、NUM1)一直具有較高的識別率,實際應用時可將其設(shè)置為常用功能的控制,同時,對于另外的一些動作(如EXPM、EXWR),經(jīng)過多天測試后識別率也都有較大的提高,若用戶想要得到更高識別率,可在使用系統(tǒng)前延長訓練天數(shù)。
在動作識別測試實驗后,我們進一步從3名受試者中隨機選擇一位進行了空調(diào)紅外遙控性能測試實驗,測試時使用對應的多天訓練模板,受試者每類動作重復240次,得到了表3所示測試結(jié)果。分析表3可知,利用手勢進行空調(diào)紅外遙控的平均失誤率為2.45%,可以基本滿足應用需要。
表3 單人多天模板測試紅外遙控結(jié)果
本文設(shè)計并實現(xiàn)了一套基于定點DSP的實時無線手勢識別系統(tǒng)。該系統(tǒng)采用無線方式傳送手勢動作表面肌電和加速度信號,利用DSP進行實時數(shù)據(jù)處理和手勢動作的實時識別,并將識別結(jié)果轉(zhuǎn)換成控制命令,實現(xiàn)基于手勢動作的家用電器實時控制。對8類動作開展的實時測試和空調(diào)紅外遙控實驗結(jié)果表明,本系統(tǒng)具有較高的識別率,可有效的實現(xiàn)對家用電器的紅外遙控。本研究工作為基于表面肌電和加速計信號的手勢識別研究推進至實用場合進行了一次有意義的嘗試。
[1]Chen Xiang,Zhang Xu,Zhao Zhangyan,et al.Hand Gesture Recognition Research Based on Surface EMG Sensors and 2D-accelerometers[C].Wearable Computers,2007:11-14.
[2]Mohammadreza Asghari Oskoei,Huosheng Hu.Myoelectric Control Systems—A Survey[J].Biomedical Signal Processing and Control,2007,2(4):275-294.
[3]Zhao Zhangyan,Chen Xiang,Zhang Xu,et al.Study on Online Gesture sEMG Recognition[C].LNCS,2007:1257-1265.
[4]王昌喜,楊先軍,徐強,等.基于三維加速度傳感器的上肢動作識別系統(tǒng)[J].傳感技術(shù)學報,2010,23(6):816-819.
[5]Anala Pandit,Dhairya Dand,Sisil Mehta,et al.A Simple Wearable Hand Gesture Recognition Device using iMEMS[C].Soft Computing and Pattern Recognition,2009:592-597.
[6]Vasiliki E,Leontios I.Using Sample Entropy for Automated Sign Language Recognition on sEMG and Accelerometer Data[J].Medical and Biological Engineering and Computing,2010,48(3):255-267.
[7]李國峰,王錦,張勇,等.基于MEMS加速度傳感器的智能輸入系統(tǒng)[J].傳感技術(shù)學報,2009,22(5):643-646.
[8]Chen Xiang,Zhang Xu,Zhao Zhangyan,et al.Multiple Hand Gesture Recognition based on Surface EMG Signal[C].International Conference on Bioinformatics and Biomedical Engineering,2007:506-509.
[9]Xu Zhang,Xiang Chen,Zhao Zhangyan,et al.Hand Gesture Recognition and Virtual Game Control Based on 3D Accelerometer and EMG Sensors[C].International Conference on Intelligent User Interfaces,2009:401-406.
[10]胡巍,趙章琰,陳香,等.無線多通道表面肌電信號采集系統(tǒng)設(shè)計[J].電子測量與儀器學報,2009,23(11):30-35.
[11]HERMIE J.Development of Recommendations for SEMG Sensors and Sensor Placement Procedures[J].Journal of Electromyo-graphy and Kinesiology,2000,10(5):361-374.
[12]尹少華,楊基海.基于遞歸量化分析的表面肌電特征提取和分類[J].中國科學技術(shù)大學學報,2006,36(5):550-555.
[13]汪增福.模式識別[M].合肥:中國科學技術(shù)大學出版社,2010:108-118.