□ 朱彥平 □ 陳善超 □ 嚴良文 □ 葉 帥 □ 余 雪
上海大學 機電工程與自動化學院 上海 200072
BP神經網絡手勢動作識別在腦卒中患者手臂訓練中的應用
□ 朱彥平 □ 陳善超 □ 嚴良文 □ 葉 帥 □ 余 雪
上海大學 機電工程與自動化學院 上海 200072
為了更好地配合腦卒中患者手臂康復訓練,利用手勢動作時從手臂肌肉上獲取表面肌電信號,經特征提取,采用BP神經網絡的方法建立智能識別模型,對8種手勢動作模式進行了識別。鑒于BP神經網絡具有較強的模式分類能力,而特征提取又利用了多路肌電信號的信息,實驗結果取得了較高的識別正確率。經實驗測試可知,建立的BP模型方法客觀、合理,識別精度高,實用性強,具有良好的理論與實際應用價值。
表面肌電信號 BP神經網絡 手勢識別
傳統的治療方法無法讓腦卒中患者直觀看到訓練效果,以及提高訓練的信心和參與性,如果能將其運動意圖識別,并用反饋予以矯正就能實現這樣的效果。對于那些肌肉能輕微收縮,但運動變化不明顯的患者來說,如果能通過肌電信號識別其運動意圖和趨勢,可以將這種良好的效果反饋給患者,以便輔助康復訓練。BP算法結構簡單,可操作性強,能模擬任意的非線性輸入輸出關系,常常被用于表面肌電信號的識別。在神經網絡的實際應用中,絕大部分的神經網絡模型采用BP網絡或其變化形式,它也是前饋神經網絡的核心部分,體現了人工神經網絡中的精華部分[1]。
手勢動作肌電信號采集模式識別流程如圖1所示。

▲圖1 模式識別的流程
1.1 手勢動作
選取常用的8個手部動作為訓練目標,如圖2所示,分別為掌面向上、掌面向下、握拳、展拳、上切、下切、內翻、外翻。這8個動作為日常生活中較為常用的動作,例如:手腕的旋轉作用于調整手部的姿勢;握拳和展拳實際上是抓取物品所必須使用的。
1.2 肌電信號的采集
肌電信號采集結構如圖3所示,主要由采集電極、前置放大器、調理電路、加速度傳感器、A/D轉換模塊、DSP以及PC部分構成。采集電極將皮膚表面的肌電信號通過電纜傳導至放大器輸入部分,放大后的信號經過調理電路的升壓以適于DSP的AD模塊信號接收范圍,DSP經過運算后將需要的結果傳輸至PC[2]。

▲圖2 8種常用手部動作

▲圖3 肌電信號采集流程
1.3 特征值的提取
提取肌電信號的模型參數,AR模型和ARMA模型是最常用的擬合肌電信號的兩種參數模型,兩種模型都各有優缺點,AR模型在計算便利上占優勢,而ARMA模型所需要的參數較少。但是ARMA模型的計算耗時較長,影響其實時操作性,筆者采用AR模型。
AR模型描述如下:

式中:ai為自相關系數;xk為AR系數;p為模型階數;ek為殘差白噪聲。
在AR模型系統的傳遞函數中,只有極點,沒有零點,所以又叫全極點模型。
使用模式識別的方法即通過肌電信號判斷患者的運動趨勢和意圖,是一種良好的反饋方式,模式識別是指對事物或現象以各種表現形式的(數值、文字或邏輯關系)信息進行處理和分析,對事物或現象進行描述、辨認、分類和解釋的過程,是信息科學和人工智能的重要組成部分,是人類的基本智能。
2.1 BP神經網絡模型
BP網絡的結構如圖4所示,BP網絡是一種有三層或三層以上神經元的神經網絡,包括輸入層、中間層(隱含層)和輸出層。這個網絡的前一層和后一層之間所有的神經元是相互連接的,但是每層內部的神經元之間無任何連接。輸入層各神經元作為系統的輸入接口,用來接收輸入信息,輸入層接收到信息后,傳遞給中間層的神經元,中間層的神經元對收到的信息進行處理和變化,變換的次數取決于中間層的層數,最后的結果由輸出層輸出,即可得到所需的結果。

▲圖4 神經網絡模型
2.2 BP神經網絡的學習算法
BP網絡在進行正確推理之前必須先進行學習,這里的學習也叫作訓練,也就是不斷訓練網絡以便能夠獲得期望的輸出。訓練的具體算法過程為:首先將已知輸出的學習樣本輸入給網絡,神經元的激活值按照網絡結果歷經各神經元逐層傳遞,該樣本輸入對應的輸出也賦給相應的輸出層中的神經元,按照減少目標輸出與實際輸出之間誤差的方向,從輸出層反向經過各中間層回到輸入層,逐層修正各連接權值。誤差通過輸出層,按誤差梯度下降的方式修正各層權值,向隱層、輸入層逐層反傳。周而復始的信息正向傳播和誤差反向傳播過程,是各層權值不斷調整的過程,也是神經網絡學習訓練的過程,此過程一直進行到網絡輸出的誤差達到設定的目標值,或者預先設定的學習次數為止[3]。經過這樣的循環,各連接權值逐步得到修正,網絡正確率也就不斷上升。BP算法中常見的傳遞函數有正切函數、Sigmoid型對數、線性函數等,這些函數都是可微的,因為在誤差反向傳播中會被求導。
2.3 BP神經網絡的設計
BP網絡的設計主要是設置網絡的參數,也就是找到最適合于該應用的網絡參數,主要是網絡的層數、隱含層神經元的個數、訓練函數等參數。
2.3.1 輸入輸出層的設計
輸入的神經元要根據問題的實際情況與輸入變量的類型來確定。常見的輸入有一維數組、模擬信號、二維圖像等。筆者確定使用AR模型系數作為網絡的輸入,每一通道有3個AR系數和1個殘差,一共是4通道,則輸入層的維數為n=16。輸出層的維數根據網絡的要求確定,一般將BP網絡用作分類器,類別模式一共有m個,則輸出神經元的個數為m或log2m,這里一共設計了8個訓練動作,即輸出層的維數為q=8。
2.3.2 隱層的設計
對于BP網絡,存在一個非常重要的定理,即對任何在閉區間內的一個連續函數都可以用單隱層的BP網絡逼近,也就是說大部分問題下,三層BP網絡就能實現所有的應用。隱層的神經元數目確定比較困難,隱含神經元的個數會對網絡性能產生重要影響,如果數目過多,則學習時間長、網絡構成復雜、難以收斂,最后的正確率也不一定高,反之,如果單元數目過少,網絡性能可能變糟,導致容錯性差、泛化能力弱的問題,因此需要尋找一個最佳的隱單元數。有以下3個經驗算式可以用于選擇隱單元最佳個數的參考。
(3)ni=log2n,其中,n為輸入單元數。
綜合上述3個算式,3<ni<15。將ni的值逐個代入網絡中進行訓練得到結果,見表1。

表1 不同節點數的訓練效果對比圖
根據表1的結果可以看到,當神經元的個數ni=8時,網絡通過一個較少的運算次數即獲得了一個誤差較小的網絡。由于采用不同的訓練函數對網絡的性能會有影響,如收斂速度、網絡推廣能力等,為了選取合理的訓練函數,采用以下3種訓練函數對網絡進行訓練。
Traingdx是動量及自適應lrBP的梯度遞減訓練函
數,該函數可以使網絡的學習速度提高很多倍,并且能跳過一些凸性較小的區域。使用它對隱含層神經元數目為8的網絡進行訓練的結果如圖5所示。從圖中可看出,使用該算法達到網絡逼近誤差0.000 1的訓練目標,要經過531次的運算。
改用Traingd梯度下降BP算法重新進行計算,它是最基本的BP算法。反向傳播采用的是梯度下降法,按照梯度下降的方向修正各連接權的權值,默認是平均方誤差。Traingd的收斂速度很慢,學習步長的選擇很重要,過大會導致振蕩嚴重,無法收斂到深窄的極小點,過小則速度慢,或者陷于局部極小[4]。Traingd算法的結果如圖6所示,經過了1 000次訓練,仍然不能達到預定的誤差目標,而且網絡訓練過程收斂得非常緩慢,訓練完畢后,全局誤差res=0.124 435。
接下來采用Trainlm函數對網絡進行訓練,該函數的學習算法為Levenberg-Marquardt反傳算法,由于梯度下降法在最初幾步下降較快,而在接近最優值的階段,因為梯度趨于零,目標函數下降變得很緩慢;而牛頓法則可在靠近最優值的地方產生理想的搜索方向。 Levenberg-Marquardt法結合了梯度下降法和牛頓法各自的優點,使得當網絡權值數目較少時收斂非常迅速[5]。
從圖7可見,經10次訓練,網絡的目標誤差就達到了要求,該訓練函數收斂速度較快,網絡誤差較小。
經過上面的分析與試驗,最終確定了本例的BP網絡結構,見表2。

▲圖5 Traingdx函數訓練收斂圖

▲圖6 Traingd函數訓練收斂圖

▲圖7 Levenberg-Marquardt反傳算法訓練收斂圖

表2 BP網絡結構參數表

表3 訓練集來自同一個體的識別率/%

表4 訓練集來自同六位個體的識別率/%
首先,筆者將從同一個人采集到的8個動作,每個動作100組數據,抽取10組作為訓練樣本,剩余90組的數據作為分類的測試數據,得到表3,結果表明BP網絡對來自于同一個體的數據有著良好的識別率。
最后,對6位個體,每個動作100組數據,抽取10組作為訓練樣本,剩余每個動作90組的數據作為分類的測試數據,得到如表4的結果,由此可見,BP網絡對個體識別效果非常好。
本研究利用DSP采集腦卒中患者的肌電信號,對其常見的8種手勢動作模式進行了識別。根據提取的特征值,設計BP神經網絡,并且對不同人的多組肌電信號實驗數據進行了處理,均獲得了較高的手勢動作分類正確率,實驗表明所采用的方法是有效的。
[1]飛思科技產品研發中心.神經網絡理論與MATLAB7實現[M].北京:電子工業出版社,2005.
[2]李文,趙麗娜,李騰飛,等.表面肌電信號在腦卒中患者上肢運動功能康復中的應用 [J].中國康復醫學雜志,2013(2):163-165.
[3]楊行峻,鄭君里.人工神經網絡[M].北京:高等教育出版社,1992.
[4]蒲春,孫政順,趙世敏.Matlab神經網絡工具箱BP算法比較[J].計算機仿真,2006(5):142-144.
[5]高雪鵬,叢爽.BP網絡改進算法的性能對比研究[J].控制與決策,2001,16(2):167-171.
(編輯 丁 罡)
TH122;TP391.9
A
1000-4998(2015)10-0018-03
2015年4月