鮑 磊,羅志增,席旭剛,李文國
(杭州電子科技大學機器人研究所,杭州 310018)
根據所用傳感器的類型,手勢識別可分為基于計算機視覺和基于運動測量這兩種主流方法[1]。計算機視覺存在遮擋,采用數據手套盡管解決了視覺遮擋問題,但一定程度上限制了使用者手指的靈活性,且硬件裝置復雜[2],這兩種手勢動作感知方法己無法滿足人們對人機交互可靠性和便捷性的進一步要求。由于肌電采集傳感器的微型化,基于表面肌電信號(surface Electromyography,sEMG)的手勢識別技術由于其自然的交互方式引起研究者的關注,成為手勢識別領域中的研究熱點之一[3]。
sEMG信號是肌肉活動產生的非平穩生物電信號,從手臂關聯肌肉采集的sEMG信號可以反映手腕、手指的精細動作,文獻[4]將源分離和基于模型的技術相結合,以減少sEMG傳感器的數量,對截肢患者對11種手部姿勢中的五指屈伸想象動作進行分類,準確率達到90%以上;文獻[5]建立了一個雙通道sEMG信號模式識別系統應用于假肢控制,對握拳、伸食指、伸拇指和伸四指四種手勢取得94%識別率;上述成果均關注于手部精細動作,獲得了良好的識別率,但復雜手勢動作涉及手臂和手部兩部分姿勢的動態變化過程,如手語手勢動作,需要同步識別手臂和手部的聯動。李云等人針對30個中國手語字母提出一套基于sEMG識別的手語手勢動作規范方案[6],使基于sEMG的手勢識別率有所改善,這種改善是基于特定用戶的手勢識別率,而關鍵的用戶無關識別率并不高,反映出使用單一sEMG信息源進行識別時,手部姿態的區分性并不理想。如果將加速度傳感器用于手勢中手臂部分姿勢的動態變化識別,則具有特別的優勢。謝仁強等利用加速度信號對上、下、左、右、右上、左下、左上、右下8個基本手勢及由多個基本手勢組成的復合手勢取得97.3%的平均準確率[7];同樣,文獻[8]對加速度信號使用動態時間規整算法識別橫、豎、畫圓、打鉤、畫叉等5種手勢,平均識別率在97%以上。顯然文獻[7-8]成果可以很好地識別手臂運動軌跡,但無法識別腕、指的精細動作。盡管目前也有將sEMG與ACC信號結合進行手勢識別的研究,但多為相對簡單的自定義動態手勢[1,9],限制了其使用范圍。
本研究以中國手語手勢為研究對象,利用固定于小臂前端背部的加速度計ACC捕捉復雜動態手勢中手臂部分的運動信息,記錄手勢全局信息;選擇性放置的多路sEMG信號則捕捉手腕、手指等精細動作,記錄手勢細節特征,結合ACC和sEMG形成優勢互補,提高復雜動態手勢識別的性能。在信號處理方法上,則將一個完整手勢分割為三個特征區段,對不同區段的ACC提取反映手臂宏觀運動的平均波形長度MWL、絕對值均值特征MAV,并融合反映指、腕精細動作sEMG樣本熵特征組成特征向量,選擇SVM分類器完成識別。

圖1 手勢識別框架圖
利用表面肌電sEMG和加速度ACC進行動態手勢識別的框架如圖1所示,包括sEMG和ACC信號采集、活動段和特征區段分割、特征選擇、分類識別四個部分。
本文設計的實驗中,采集儀器使用DELSYS Trigno無線sEMG信號采集系統,用于采集與指、腕動作密切相關的拇指伸肌、指總伸肌、橈側腕伸肌與尺側腕屈肌四路sEMG信號,其位置如圖2(a)所示,其中橈側腕伸肌與尺側腕屈肌主要與腕部動作相關,拇指伸肌和指總伸肌則與手指動作相關。為了捕捉到更能體現手臂揮動幅度和軌跡的ACC信號,將ACC傳感器設置在靠近手腕的背部固定,見圖2(b)CH5位置,用于采集復雜動態手勢中手臂揮動的信息。表面肌電信號采集頻率為2 000 Hz,加速度信號采集頻率為150 Hz。

圖2 信號采集位置與傳感器分布
本文以中國手語中“你,好,大家,可以,說話,加油”等6個手勢動作為動態手勢識別對象。對4名(年齡為23~25歲,三男一女)均為右利手且未患有任何神經肌肉系統或關節疾病的健康人進行手勢實驗的數據采集。信號采集時,受試者坐在穩固、高度合適的椅子上,手臂自然搭于膝蓋,靜息狀態時ACC和sEMG無輸出。實驗過程要求受試者執行上述6種中國手語中的手勢動作,每種動作執行80次,每次執行時間盡可能相同。每次手勢動作的數據采集以一個完整手勢執行完畢為限,執行后回復原位,以便執行下一個完整的手勢動作。
圖3為手語“你”的手勢動作圖及其手勢信息采集界面。圖4為“你”的ACC信號,其中,圖(a)為X、Y、Z三軸ACC信號,圖(b)為三軸ACC信號之和SUMACC,SUMACC與虛線框交點為手勢起點A、止點D;A、D兩點表示手臂揮動時ACC的起止點,動態手勢活動段A-D通過信號的差分并比較閾值后確定。

圖3 手語“你”的手勢動作

圖4 手語“你”的ACC信號
圖5為“你”的sEMG信號,sEMG1-sEMG4為四路肌電信號,SUMsEMG為四路sEMG信號之和,SUMsEMG與虛線框交點為sEMG活動段的起點B、止點C,B、C兩點表示腕、指活動時sEMG的起止點,包含于ACC的起止點A、D之內,活動段B-C通過信號的移動平均并比較閾值后確定。
在動態手勢各特征區段的檢出和劃分中,基于ACC的信息劃分選用的是差分閾值法,基于sEMG信息的劃分是移動平均閾值法,在文中統稱為閾值法區段劃分。
A-D,B-C確定之后,本文將一個完整動態手勢分割為三個區段:起始段A-B、主特征段B-C和收尾段C-D,如圖6所示。B-C是主特征段,該區段對應指、腕執行動作時sEMG的起止點。

圖5 手語“你”的sEMG信號

圖6 手語“你”的SUMsEMG+SUMACC信號
特征提取前,需對所采集的sEMG與ACC進行動態手勢活動段提取,因此起止點的判斷尤為重要。采用基于閾值的方法確定ACC的活動段起止點A、D與sEMG的活動段起止點B、C,其中B、C在邏輯上包含于A、D之中。
ACC起止點判斷:將三軸ACC信號求和得到SUMACC,其信號幅值圖如圖4所示。手勢動作前后ACC較為平穩或無輸出,手勢執行中ACC變化劇烈,通對SUMACC取后向差分并移動平均可反映劇烈程度:
(1)
式中:m為窗口長度,m=5,asum(i)為SUMACC幅值。
設置閾值th1,若從A點開始A(n)大于th1則視A點為起始點,若從D點開始A(n)小于th1則視D點為終止點。th1取值方法可由式(2)確定:
th1=ασ
(2)
式中:σ為手勢執行前SUMACC信號的標準差,α為增益系數,α=2。
sEMG起止點B、C的判斷:將四通道sEMG求和得到SUMsEMG,其信號幅值圖如圖5所示。肌肉激活伴隨sEMG的能量變化,對SUMsEMG的絕對值進行移動平均處理以反映sEMG的能量:
(3)
式中:w為窗口寬度,w=30,l為步長,l=16,ssum(i)為SUMsEMG幅值。
設置閾值th2,若S(k)大于th2,則視為發生肌肉激活,將該段視為活動段,若S(k)小于th2,則忽略該節段。th2取值方法可由式(4)確定:
th2=μ+βσ
(4)
式中:μ為靜息狀態下SUMsEMG均值,σ為標準差,β為增益系數,此處取值為1.5,如需活動段檢測更加可靠,可適當取大如1.8。
樣本熵是一種用于度量時間序列復雜性的信號特征,很適合對sEMG等生理信號的復雜性表達[10],樣本熵用于衡量時間序列中產生新模式概率的大小,樣本熵值越大,表示時間序列中產生新模式的概率越大,序列的復雜度也更高,這一性特性恰好表達了動態手勢變化過程中按時間序列的腕和指等動作的變化及多樣性。
設sEMG采集信號的時間序列為x(i)(i=1,2,…,N,N為采樣點數),計算其樣本熵的步驟如下:
①將序列按順序組成m維矢量:
Xm(i)=[x(i),x(i+1),…,x(i+m-1)]
(5)
式中:i=1,2,…,N-m。
②定義矢量Xm(i)和Xm(j)之間的距離為兩個矢量對應元素差值中最大的一個:
(6)
式中:i,j=1,2,…,N-m,且i≠j。

(7)

(8)
⑤將序列按順序組成m+1維矢量,重復步驟①~步驟④得到Bm+1(r).
⑥序列的樣本熵為:
(9)
⑦實際應用中,由于序列長度有限,因此采樣點數為N的序列樣本熵的估計值為:
(10)
絕對值均值(Mean Absolute Value,MAV)是一個算法簡單、物理意義明確的特征信息,適合總體層面的特征表達,用于本文ACC信號的分段信息描述是一個既簡單又有效的特征。ACC的波形長度(Waveform Length,WL)[11]作為另一個總體特征,可用來表示信號的波形復雜度。在具體處理方面,為排除數據長度的影響,在原有波形長度基礎上提出平均波形長度特征(Mean Waveform Length,MWL),它更能反映ACC信號的變化規律。
(11)
式中:a(i)為ACC采集信號的時間序列,i=1,2,…,L,L為采樣點數。
一個復雜的動態手勢,若以活動段(AD)作為一個整體考慮提取其特征,往往會埋沒手勢的細節,難以反映手勢執行過程的詳細信息。本文將復雜動態手勢分解為三個相對獨立的區段:起始段、主特征段和收尾段,如圖6的AB、BC、CD三個區間。根據ACC和sEMG信號的特點,有針對性地選擇其分區段特征,能更好地將動態手勢的宏觀信息和微觀細節特征有機地結合起來。
一個動態手勢不同區段的特征提取方法如下:
①在起始段A-B,僅有ACC為活動狀態,sEMG是靜息的,它反映了ACC在手勢起始過程的宏觀信息,對起始段A-B的ACC選取MAV作為其特征。
②在收尾段C-D,僅有ACC為活動狀態,sEMG是靜息的,它反映了ACC在手勢終止過程的宏觀信息,對收尾段C-D的ACC也選取MAV作為其特征。
③B-C區間是主特征段,包括sEMG與ACC雙重信息,sEMG信號蘊含了指、腕在動態手勢執行過程中的細節信息,期間有ACC的相對變化并伴隨sEMG的豐富信息,兩者的信息融合對手勢的識別起到了決定性作用。對ACC提取MAV與MWL特征;同時對sEMG則提取描述信號復雜度的SampEn特征以體現手勢的細節變化。
綜上,針對動態手勢采集的傳感信號ACC、sEMG,提取的全部特征有:SampEnBC-sEMG、MWLBC-ACC、MAVBC-ACC、MAVAB-ACC、MAVCD-ACC,其中第一下標表示區段,第二下標是傳感信號。用特征組合方法進行特征融合,構造特征向量用于分類器識別。
支持向量機(Support Vector Machine,SVM)的主要思想是建立一個分類超平面作為決策面,使不同類之間的隔離邊緣被最大化,從而實現分類[12]。
SVM算法最初是為二值分類設計,處理多類問題時需要構造多類分類器,構造多類分類器主要有兩類:一類是直接法,直接法修改目標函數,將多個分類面參數求解合并到一個最優化問題中,通過求解最優化問題實現多分類,該方法計算復雜度高,實現困難。另一類是間接法,組合多個二分類器來實現多分類器的構造,主要方法有一對多(one-versus-rest)和一對一(one-versus-one)兩種[13]。由于一對多方法分類精度相對較低,本文采用一對一法構造SVM分類器。以3分類為例,在任意兩類間設計SVM:SVM1,2,SVM1,3,SVM2,3,對測試樣本A分類時,3個SVM分別對A進行分類投票,得票最多的即為A的類別,如圖7所示。因此,n分類問題需設計[n(n-1)]/2個SVM,對一個未知樣本分類時,得票最多的類別即為該未知樣本的類別。

圖7 一對一SVM識別原理
BC區間是主特征段,sEMG與ACC的信息融合對手勢識別起決定性作用,本文在此重點分析主特征段特征的一些特點。以受試者1為例,圖8為MAVBC-ACC的特征散點圖,圖9為MWLBC-ACC特征散點圖,可知ACC信號受外界干擾小,整體具有較好的可分性,這是因為不同手語揮動軌跡通常具有較明顯的差別,但是“好”與“你”的ACC特征具有重疊現象,尤其是MWLBC-ACC特征,這是因為它們在執行中具有相同的抬臂動作,運動軌跡具有一定的相似性,因此對運動軌跡大致相似的手勢,如采用單一ACC信號,在動態手勢區分上的不確定性就顯現出來了,此時需要進一步能反映指、腕精細動作的sEMG信息作為補充;另一方面,不同的受試者做同樣的動作也會存在細微差異,甚至同一受試者在做同一動作時也會有所區別。

圖8 受試者1的三軸ACC信號MAV特征

圖9 受試者1的ACC信號MWL特征
取受試者1執行“你”,“好”時拇指伸肌的肌電信號sEMGBC,加窗口長度N,求出SampEn,然后每移動1個數據點就求出該窗的SampEn,進行比較,此處取N=200。
由圖10和圖11可見:SampEn可以反映肌電信號特征,肌電信號從靜息狀態到激活再到靜息狀態,SampEn的變化顯著,呈現不同的規律性。而且“你”與“好”肌肉激活段的SampEnBC-sEMG變化規律不同,表明SampEn特征的選擇能支持腕和指的精細動作區分。

圖10 “你”的sEMG與SampEn

圖11 “好”的sEMG與SampEn
為探究表面肌電與加速度傳感在手勢識別中各自優勢,將不同特征組合構造成特征向量用于識別率的對比分析,如表1所示。

表1 不同特征組成的特征向量
上述特征均使用SVM進行分類,從每名受試者的樣本數據中,取50組樣本作為訓練集,其余30組樣本作為測試集進行交叉驗證,識別結果如表2所示。
表2為四名受試者采用不同信號組成特征向量的平均正確識別率,融合sEMG與ACC的F3特征向量對所有受試者識別率均是最高,其中受試者4可獲得最高91.2%的識別率。

表2 不同特征向量平均正確識別率 單位:%
本文提出一種融合sEMG和ACC的復雜動態手勢識別方法,用閾值法將復雜動態手勢分割形成起始段、主特征段和收尾段,根據不同區段的特點,有針對性地對ACC提取MAVAB-ACC、MAVCD-ACC、MWLBC-ACC、和MAVBC-ACC特征,對sEMG提取SampEnBC-sEMG特征,構造特征向量F3,使用SVM對6種中國手語手勢進行分類。實驗結果顯示最高可達91.2%的識別率,表明以全局傳感信號ACC和體現腕部和手指變化的多路sEMG信號相結合的動態手勢方法能夠很好地選擇手勢的有效特征,對復雜動態手勢的識別效果良好。進一步的研究工作將拓展手語中動態手勢的種類,構成常用手語的識別體系和方法。