馮一飛, 王青山
(合肥工業(yè)大學(xué) 數(shù)學(xué)學(xué)院,安徽 合肥 230601)
據(jù)世界衛(wèi)生組織2017年的統(tǒng)計(jì),全球大約有5.5%的人遭受聽(tīng)力損失的困擾,合計(jì)人口達(dá)到4.66億,僅在中國(guó)就有2 780萬(wàn)聽(tīng)障人士。手語(yǔ)是聽(tīng)障人士最重要的交流方式,然而對(duì)于沒(méi)有專(zhuān)門(mén)學(xué)習(xí)過(guò)手語(yǔ)的健全人來(lái)說(shuō),手語(yǔ)是一種難懂的語(yǔ)言,這使得聽(tīng)障人士和健全人之間形成溝通障礙[1]。溝通障礙一方面影響了聽(tīng)障人士的工作、學(xué)習(xí)、娛樂(lè)等生活狀態(tài);另一方面可能使他們形成自卑心理,不利于形成健全的人格。為了讓聽(tīng)障人士更好地融入社會(huì),越來(lái)越多的研究者開(kāi)始關(guān)注手語(yǔ)識(shí)別問(wèn)題。
目前,已經(jīng)存在許多手語(yǔ)識(shí)別的形式,從采集信號(hào)的種類(lèi)上看,有基于視覺(jué)圖像的方法[2-4]、基于WIFI的方法[5]和基于傳感器的方法[6-7];從采用的識(shí)別方法來(lái)說(shuō),有機(jī)器學(xué)習(xí)方法[8-9]和深度學(xué)習(xí)方法[10-11]等?;谝曈X(jué)圖像的方法可以采集到手和面部的特征,往往在多目標(biāo)的手語(yǔ)識(shí)別任務(wù)中表現(xiàn)更出色,然而由于需要借助攝像機(jī)采集圖像數(shù)據(jù)采集,難以在現(xiàn)實(shí)生活中普及?;赪IFI的方法可以采集到除了手和手臂以外身體其他部分的運(yùn)動(dòng),但是對(duì)于比較細(xì)粒度的運(yùn)動(dòng),比如手指的運(yùn)動(dòng),會(huì)損失采集的精確性?;趥鞲衅鞯姆椒ㄍㄟ^(guò)佩戴手環(huán)來(lái)采集手勢(shì)的肌電流和運(yùn)動(dòng)的慣性信號(hào),無(wú)需通過(guò)攝像頭采集,采集到的手勢(shì)信號(hào)也更為精確。
目前,脈沖神經(jīng)網(wǎng)絡(luò)(spiking neural network,SNN)[12]已經(jīng)應(yīng)用在一些深度學(xué)習(xí)的任務(wù)中,如模式識(shí)別[13-15]、強(qiáng)化學(xué)習(xí)[16]。脈沖神經(jīng)網(wǎng)絡(luò)中的神經(jīng)元更接近生物神經(jīng)元的組成,它利用稀疏的脈沖來(lái)表示信息,而不像傳統(tǒng)人工神經(jīng)網(wǎng)絡(luò)的神經(jīng)元使用連續(xù)的變量表示信息。由于這種仿生的機(jī)制,脈沖神經(jīng)網(wǎng)絡(luò)有潛力在使用更少神經(jīng)元的情況下達(dá)到和人工神經(jīng)網(wǎng)絡(luò)相似的性能[9],使得脈沖神經(jīng)網(wǎng)絡(luò)非常適合實(shí)際的場(chǎng)景。另外,脈沖神經(jīng)網(wǎng)絡(luò)可以在線學(xué)習(xí),對(duì)復(fù)雜信號(hào)處理的魯棒性高于人工神經(jīng)網(wǎng)絡(luò)[17]。然而利用脈沖神經(jīng)網(wǎng)絡(luò)對(duì)手勢(shì)進(jìn)行識(shí)別[13,18]工作較少,文獻(xiàn)[13]設(shè)計(jì)了預(yù)訓(xùn)練脈沖神經(jīng)子網(wǎng),使得脈沖神經(jīng)網(wǎng)絡(luò)的隱藏層數(shù)更深,對(duì)8種手勢(shì)進(jìn)行識(shí)別。文獻(xiàn)[18]提出了深度卷積脈沖神經(jīng)網(wǎng)絡(luò),縮短了處理信號(hào)所需的時(shí)間,在2個(gè)8分類(lèi)的手勢(shì)數(shù)據(jù)集上驗(yàn)證網(wǎng)絡(luò)性能。它們識(shí)別的手勢(shì)規(guī)模較小,本文研究脈沖編碼和訓(xùn)練方法來(lái)設(shè)計(jì)輕量級(jí)的脈沖神經(jīng)網(wǎng)絡(luò),對(duì)101個(gè)常用手語(yǔ)手勢(shì)進(jìn)行識(shí)別。
本文提出了基于表面肌電流(surface electromyography,sEMG)手語(yǔ)識(shí)別模型,該模型由輕量級(jí)長(zhǎng)短時(shí)記憶脈沖神經(jīng)網(wǎng)絡(luò)(long short-term memory-spiking neural network,LSTM-SNN)組成。在模型中設(shè)計(jì)自適應(yīng)脈沖編碼對(duì)輸入的手語(yǔ)信號(hào)進(jìn)行編碼,改進(jìn)帶泄漏整合發(fā)放(leaky integrate-and-fire,LIF)神經(jīng)元模型進(jìn)行網(wǎng)絡(luò)訓(xùn)練,最后通過(guò)實(shí)驗(yàn)來(lái)比較該模型與其他深度學(xué)習(xí)和機(jī)器學(xué)習(xí)模型的準(zhǔn)確率等方面的性能。
手語(yǔ)識(shí)別系統(tǒng)框架如圖1所示,首先使用MYO手環(huán)采集數(shù)據(jù)得到原始手語(yǔ)sEMG信號(hào),然后將sEMG信號(hào)經(jīng)過(guò)自適應(yīng)脈沖編碼后獲得脈沖信號(hào),脈沖信號(hào)作為L(zhǎng)STM-SNN的輸入,通過(guò)時(shí)間驅(qū)動(dòng)方式訓(xùn)練神經(jīng)元中的參數(shù),由全連接層對(duì)特征向量進(jìn)行識(shí)別分類(lèi),最后由LSTM-SNN中的softmax層輸出手語(yǔ)分類(lèi)的結(jié)果。
圖1 手語(yǔ)識(shí)別系統(tǒng)框架
脈沖編碼過(guò)程主要是將輸入信號(hào)轉(zhuǎn)化為脈沖信號(hào),從而產(chǎn)生脈沖網(wǎng)絡(luò)的輸入。本文設(shè)計(jì)了一種自適應(yīng)脈沖編碼來(lái)對(duì)手語(yǔ)信號(hào)編碼,其主要思想是通過(guò)計(jì)算當(dāng)前時(shí)刻編碼手語(yǔ)信號(hào)前后變化信息進(jìn)行自適應(yīng)脈沖編碼。
對(duì)給定的手語(yǔ)信號(hào)X=(x1,x2,…,xT),其中,xt∈R,1≤t≤T,T為信號(hào)的幀數(shù),經(jīng)過(guò)脈沖編碼得到的序列為Y=(y1,y2,…,yL),其中,yl∈{0,1},1≤l≤L,L為脈沖序列長(zhǎng)度,一般來(lái)說(shuō)L=T。因?yàn)楫a(chǎn)生脈沖的原因是在膜電位形成了電位差,即該時(shí)刻產(chǎn)生的電壓變化較大,所以本文根據(jù)信號(hào)的變化程度進(jìn)行脈沖編碼。當(dāng)信號(hào)變化程度越大,發(fā)射脈沖的時(shí)間就越早。標(biāo)準(zhǔn)脈沖的發(fā)放時(shí)間表示為:
tf(zt)=(T-1)(1-xt)
(1)
其中:T為脈沖最大的發(fā)放時(shí)長(zhǎng);xt為當(dāng)前時(shí)刻的輸入,且xt∈[0,1)。本文設(shè)計(jì)的自適應(yīng)脈沖編碼思想,如圖2所示。
圖2 自適應(yīng)脈沖編碼
1) 計(jì)算手語(yǔ)信號(hào)在當(dāng)前時(shí)刻(2≤t≤T)與上一時(shí)刻t-1的差值dt=|xt-xt-1|。假設(shè)上述差值中最大值為dmax(2≤max≤T),通過(guò)dt/dmax將dt映射到[0,1]之間。
(2)
由式(2)可知,如果Rt≤RT,說(shuō)明當(dāng)前時(shí)刻t后k幀的信號(hào)變化較小,那么可以推遲脈沖發(fā)放的時(shí)間;反之,則盡早發(fā)放脈沖。
本文使用帶泄漏整合發(fā)放神經(jīng)元模型來(lái)實(shí)現(xiàn)脈沖神經(jīng)網(wǎng)絡(luò)中信息的傳遞。該模型主要模擬生物體內(nèi)神經(jīng)元突觸之間的信息傳遞方式,通過(guò)不斷地充電和放電來(lái)產(chǎn)生脈沖信號(hào),這種方式被稱(chēng)為時(shí)間驅(qū)動(dòng)方式。
神經(jīng)元的信息傳輸過(guò)程主要分為充電、放電和復(fù)位。充電和放電的具體過(guò)程分別用以下公式表達(dá),具體計(jì)算公式如下:
Ht=Vt-1+Δvt
(3)
(4)
在充電的表達(dá)式(3)中;Ht為t時(shí)刻神經(jīng)元未發(fā)放脈沖的瞬時(shí)電壓;Vt-1為上一個(gè)時(shí)刻t-1的電壓;Δvt為t時(shí)刻的電壓增量。在放電的表達(dá)式(4)中:θt表示是否產(chǎn)生了脈沖;如果Ht超過(guò)閾值Vthreshold,那么就會(huì)產(chǎn)生一個(gè)脈沖,隨后膜電位會(huì)立即回到一個(gè)靜息電位,此過(guò)程叫做復(fù)位;反之,不產(chǎn)生脈沖。
本文采用當(dāng)前膜電位減去閾值Vthreshold的方式來(lái)復(fù)位,這樣膜電位在充電的過(guò)程中不需要從0開(kāi)始增長(zhǎng),提高了脈沖放電的效率。具體的復(fù)位方式如下:
Vt=Ht-Vthresholdθt
(5)
其中,Vt為t時(shí)刻的電壓。
圖3 脈沖網(wǎng)絡(luò)的神經(jīng)元
長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)是一類(lèi)特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural networks,RNN),能夠?yàn)樾盘?hào)的時(shí)間依賴(lài)性建模,同時(shí)解決了循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)面臨的梯度消失問(wèn)題[19]。因?yàn)榧‰娏餍盘?hào)是時(shí)間序列信號(hào),所以本文選擇了長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)來(lái)捕捉脈沖神經(jīng)網(wǎng)絡(luò)中信號(hào)的時(shí)間依賴(lài)性。長(zhǎng)短時(shí)記憶脈沖神經(jīng)元工作原理如圖4所示。
圖4 長(zhǎng)短時(shí)記憶脈沖神經(jīng)元工作原理
長(zhǎng)短時(shí)記憶脈沖神經(jīng)元與長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)神經(jīng)元一樣,都使用了細(xì)胞狀態(tài)ct來(lái)管理神經(jīng)元之間信息的傳遞。ft是遺忘門(mén),決定了哪些信息會(huì)保存;it是輸入門(mén),控制了輸入單元的信息和另一個(gè)輔助的輸入gt,gt由另一個(gè)脈沖激活函數(shù)來(lái)調(diào)節(jié);ot是輸出門(mén),形成下個(gè)神經(jīng)元的輸入。具體來(lái)講,對(duì)于一組給定的脈沖序列(y1,y2,…,yL),長(zhǎng)短時(shí)記憶脈沖神經(jīng)網(wǎng)絡(luò)LSTM-SNN的門(mén)和狀態(tài)可以用如下方程描述:
(6)
其中:⊙代表Hadmard乘積;σ1、σ2為反應(yīng)膜電位的脈沖激活函數(shù),當(dāng)函數(shù)值超過(guò)閾值時(shí)會(huì)產(chǎn)生脈沖。
本文對(duì)所提的LSTM-SNN手語(yǔ)識(shí)別模型進(jìn)行性能評(píng)價(jià)分析,具體包括實(shí)驗(yàn)環(huán)境設(shè)置、LSTM-SNN性能、不同編碼方式對(duì)LSTM-SNN性能影響、LSTM-SNN與其他模型性能對(duì)比。
本文使用MYO手環(huán)采集肌電流數(shù)據(jù),其包含8個(gè)表面肌電流傳感器,采樣頻率為200 Hz。將手環(huán)佩戴于前臂,可以采集到手部運(yùn)動(dòng)的信息,并通過(guò)藍(lán)牙設(shè)備傳輸?shù)诫娔X,完成數(shù)據(jù)的收集。肌電流信號(hào)采集設(shè)備如圖5所示。
圖5 肌電流信號(hào)采集設(shè)備
本數(shù)據(jù)集包含101個(gè)日常生活中常見(jiàn)的手語(yǔ)手勢(shì)。該數(shù)據(jù)集由16位志愿者采集,包括8男8女,其中有4位手語(yǔ)老師和6位聽(tīng)障學(xué)生,其余的志愿者也都經(jīng)過(guò)了專(zhuān)業(yè)的手語(yǔ)訓(xùn)練,可以熟練地使用手語(yǔ)。在本數(shù)據(jù)集中每個(gè)手語(yǔ)手勢(shì)有10個(gè)樣本,一共1 010個(gè)樣本,每種手勢(shì)中都包含了至少3位志愿者的手語(yǔ)樣本。
本文通過(guò)電腦端完成網(wǎng)絡(luò)的訓(xùn)練,CPU是i7-9700F、32 GiB RAM,GPU采用NVIDIA RTX 2080Ti; 深度學(xué)習(xí)框架和訓(xùn)練過(guò)程通過(guò)Pytorch完成。另外,本文應(yīng)用深度學(xué)習(xí)框架驚蟄[20]搭建脈沖神經(jīng)網(wǎng)絡(luò)。式(2)中的T設(shè)置為20。因?yàn)楸疚臉?gòu)建一個(gè)輕量級(jí)的網(wǎng)絡(luò),所以網(wǎng)絡(luò)模型只設(shè)置了1層LSTM-SNN加1層全連接層,LSTM的隱藏層數(shù)量設(shè)置為128,訓(xùn)練模型的epoch設(shè)置為800,batchsize為32,采用Adam作為優(yōu)化器,優(yōu)化器的學(xué)習(xí)率設(shè)置為0.001。
本文使用的評(píng)估指標(biāo)包括準(zhǔn)確率A(accuracy)、精確率P(precision)、召回率R(recall)和F1分?jǐn)?shù)。準(zhǔn)確率可以表現(xiàn)出模型對(duì)所有樣本的分類(lèi)能力;精確率可以反映出模型對(duì)正樣本分類(lèi)的能力;召回率反映模型對(duì)正樣本的誤判情況;F1為綜合考慮精確度和召回率的結(jié)果。這些指標(biāo)經(jīng)常被應(yīng)用于分類(lèi)任務(wù)中,作為評(píng)價(jià)模型性能的重要標(biāo)準(zhǔn)。
評(píng)估指標(biāo)的計(jì)算公式如下:
(7)
(8)
(9)
(10)
其中,Ntp、Nfp、Ntn、Nfn分別表示真陽(yáng)性、假陽(yáng)性、真陰性和假陰性樣本的個(gè)數(shù)。
本實(shí)驗(yàn)對(duì)101個(gè)手語(yǔ)手勢(shì)進(jìn)行識(shí)別評(píng)價(jià)LSTM-SNN的性能,將數(shù)據(jù)集中的70%作為訓(xùn)練集,30%作為驗(yàn)證集,得到驗(yàn)證集的準(zhǔn)確率為95.37%、精確度為94.88%、召回率為94.53%、F1為94.70。這說(shuō)明該模型可以正確分類(lèi)大部分的樣本。進(jìn)一步,本文對(duì)分類(lèi)效果較差的16個(gè)手勢(shì)進(jìn)行實(shí)驗(yàn)分析其準(zhǔn)確率,將模型輸出的維度調(diào)整為16,以16個(gè)手勢(shì)對(duì)應(yīng)的160個(gè)樣本作為驗(yàn)證集進(jìn)行驗(yàn)證,得到的混淆矩陣如圖6所示。
圖6 16個(gè)手語(yǔ)詞的混淆矩陣
由圖6可知,準(zhǔn)確率為86.88%,說(shuō)明模型在單獨(dú)分類(lèi)這些樣本時(shí)效果并不差。從混淆矩陣的坐標(biāo)軸中可以看出,這些手語(yǔ)在含義上并不相近,產(chǎn)生這種現(xiàn)象的原因可能是在這些手語(yǔ)手勢(shì)信號(hào)中有相似的肌電流信號(hào),導(dǎo)致模型在分類(lèi)時(shí)容易產(chǎn)生混淆。
本文將所提自適應(yīng)脈沖編碼、常見(jiàn)的周期編碼和泊松編碼進(jìn)行了性能比較,實(shí)驗(yàn)結(jié)果見(jiàn)表1所列。從表1可以看出,采用自適應(yīng)編碼在性能表現(xiàn)上都優(yōu)于其他常見(jiàn)的編碼方式。
表1 不同編碼方式的性能比較
本文將所提模型LSTM-SNN同手語(yǔ)識(shí)別中現(xiàn)有的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)模型進(jìn)行性能比較,包括單層卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)、單層長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)、單層全連接網(wǎng)絡(luò)(fully connected,FC)、多并行卷積神經(jīng)網(wǎng)絡(luò)模型[21]、改進(jìn)支持向量機(jī)(support vector machine,SVM)模型[22]和人工神經(jīng)網(wǎng)絡(luò)模型[23]。另外,實(shí)驗(yàn)還搭建并訓(xùn)練了卷積脈沖神經(jīng)網(wǎng)絡(luò)(CNN-SNN)和全連接脈沖網(wǎng)絡(luò)(FC-SNN),這些模型的搭建與長(zhǎng)短時(shí)脈沖網(wǎng)絡(luò)的搭建類(lèi)似,將其中的激活函數(shù)替換為L(zhǎng)IF神經(jīng)元,再使用自適應(yīng)編碼和時(shí)間驅(qū)動(dòng)方式進(jìn)行訓(xùn)練。這些模型的實(shí)驗(yàn)結(jié)果見(jiàn)表2所列。
表2 不同模型的性能比較
從表2可以看出,所提模型LSTM-SNN在所有指標(biāo)上性能最好。另外,傳統(tǒng)神經(jīng)網(wǎng)絡(luò)LSTM、CNN和FC在采用脈沖神經(jīng)元之后性能都有一定程度提升。
本文提出一種輕量級(jí)長(zhǎng)短時(shí)記憶脈沖神經(jīng)網(wǎng)絡(luò)模型,該模型對(duì)輸入信號(hào)設(shè)計(jì)了自適應(yīng)脈沖編碼方法,改進(jìn)了LIF模型進(jìn)行網(wǎng)絡(luò)訓(xùn)練,實(shí)現(xiàn)對(duì)101個(gè)手語(yǔ)手勢(shì)的識(shí)別。實(shí)驗(yàn)結(jié)果表明,該模型在手語(yǔ)識(shí)別任務(wù)上較現(xiàn)有模型取得更高的準(zhǔn)確率。本研究還有不足之處,例如,沒(méi)有探討手語(yǔ)識(shí)別實(shí)時(shí)性的問(wèn)題,當(dāng)手語(yǔ)數(shù)據(jù)集擴(kuò)展后脈沖神經(jīng)網(wǎng)絡(luò)系統(tǒng)的魯棒性問(wèn)題,這些將在未來(lái)的工作中進(jìn)行研究。
合肥工業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版)2023年11期