尤波,李忠杰,黃玲
高性能仿人型假手對(duì)提高數(shù)以百萬計(jì)上肢殘疾者的生活水平具有重要意義,整套假手系統(tǒng)最重要的環(huán)節(jié)就是實(shí)現(xiàn)手部動(dòng)作的快速準(zhǔn)確識(shí)別。目前市場上絕大部分假手都是基于sEMG進(jìn)行控制的。于是sEMG信號(hào)的采集、降噪、特征提取和分類器的設(shè)計(jì)等各個(gè)環(huán)節(jié)成為該領(lǐng)域國內(nèi)外研究人員爭相研究的熱點(diǎn),都取得了不錯(cuò)的成果。期間我們也做了大量的相關(guān)研究,例如楊文元等[1]用小波理論對(duì)sEMG信號(hào)進(jìn)行處理分析,周麗娜等[2]設(shè)計(jì)了多功能肌電橡膠手識(shí)別系統(tǒng)。謝平等[3]采用自排序熵對(duì)不同動(dòng)作模式下的表面肌電信號(hào)進(jìn)行特征提取,并用其作為動(dòng)作模式分類指標(biāo);邱青菊等[4]運(yùn)用雙譜分析法對(duì)表面肌電信號(hào)進(jìn)行特征提取與模式識(shí)別。
對(duì)肌電信號(hào)進(jìn)行降噪與特征提取的目的就是為后面分類器的設(shè)計(jì)提供更優(yōu)質(zhì)的數(shù)據(jù),從而大大提高動(dòng)作分類的準(zhǔn)確率。常用于分類器設(shè)計(jì)的算法有 SVM(支持向量機(jī))[5-8]、AdaBoost算法[9-10]、聚類算法[11-12]及神經(jīng)網(wǎng)絡(luò)算法等。張啟忠等[5]運(yùn)用球均值Lyapunov指數(shù)計(jì)算法,對(duì)肢體肌電信號(hào)進(jìn)行特征提取與分類,用二叉樹法構(gòu)造了基于SVM的多類分類器。Kainz 等[13]對(duì)sEMG信號(hào)的低成本檢索方案進(jìn)行研究,并運(yùn)用SVM對(duì)從傳感器獲取的信號(hào)進(jìn)行分類。林海波等[14]對(duì)高斯核函數(shù)進(jìn)行改進(jìn),并采用二叉樹方法構(gòu)建多類支持向量機(jī)完成12種上肢姿態(tài)的分類。楊帥[15]將AdaBoost算法運(yùn)用在肌電信號(hào)的特征提取與分類上,并研究了在疲勞肌電信號(hào)干擾下算法的識(shí)別能力。
BP神經(jīng)網(wǎng)絡(luò)作為分類器,其應(yīng)用同樣廣泛。例如,王爾申等[16]將BP神經(jīng)網(wǎng)絡(luò)和基本粒子濾波算法進(jìn)行有機(jī)結(jié)合有效地改善了濾波性能;趙漫丹等[17]采用BP神經(jīng)網(wǎng)絡(luò)對(duì)AR模型的參數(shù)特征進(jìn)行模式識(shí)別。近期國內(nèi)外很多科研人員在研究深度神經(jīng)網(wǎng)絡(luò)在模式識(shí)別上的應(yīng)用,識(shí)別準(zhǔn)確率有了很大的提升。但深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)間長、計(jì)算量大、對(duì)硬件要求高,不利于識(shí)別系統(tǒng)的快速反應(yīng)。因此,本文并未采用深度神經(jīng)網(wǎng)絡(luò),而是對(duì)普通BP神經(jīng)網(wǎng)絡(luò)加以改進(jìn),以保證動(dòng)作識(shí)別的快速性和準(zhǔn)確性。
針對(duì)普通BP神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過程中出現(xiàn)的學(xué)習(xí)過程緩慢以及過度擬合的問題,本文引入了交叉熵代價(jià)函數(shù)并對(duì)代價(jià)函數(shù)進(jìn)行正則化處理。在實(shí)驗(yàn)中對(duì)sEMG特征信號(hào)進(jìn)行模式識(shí)別,獲得了較好的實(shí)驗(yàn)效果。
肌電信號(hào)識(shí)別是肌電研究領(lǐng)域中的一個(gè)重要方面,一般采用模式匹配原理來解決。手部動(dòng)作的識(shí)別過程為:首先,將待識(shí)別的手部動(dòng)作的肌電信號(hào)輸入識(shí)別系統(tǒng),經(jīng)過預(yù)處理后用數(shù)學(xué)的方法提取sEMG特征信號(hào),提取到的特征信號(hào)可以看成該動(dòng)作的模式;然后將該動(dòng)作模式同已知的參考模式進(jìn)行比較,獲得的最佳匹配的參考模式作為該動(dòng)作模式的識(shí)別結(jié)果。動(dòng)作識(shí)別具體流程如圖1所示。
圖1 動(dòng)作識(shí)別流程Fig. 1 Motion recognition process
研究選取了環(huán)型抓取、捏取、五指伸展、豎拇指4種動(dòng)作模式,用BP神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)這4類動(dòng)作的有效分類,具體動(dòng)作如圖2所示。
圖2 4種手部基本動(dòng)作Fig. 2 Four basic hand motions
BP神經(jīng)網(wǎng)絡(luò)的英文全稱為back-propagation neural network,即反向傳播神經(jīng)網(wǎng)絡(luò)。在隱含層神經(jīng)元個(gè)數(shù)可以隨意調(diào)整的前提下,其可以逼近任意的非線性映射,且具有一定的容錯(cuò)能力,故適合作為肌電信號(hào)的分類器。BP神經(jīng)網(wǎng)絡(luò)包含輸入層、隱含層和輸出層3部分,具體網(wǎng)絡(luò)架構(gòu)如圖3所示。
圖3 BP神經(jīng)網(wǎng)絡(luò)架構(gòu)示意Fig. 3 Diagram of BP neural network framework
改進(jìn)型BP神經(jīng)網(wǎng)絡(luò)具體設(shè)計(jì)步驟如下。
1) 輸入層和輸出層節(jié)點(diǎn)的設(shè)計(jì)
因同一手部動(dòng)作不同階段的肌電信號(hào)所蘊(yùn)含的特征存在差異,故可將不同階段的4維數(shù)據(jù)進(jìn)行拼接作為新的輸入向量,以便為神經(jīng)網(wǎng)絡(luò)提供更多輸入特征。但隨著輸入向量維度的增加計(jì)算量也隨之增加,為保證系統(tǒng)的實(shí)時(shí)性,輸入向量維度不能任意升高。綜合考慮以上因素和實(shí)驗(yàn)驗(yàn)證,本文把所采集的N行4列數(shù)據(jù)重新組合處理成N/3行12列數(shù)據(jù),即將4維數(shù)據(jù)升維至12維作為輸入向量,輸入節(jié)點(diǎn)數(shù)設(shè)置為12個(gè)。
因需要進(jìn)行分類的手部動(dòng)作有4種,故輸出層的節(jié)點(diǎn)數(shù)設(shè)置為4個(gè)。
2) 隱含層節(jié)點(diǎn)數(shù)的設(shè)計(jì)
對(duì)于BP神經(jīng)網(wǎng)絡(luò),有一個(gè)重要定理,即對(duì)于任何在閉區(qū)間內(nèi)的一個(gè)連續(xù)函數(shù)都可以用單個(gè)隱含層的BP網(wǎng)絡(luò)逼近,因而一個(gè)3層BP網(wǎng)絡(luò)就可以完成任意的n維到m維的映射。隱含層的節(jié)點(diǎn)數(shù)目選擇是一個(gè)十分復(fù)雜的問題,往往需要根據(jù)設(shè)計(jì)者的經(jīng)驗(yàn)和多次實(shí)驗(yàn)來確定,因而不存在一個(gè)理想的解析式來表示。隱含層單元的數(shù)目與問題的要求、輸入/輸出單元的數(shù)目都有著直接的關(guān)系。隱含層節(jié)點(diǎn)數(shù)目太多會(huì)導(dǎo)致學(xué)習(xí)時(shí)間過長,誤差不一定最佳,也會(huì)導(dǎo)致容錯(cuò)性差,不能識(shí)別以前沒有訓(xùn)練過的樣本,即泛化能力差。因此,一定存在一個(gè)最佳隱含層單元數(shù)。式(1)常用于選擇隱含層最佳單元數(shù):
3) 初始值的選取
由于系統(tǒng)是非線性的,由優(yōu)化理論可知初始值對(duì)于學(xué)習(xí)能否達(dá)到局部最小和是否能夠收斂的結(jié)果關(guān)系很大。一個(gè)重要的要求是:初始權(quán)值在輸入累加值時(shí)使每個(gè)節(jié)點(diǎn)的激活值接近于零,權(quán)值一般取隨機(jī)數(shù),數(shù)值要比較小。輸入樣本也同樣希望進(jìn)行歸一化處理,使那些比較大的輸入仍落在代價(jià)函數(shù)梯度大的地方。
4) 代價(jià)函數(shù)的選擇與改進(jìn)
因?yàn)楣?jié)點(diǎn)是通過改變權(quán)重和偏置量,并以一個(gè)代價(jià)函數(shù)的偏導(dǎo)數(shù)(和)決定的速率進(jìn)行學(xué)習(xí),故當(dāng)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)緩慢時(shí),實(shí)質(zhì)是這些偏導(dǎo)數(shù)很小。普通BP網(wǎng)絡(luò)使用的二次代價(jià)函數(shù)為
圖4 Sigmoid函數(shù)Fig. 4 Sigmoid function image
由圖4可以得出,當(dāng)神經(jīng)元的輸出接近1時(shí),曲線變化率接近0,故值很小,進(jìn)而導(dǎo)致和很小,網(wǎng)絡(luò)學(xué)習(xí)速率緩慢。于是,為了抵消對(duì)學(xué)習(xí)速率的影響,本文引入交叉熵代價(jià)函數(shù):
5) 對(duì)代價(jià)函數(shù)進(jìn)行正則化處理
因測量誤差不可避免,必然會(huì)導(dǎo)致額外噪聲的產(chǎn)生。實(shí)驗(yàn)表明,系統(tǒng)學(xué)習(xí)局部噪聲后,對(duì)特定的數(shù)據(jù)點(diǎn)可以表現(xiàn)得很好,但模型最終會(huì)在未知數(shù)據(jù)的泛化上出現(xiàn)問題,出現(xiàn)過度擬合的情況。常用的減輕過度擬合的方法有正則化、棄權(quán)和人為增加訓(xùn)練樣本等,本文采用正則化方法。
正則化[18-20]后網(wǎng)絡(luò)的權(quán)重相對(duì)較小,網(wǎng)絡(luò)受限于根據(jù)訓(xùn)練數(shù)據(jù)中常見的模式來構(gòu)造相對(duì)簡單的模型,而抵抗訓(xùn)練數(shù)據(jù)中噪聲的特性影響,并能夠根據(jù)已經(jīng)學(xué)到的知識(shí)很好地進(jìn)行泛化。相比之下,未正則化的大權(quán)重網(wǎng)絡(luò)可能會(huì)因?yàn)檩斎氲奈⑿「淖兌a(chǎn)生比較大的行為改變,從而會(huì)放大噪聲對(duì)整個(gè)網(wǎng)絡(luò)輸出的影響,導(dǎo)致輸出誤差變大。
正則化具體公式:
本文選取環(huán)型抓取、捏取、五指伸展、豎拇指等4種在實(shí)際生活中常用的手部動(dòng)作作為模式識(shí)別對(duì)象。因與手部動(dòng)作相關(guān)的肌肉群數(shù)量眾多,根據(jù)所需識(shí)別的動(dòng)作的特點(diǎn)以及大量實(shí)驗(yàn)檢測發(fā)現(xiàn),小指固有伸肌、拇長伸肌、指總伸肌、指淺伸肌等4塊肌肉信號(hào)幅值變化最為明顯,可涵蓋大部分動(dòng)作信息,故將其作為采集對(duì)象。表面肌電信號(hào)具體采集流程如圖5所示,圖6為采集系統(tǒng)硬件實(shí)物圖。
圖5 表面肌電信號(hào)采集流程圖Fig. 5 sEMG signal acquisition flow chart
圖6 表面肌電信號(hào)采集系統(tǒng)實(shí)物圖Fig. 6 sEMG signal acquisition system physical map
實(shí)驗(yàn)選取3個(gè)被測試者,保證識(shí)別系統(tǒng)具有一定的廣泛性。同一種動(dòng)作模式下對(duì)每位測試者均采集500組數(shù)據(jù),每組數(shù)據(jù)由4個(gè)通道同時(shí)采集,采樣頻率為1 000 Hz,并將每種動(dòng)作所采集的數(shù)據(jù)按順序標(biāo)記為1、2、3、4。每完成10次動(dòng)作后休息30 s,防止因肌肉疲勞產(chǎn)生信號(hào)畸變而導(dǎo)致額外噪聲的產(chǎn)生。所采集的sEMG動(dòng)作特征信號(hào)如圖7所示。
圖7 4種手部動(dòng)作肌電特征信號(hào)Fig. 7 Four kinds of hand-motion EMG signals
常用的肌電信號(hào)特征提取方法有時(shí)域分析法、頻域分析法、時(shí)頻域分析法。由于實(shí)時(shí)性及可靠性的要求,所以這里采用時(shí)域分析法中的方差法,具體計(jì)算公式為
式中:N為sEMG信號(hào)采集的數(shù)據(jù)個(gè)數(shù),x(i)為采集的數(shù)據(jù)段內(nèi)的第i個(gè)sEMG數(shù)據(jù),μ為有效數(shù)據(jù)段內(nèi)肌電信號(hào)幅值的均值。在時(shí)域的分析與處理中,常采用去均值的白化過程,可以認(rèn)為采集的sEMG信號(hào)是均值為零的平穩(wěn)隨機(jī)過程。因此,式(1)可以簡化為
根據(jù)BP神經(jīng)網(wǎng)絡(luò)理論,在MATLAB軟件中編程實(shí)現(xiàn)基于改進(jìn)型BP神經(jīng)網(wǎng)絡(luò)的sEMG特征信號(hào)分類算法。在采集手部動(dòng)作過程的肌電信號(hào)時(shí),不同時(shí)刻的數(shù)值差別很大,為消除各維數(shù)據(jù)間數(shù)量級(jí)差別,避免因?yàn)檩斎胼敵鰯?shù)據(jù)數(shù)量級(jí)差別較大而造成網(wǎng)絡(luò)預(yù)測誤差較大,需要對(duì)采集到的數(shù)據(jù)進(jìn)行歸一化處理,將全部數(shù)據(jù)轉(zhuǎn)化為[0,1]之間的數(shù)。常用的歸一化方法有最大最小法和平均數(shù)方差法。
1)最大最小法
2)平均數(shù)方差法
對(duì)網(wǎng)絡(luò)的收斂性進(jìn)行仿真實(shí)驗(yàn)驗(yàn)證,普通BP神經(jīng)網(wǎng)絡(luò)與改進(jìn)型BP神經(jīng)網(wǎng)絡(luò)隨著迭代次數(shù)的增加,代價(jià)函數(shù)收斂狀況分別如圖8、9所示。
圖8 普通BP網(wǎng)絡(luò)代價(jià)函數(shù)曲線Fig. 8 Cost function curve of ordinary BP network
圖9 改進(jìn)型BP網(wǎng)絡(luò)代價(jià)函數(shù)曲線Fig. 9 Cost function curve of modified BP network
對(duì)比圖8和圖9可知,改進(jìn)型神經(jīng)網(wǎng)絡(luò)的代價(jià)函數(shù)是收斂的,而且整體收斂速度要比普通BP神經(jīng)網(wǎng)絡(luò)速度快,大大提高了神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度,達(dá)到了預(yù)期的效果。
BP神經(jīng)網(wǎng)絡(luò)分類算法程序具體執(zhí)行流程如圖10所示。
圖10 程序執(zhí)行流程圖Fig. 10 Program execution flowchart
正確率統(tǒng)計(jì)公式為
為避免識(shí)別準(zhǔn)確率的偶然性,本實(shí)驗(yàn)選取了500組測試數(shù)據(jù),以保證樣本處于較大狀態(tài)。分別執(zhí)行普通BP神經(jīng)網(wǎng)絡(luò)和改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)所對(duì)應(yīng)的程序,分類誤差分別如圖11和圖12所示,橫坐標(biāo)為測試組別序號(hào),對(duì)應(yīng)的識(shí)別統(tǒng)計(jì)結(jié)果如表1所示。
圖11 普通BP神經(jīng)網(wǎng)絡(luò)分類誤差Fig. 11 Classification error of ordinary BP neural network
圖12 改進(jìn)型BP神經(jīng)網(wǎng)絡(luò)分類誤差Fig. 12 Classification error of modified BP neural network
表1 識(shí)別準(zhǔn)確率統(tǒng)計(jì)結(jié)果Table 1 Recognition accuracy statistics %
從圖11和圖12可明顯看出,針對(duì)500組相同的測試數(shù)據(jù)進(jìn)行分類識(shí)別,改進(jìn)型BP神經(jīng)網(wǎng)絡(luò)的分類誤差要明顯小于普通BP神經(jīng)網(wǎng)絡(luò)分類誤差。同時(shí),表1的統(tǒng)計(jì)結(jié)果也印證了這一點(diǎn)。
進(jìn)一步,對(duì)普通BP神經(jīng)網(wǎng)絡(luò)與改進(jìn)型BP神經(jīng)網(wǎng)絡(luò)的分類時(shí)間進(jìn)行統(tǒng)計(jì)。本文采用MATLABR2014a軟件自帶的計(jì)時(shí)功能對(duì)500組數(shù)據(jù)的分類時(shí)間進(jìn)行統(tǒng)計(jì),分別為62.387 s和46.869 s。平均每組數(shù)據(jù)識(shí)別所花時(shí)間如表2所示,識(shí)別耗時(shí)完全滿足實(shí)時(shí)性要求。
表2 動(dòng)作識(shí)別耗時(shí)結(jié)果Table 2 Action recognition time-consumption results
本文使用改進(jìn)型BP神經(jīng)網(wǎng)絡(luò)對(duì)環(huán)型抓取、捏取、五指伸展、豎拇指等4種手部動(dòng)作進(jìn)行模式識(shí)別,實(shí)驗(yàn)結(jié)果表明:
1)通過引入交叉熵代價(jià)函數(shù),BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)速率得到了有效的提升,經(jīng)少量迭代后代價(jià)函數(shù)值便迅速下降;
2)將輸入端數(shù)據(jù)進(jìn)行人工升維處理并將代價(jià)函數(shù)正則化后,網(wǎng)絡(luò)的過度擬合現(xiàn)象得到了控制,泛化能力增強(qiáng),動(dòng)作識(shí)別準(zhǔn)確率也得到了有效的提升。
同時(shí),因高質(zhì)量的訓(xùn)練數(shù)據(jù)可以使神經(jīng)網(wǎng)絡(luò)有更好的分類效果。故隨著肌電信號(hào)采集硬件的改善,降噪、抗干擾能力的增強(qiáng)以及特征提取算法的優(yōu)化,用于訓(xùn)練神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)質(zhì)量會(huì)更高,改進(jìn)型BP神經(jīng)網(wǎng)絡(luò)的模式識(shí)別能力也將會(huì)有更好的表現(xiàn)。