王增崢,洪昕
大連理工大學(xué) 生物醫(yī)學(xué)工程學(xué)院,遼寧 大連 116000
手勢是人類最早使用且極具表現(xiàn)力的交流方式之一。手勢識別技術(shù)不僅在自然用戶界面發(fā)展中有著十分重要的地位,在康復(fù)醫(yī)療[1-3]、假手控制[4]以及臨床醫(yī)療[5-6]等領(lǐng)域都有著有廣泛的應(yīng)用。目前,手勢識別依靠的技術(shù)方法多種多樣,從最早的通過傳感器獲得關(guān)節(jié)彎曲角度來實現(xiàn)識別的數(shù)據(jù)手套[7],到當(dāng)下主流的計算機視覺識別方法[8-11],此外還有依靠超聲波的多普勒效應(yīng)和飛行時間進行手勢的方法[12],利用電磁波進行識別等?;诒砻婕‰娦盘柕氖謩葑R別的方法以其受外界情況干擾小、信號超前于肌肉力、移動性好以及成本低廉等特點,在眾多手勢識別的方法中具有其獨特的優(yōu)勢。
由于表面肌電信號具有較強的時序性,因此常用活動段分割的方式來截取表面肌電信號,并通過活動段內(nèi)提取出的多種不同特征來表征原始表面肌電信號[13]。提取的特征通常選用時域特征(如積分肌電值、均方根值、過零點數(shù)和斜率變化數(shù)等)、頻域特征(如平均功率頻率和中位頻率等)以及通過時頻域分析(如Wingner-Ville變換及小波變換等)得到的特征。而后,將特征向量輸入手勢識別模型中進而得到識別結(jié)果。常用的手勢識別方法有基于模板匹配的動態(tài)時間歸整算法、基于神經(jīng)網(wǎng)絡(luò)的算法、基于統(tǒng)計學(xué)理論的支持向量機算法以及隱馬爾科夫模型等等。而基于卷積神經(jīng)網(wǎng)絡(luò)的手勢識別方法,區(qū)別于以上所有的方法,它不再依靠人工設(shè)計的方法來提取特征,可以直接利用原始的肌電信號,這不僅規(guī)避了復(fù)雜且計算量很大的信號預(yù)處理部分,也解決了特征選擇具有的局限性的問題。但在實際的動態(tài)手勢識別中,僅依靠表面肌電信號進行識別不能很好地表征手勢在運動中的特征。因此,我們引入了能表征運動特征的加速度流以及陀螺儀流,并給出了適應(yīng)情況的肌電流、加速度流以及陀螺儀流的三分支結(jié)構(gòu)。
卷積神經(jīng)網(wǎng)絡(luò)作為圖像識別領(lǐng)域內(nèi)應(yīng)用最為廣泛的方法,在深度識別領(lǐng)域有著十分重要的地位。受哺乳動物視覺分級進行信息處理的方式啟發(fā),卷積神經(jīng)網(wǎng)絡(luò)同樣具有多層結(jié)構(gòu),主要包含輸入層、卷積層、池化層、全連接層以及輸出層,其中卷積層與池化層是卷積神經(jīng)網(wǎng)絡(luò)用來獲取特征和合并特征的特有結(jié)構(gòu)。在一個卷積神經(jīng)網(wǎng)絡(luò)中,通常有多個卷積層與池化層逐級提取各個層次的特征,對它們的設(shè)計也通常決定了網(wǎng)絡(luò)性能的優(yōu)劣。
因要表征動態(tài)手勢的不同要素,有多種不同的數(shù)據(jù)有待通過卷積神經(jīng)網(wǎng)絡(luò)進行識別,但不同數(shù)據(jù)之間是具有顯著差異的。如果直接將各種數(shù)據(jù)合并在一起作為輸入,那么在特征提取的過程中,各種數(shù)據(jù)間的變化將被突出,而每種數(shù)據(jù)的特征將被弱化。因此,我們嘗試將多種數(shù)據(jù)分別進行特征提取。在我們動態(tài)手勢識別的情境中,肌電信號、加速度信號以及陀螺儀信號都有較強的時序性,將多路信號并排構(gòu)成二維信號,此時信號兩個維度的含義是有差別的,一個是時間特征,另一個是空間特征。因此,二維卷積神經(jīng)網(wǎng)絡(luò)中二維的卷積核和特征圖并不適合,我們選擇更適合處理自然語言的一維卷積來提取特征。
實際實現(xiàn)時,我們將三路輸入分別用卷基層提取特征,而后將三路輸出進行融合,得到最終的類別結(jié)果。三路支流分別是肌電(Electromyogrphy,EMG)流、加速度(Acceleration,ACC)流和陀螺儀(Gyroscope,GYR)流,三路支流數(shù)據(jù)先分別多次經(jīng)過卷積層提取特征以及池化層壓縮特征;之后再將輸出進行融合,并通過全連接層、dropout層以及softmax層,最終得到整個神經(jīng)網(wǎng)絡(luò)最終的類別判斷的結(jié)果。優(yōu)化的多流卷積神經(jīng)網(wǎng)絡(luò)的具體結(jié)構(gòu)如圖1所示。
圖1 多流卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
數(shù)據(jù)輸入后,首先經(jīng)過卷積層進行特征提取。卷積層作為卷積神經(jīng)網(wǎng)絡(luò)的核心,通過用多個卷積核分別對輸入信號進行卷積的方式獲取輸出。通常卷積核的大小遠(yuǎn)小于輸入信號大小,僅與信號的局部感受野進行卷積,并通過窗口滑動的方式覆蓋整個信號。具體計算時,如公式(1)所示:
在卷積層之后,我們采用池化層對輸入的特征圖進行特征選擇以及信息過濾。與卷積層類似,池化層取一個局部區(qū)域進行特征提取,通常采用對這一區(qū)域取最大值(最大值池化)或是平均值(均值池化)的方式,且不受反向傳播的作用。具體計算時,如公式(2)所示:
在卷積層與池化層之后,將三路輸出平攤成一維向量合并后輸入全連接層,對特征進行加權(quán)求和。并加入dropout層通過隨機令一些神經(jīng)元失效,以降低參數(shù)之間耦合的方式來規(guī)避過擬合。最終,采用softmax層實現(xiàn)多分類,將全連接層的輸出映射到(0,1)區(qū)間,并以概率的方式給出最終的結(jié)果。
數(shù)據(jù)采集設(shè)備采用的是加拿大Thalmic Labs實驗室推出的創(chuàng)新型臂環(huán)——MYO臂環(huán)[14],擁有八個通道的表面肌電信號傳感器,每個通道等間距排列,具體如圖2所示。
圖2 MYO臂環(huán)輪廓
除了肌電信號傳感器以外,MYO臂環(huán)還配有加速度傳感器和陀螺儀傳感器,并能將這三類信號通過低功率的藍(lán)牙傳出。MYO臂環(huán)不僅可以實現(xiàn)信號的無線傳輸,而且佩戴方便、有松緊扣,不同身體條件的使用者都可以舒適地佩戴MYO臂環(huán)。在手勢識別這個項目中,使用者大概率會處在的長時間佩戴手語識別設(shè)備的狀態(tài),這樣MYO臂環(huán)良好的移動性、不受環(huán)境影響、價格低廉和可調(diào)節(jié)的前臂圍范圍能適用于絕大多數(shù)人的特點具有一定優(yōu)勢。
選用的五個動態(tài)手語孤立詞分別是,大家、高興、進步、吃和加油,參考《中國手語》[15],具體如圖3所示。
圖3 選取的動態(tài)手語孤立詞
每個手勢采集了500組,每個表面肌電信號片段大小為100×16,加速度信號片段和陀螺儀信號片段大小為100×6。
實驗使用TensorFlow框架來搭建卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)對動態(tài)手勢數(shù)據(jù)的訓(xùn)練識別,采用python語言編程,并利用可視化工具tensorboard獲取訓(xùn)練數(shù)據(jù)。
在實驗中,我們設(shè)置了兩種卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。第一種為1.2中給出的多流卷積神經(jīng)網(wǎng)絡(luò),每個數(shù)據(jù)流設(shè)置相同,具體如下:第一個卷積層的參數(shù)為outputcurves=48,kernelsize=3;第一個池化層采用最大池化scale=3;第二個卷積層參數(shù)為 outputcurves=128,kernelsize=3;第三個卷積層參數(shù)為outputcurves=152,kernelsize=3;第二個池化層采用最大池化scale=2。第二種采用常規(guī)卷積神經(jīng)網(wǎng)絡(luò),其結(jié)構(gòu)參數(shù)設(shè)置與第一種一致,不過將三種輸入信號合并,即輸入100×28的信號片段。兩種網(wǎng)絡(luò)結(jié)構(gòu)我們設(shè)置相同的迭代次數(shù)numepochs=700。實驗得到的結(jié)果如圖4、圖5所示。
圖4 多流卷積神經(jīng)網(wǎng)絡(luò)結(jié)果
圖5 常規(guī)卷積神經(jīng)網(wǎng)絡(luò)結(jié)果
觀察圖4可以發(fā)現(xiàn),多流卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練集與測試集的準(zhǔn)確率在200次訓(xùn)練之前迅速上升,在測試集準(zhǔn)確率達(dá)到98%之后趨于穩(wěn)定;而交叉熵?fù)p失與之對應(yīng)同樣在200次訓(xùn)練之前迅速降低,而后趨于平穩(wěn)。我們可以認(rèn)為多流卷積神經(jīng)網(wǎng)絡(luò)對動態(tài)手勢有較好的識別效果。
觀察圖5可以發(fā)現(xiàn),卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練集與測試集的準(zhǔn)確率在200次訓(xùn)練之前有所上升,之后訓(xùn)練集的準(zhǔn)確率維持在80%以上,但測試集準(zhǔn)確率卻開始降低;而交叉熵?fù)p失與之對應(yīng)訓(xùn)練集與測試集同樣在200次訓(xùn)練之前迅速降低,之后訓(xùn)練集逐漸趨于穩(wěn)定,而測試集卻集迅速上升,呈現(xiàn)出典型的過擬合現(xiàn)象,識別效果不理想。
分析其原因是多種不同的數(shù)據(jù)有通過卷積神經(jīng)網(wǎng)絡(luò)進行識別時,由于數(shù)據(jù)之間是具有顯著差異,直接將各種數(shù)據(jù)合并在一起輸入,那么在特征提取的過程中,各種數(shù)據(jù)間的差異作為特征將被突出,而每種數(shù)據(jù)的特征被弱化。此時,常規(guī)的卷積神經(jīng)網(wǎng)絡(luò)出現(xiàn)的過擬合情況與輸入數(shù)據(jù)有強噪聲而產(chǎn)生的過擬合情況類似。與之對應(yīng),我們可以認(rèn)為多流卷積神經(jīng)網(wǎng)絡(luò)可以有效識別多種不同的數(shù)據(jù)的輸入,而規(guī)避因此出現(xiàn)的過擬合情況。
本文針于動態(tài)手勢識別給出了一種基于多流卷積神經(jīng)網(wǎng)絡(luò)的識別方法,主要有兩個創(chuàng)新:其一,選用的卷積神經(jīng)網(wǎng)絡(luò)可以直接利用原始的肌電信號,不依靠人工設(shè)計的方法來提取特征,這不僅規(guī)避了復(fù)雜且計算量很大的信號預(yù)處理部分,更是解決了特征選擇具有局限性的問題;其二,針對肌電信號進行識別不能很好地表征手勢運動特征的問題,我們引入加速度流以及陀螺儀流,并給出了適應(yīng)情況的肌電流、加速度流以及陀螺儀流的三分支結(jié)構(gòu)。實驗表明,給出的多流卷積神經(jīng)網(wǎng)絡(luò)擁有較高的數(shù)據(jù)流類別判別的準(zhǔn)確率,以及有效的動態(tài)手勢識別效果。我們認(rèn)為這種多流網(wǎng)絡(luò)結(jié)構(gòu),對于有多種不同的待識別數(shù)據(jù),并且不同數(shù)據(jù)間存在明顯差異的情況有一定借鑒意義。