喬波 王鑫 張恒瑋 李澤恩 楊夢
摘要:無聲語音接口(silent speech Interface,SSI)是一種基于非聲學(xué)信號的語音通信的系統(tǒng),使得說話可以在不具備發(fā)聲條件或背景嘈雜的環(huán)境下實現(xiàn),在現(xiàn)代康復(fù)醫(yī)療和強(qiáng)噪聲下語音交互等領(lǐng)域中被廣泛研究和應(yīng)用。該研究實現(xiàn)了基于表面肌電信號進(jìn)行無聲語音識別,并基于Android設(shè)計與開發(fā)了無聲語音識別APP,實現(xiàn)了對簡單文字的無聲識別,能提供安全、私密、可靠的語音通信。
關(guān)鍵詞:表面肌電信號;無聲語音識別;移動終端;Android;信號處理
中圖分類號:TP311.52 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2020)06-0213-04
1背景
作為智能計算機(jī)研究的主導(dǎo)方向和人機(jī)語音通信的關(guān)鍵技術(shù),語音識別技術(shù)一直受到各國科學(xué)界的廣泛關(guān)注。隨著語音識別技術(shù)日益成熟,應(yīng)用產(chǎn)品相繼被開發(fā),然而語音識別技術(shù)本身仍存在一些固有問題。1)背景噪音。實際應(yīng)用中,噪音是無法避免的,早期即使在實驗室環(huán)境下,敲擊鍵盤、挪動麥克風(fēng)都會成為背景噪音。它將破壞原始語音的頻譜,或者把原始語音部分或全部掩蓋掉,造成識別率下降。2)沒有隱秘性問題。傳統(tǒng)的語音識別主要通過聲音來進(jìn)行,但是發(fā)出聲音的同時不可避免地失去了隱秘性,這是無法避免的。研究將要解決的問題就是改變傳遞信息的方式,使系統(tǒng)的隱秘性提高。
無聲語音接口(Silent Speech Interface,SSI)是一種基于非聲學(xué)信號捕獲的,在安靜或嘈雜環(huán)境中提供安全可靠語音通信的系統(tǒng)。它通過從人體語言產(chǎn)生過程的元素獲取傳感器數(shù)據(jù),這些數(shù)據(jù)可以來自發(fā)音器,神經(jīng)通路,或者大腦本身。依靠SSI可以通過非聲學(xué)信號來獲取說話者想表達(dá)的內(nèi)容,使得交流可以在沒有發(fā)出聲音的情況下發(fā)生。表面肌電信號(Surfaceelectro-myogram,sEMG)是通過粘貼于人體皮膚表面的表面電極記錄的生物電信號。由于該信號能夠反映神經(jīng)和肌肉系統(tǒng)的功能和生理狀態(tài),并且從人體皮膚表面獲取,不會對人體造成損傷,因此在多個領(lǐng)域獲得深入研究和廣泛應(yīng)用,例如疾病診斷、假肢控制、遠(yuǎn)程操作機(jī)器人、康復(fù)治療等。早在1985年肌電信號就被用于無聲語音識別的研究,但直到2001年才有突破性進(jìn)展,chan等人使用肌電信號實現(xiàn)10個英文數(shù)字的識別正確率高達(dá)97%。之后大詞匯量以及連續(xù)識別成了重點的研究對象,被實驗證明肌電信號可以為識別提供足夠的信息?;诩∪庑盘柕臒o聲語音識別技術(shù)目前已趨入成熟和穩(wěn)定,單國內(nèi)外還未有推出市場應(yīng)用。
本文采用基于面部放置的傳感器獲取肌肉電信號(SEMG)的無聲語音接口(SSI),實現(xiàn)了一個面部肌電信號采集及動作識別系統(tǒng),該系統(tǒng)能夠采集到微弱的表面肌電信號,經(jīng)由安卓端的實現(xiàn)信號處理和識別應(yīng)用。
2基于安卓的無聲語音識別系統(tǒng)設(shè)計
該文基于Android應(yīng)用開發(fā)技術(shù),提出了無聲語音識別系統(tǒng)的框架,開發(fā)了一款無聲指令識別系統(tǒng)。本系統(tǒng)由硬件系統(tǒng)和軟件系統(tǒng)兩部分組成,如圖1所示,硬件系統(tǒng)為信號采集設(shè)備,包括電源、驅(qū)動電路、放大電路和通信模塊;軟件系統(tǒng)為Android應(yīng)用程序。本系統(tǒng)主要論述手機(jī)移動終端軟件的設(shè)計,通過本軟件用戶可以進(jìn)行無聲指令識別,手機(jī)終端的程序主要包括三個功能:1)控制設(shè)備采集;2)接收設(shè)備采集數(shù)據(jù)并作數(shù)據(jù)處理;3)信號識別和結(jié)果顯示。
本系統(tǒng)包括四層架構(gòu),分別是用戶訪問層、應(yīng)用層、服務(wù)層和數(shù)據(jù)層,如圖2所示。數(shù)據(jù)層為用戶管理,肌電信號識別和結(jié)果輸出提供數(shù)據(jù)支持。服務(wù)層提供系統(tǒng)各項功能所需要的服務(wù)支持。應(yīng)用層包括系統(tǒng)的四大功能,分別是:1)用戶管理功能:用戶管理模塊用來提供與用戶個人相關(guān)的信息和服務(wù),包含注冊、登錄、個人信息等功能。登錄,用戶輸入正確的用戶個人注冊信息,才可登錄,否則,登錄失敗。用戶登錄后可進(jìn)行用戶識別模型管理,用戶信號數(shù)據(jù)管理,用戶指令文本編輯;2)信號錄入功能。用戶可以設(shè)定訓(xùn)練數(shù)據(jù)錄入次數(shù);點擊錄入開始新建記錄:錄入可以取消,取消后可繼續(xù)錄人,重新錄人的數(shù)據(jù)將覆蓋已有數(shù)據(jù);3)信號處理和識別功能。在訓(xùn)練時,對錄入數(shù)據(jù)進(jìn)行信號處理,調(diào)用隨機(jī)森林算法建立模型,在應(yīng)用時,對實時輸入的信號處理之后調(diào)用模型進(jìn)行識別;(4)結(jié)果顯示功能。在Android系統(tǒng)識別此次的信號識別后,輸出對應(yīng)指令。用戶訪問層是指用戶通過訪問系統(tǒng)的各個功能和數(shù)據(jù),實現(xiàn)無聲語音識別功能。
系統(tǒng)的業(yè)務(wù)流程如圖3所示。初次使用本系統(tǒng)的用戶首先要注冊賬號,將用戶名和密碼寫入數(shù)據(jù)庫,然后通過硬件接收肌電信號,用戶需要將0-9每個數(shù)字重復(fù)多遍錄入,并將對應(yīng)信號寫入數(shù)據(jù)庫,錄入次數(shù)可由用戶自定義,系統(tǒng)調(diào)用信號處理算法進(jìn)行信號與處理后提取特征,調(diào)用識別算法進(jìn)行訓(xùn)練生成識別模型。用戶登錄后可以查看、編輯編號0-9所對應(yīng)的文本,在識別過程中首先接收測試肌電信號,調(diào)用信號處理算法得到特征后利用識別模型進(jìn)行分類識別得到結(jié)果,輸出結(jié)果對應(yīng)文本內(nèi)容。
3關(guān)鍵技術(shù)研究及實現(xiàn)
3.1數(shù)據(jù)庫的設(shè)計與實現(xiàn)
在本系統(tǒng)中,需要存儲用戶信息數(shù)據(jù)和肌電信號數(shù)據(jù),其中用戶信息數(shù)據(jù)通過數(shù)據(jù)庫存儲,肌電信號數(shù)據(jù)通過文件方式存儲。數(shù)據(jù)庫采用Android自帶的輕量級小型的sOLite數(shù)據(jù)庫,數(shù)據(jù)庫中包含每個用戶的賬號密碼信息和0-9對應(yīng)的用戶自定文本。每增加一個用戶,就新建一張用戶信息表,表名即為用戶名,如表1所示。肌電信號數(shù)據(jù)傳輸時,數(shù)據(jù)以字節(jié)流從信號采集裝置傳輸至手機(jī)端,之后再進(jìn)一步向文件流轉(zhuǎn)換,將轉(zhuǎn)換結(jié)果以文件形式保存在本地。
3.2數(shù)據(jù)傳輸模塊
設(shè)備通過5通道電極采集肌電信號數(shù)據(jù),電極位置圖如圖4所示,其中信道1,3,4是單端信號,信道2和信道5是兩對差分信號。電極使用了標(biāo)準(zhǔn)Ag/AgCl電極。實驗前,用酒精清洗皮膚,然后將電極貼在皮膚表面。設(shè)備與手機(jī)之間使用Wi-Fi通信進(jìn)行交互。Socket就是為網(wǎng)絡(luò)服務(wù)提供的一種機(jī)制。Socket和ServerSocket建立客戶端和服務(wù)器端建立連接后,通過Socket中的10流進(jìn)行數(shù)據(jù)的傳輸關(guān)閉socket;同樣,客戶端與服務(wù)器端是兩個獨立的應(yīng)用程序。本系統(tǒng)中,設(shè)備采集器即是服務(wù)端,App即是客戶端;客戶端明確服務(wù)器的ip地址以及端口(Socket s=new Socket(“192.168.4.1”,4321).),建立連接。連接成功后,先向設(shè)備發(fā)送訪問碼‘DDAA34,然后再讀取數(shù)據(jù),通過Socket對象提供的輸入流和輸出流對象gctInputStream(),getOut-putSlxeam(1實現(xiàn)。讀取結(jié)束后斷開連接關(guān)閉Socket。
3.3肌電信號處理模塊
肌電信號的分析和處理是識別的重要前提和基礎(chǔ)。本系統(tǒng)對sEMG信號的處理步驟如圖5所示,包括信號預(yù)處理、有效信號段分割、信號插值處理、特征提取及優(yōu)化、分類識別。在識別過程中,需要先對肌電信號進(jìn)行預(yù)處理,去除信號中干擾以及冗余的信息成分,然后再提取信號的特征參數(shù)。預(yù)處理過程和特征參數(shù)的提取方法,會影響到語音識別率的準(zhǔn)確度,如果無法提取出語音信號的特征,將會影響后續(xù)的訓(xùn)練過程,大大增加了識別的難度。語音信號的處理在整個信號識別的過程中具有重要的地位。
3.3.1信號預(yù)處理
由于表面肌電信號相對較弱,電力線干擾很可能造成嚴(yán)重的影響,掩蓋了表面肌電信號本身的特性。本研究使用自適應(yīng)陷波濾波器來恢復(fù)干擾,然后將其從被測信號中消除。sEMG的主要信息集中在20Hz-120Hz范圍內(nèi),可利用帶通濾波消除電力線信號的高次諧波和其他環(huán)境噪聲保持20Hz-120Hz的信號。
3.3.2有效信號段分割以及插值處理
對于訓(xùn)練信號,本系統(tǒng)采用連續(xù)錄入的方式,即用戶輸入訓(xùn)練數(shù)據(jù)錄入次數(shù)N后設(shè)備開始采集信號,對0-9的每一個數(shù)字,用戶將重復(fù)說N次,每次間隔1秒,所以一個記錄將包含N段有效信號,需要將這些有效信號分割出來。本系統(tǒng)采用[Geof-frey S.Mehzner,Glen Colby,Yunbin Deng,and James T.Heaton]提出的算法,該算法整合了不同通道的狀態(tài)信息判定是語音開始和結(jié)束。檢測到肌肉處于活動狀態(tài)后獲得相應(yīng)信號數(shù)據(jù),由于用戶說話的快慢不同,有效信號的長度也不一,一般有效信號的長度在200ms-400ms之間。為了規(guī)范化信號的長度,本研究使用線性插值將信號調(diào)整為每個通道400維的長度,使得數(shù)據(jù)可以利用機(jī)器學(xué)習(xí)分類算法進(jìn)行識別和判斷。
3.3.3特征提取及優(yōu)化
肌電信號是具有短時平穩(wěn)性的非平穩(wěn)信號可以對信號進(jìn)行短時分析,本系統(tǒng)采用的特征為時間特征。首先對信號進(jìn)行分幀,幀長為30ms,幀移為15ms。對每一個移動窗,提取四個特征值,分別為短時平均幅度、短時能量、短時平均過零率、短時平均幅值差:
考慮到一個肌肉蔟的活動會影響周圍肌透蔟粗的活動,特征從本質(zhì)上就存在相關(guān)性,并且從少量且有效的特征可以提高算法效率,本系統(tǒng)利用線性判別分析方法(LDA)將特征優(yōu)化至50維,用少量的特征維度保證高緯度的信息,獲得相似甚至同樣效果的分類結(jié)果。
3.3.4分類識別
在得到特征數(shù)據(jù)集后,可以利用常用的分類識別算法進(jìn)行模式識別。本研究首先實現(xiàn)了利用神經(jīng)網(wǎng)絡(luò),支持向量機(jī)和隨機(jī)森林進(jìn)行分類識別,然后對比了三種算法的識別結(jié)果,最終系統(tǒng)采用隨機(jī)森林樹進(jìn)行識別,采用信息增益率作為分裂準(zhǔn)則。
3.4界面設(shè)計及實現(xiàn)
1)登錄(如圖6所示):為了便于對用戶信息進(jìn)行安全管理,點擊“注冊”按鈕進(jìn)入注冊界面(如圖7所示),設(shè)置登錄所需賬號密碼以及錄入肌電信號數(shù)據(jù),注冊成功后,即可通過賬號和密碼登錄平臺。
2)注冊流程(如圖7-9所示):先輸入用戶名,后確定密碼(如圖7所示)。隨后進(jìn)入肌電信號選擇錄入界面(如圖8所示),選擇相應(yīng)數(shù)字開始進(jìn)行信號錄入。進(jìn)人數(shù)字錄入界面后,可以先對存儲文件和內(nèi)容進(jìn)行查看。進(jìn)行正式錄入時,用戶可選擇5次10次或20次錄入,點擊相應(yīng)按鈕,就可通過每秒增加1的“錄入次數(shù)”的提示進(jìn)行數(shù)據(jù)錄入(如圖9所示),“錄人次數(shù)”達(dá)到選擇次數(shù)后會自動停止增加。單個數(shù)字錄入完成后點擊“生成模板”按鈕生成算法所需模板。10個數(shù)字相應(yīng)數(shù)據(jù)全部錄入完成后可以點擊圖8的完成按鈕跳轉(zhuǎn)到登錄界面進(jìn)行登錄。
3)應(yīng)用流程(如圖10-14所示):信息操作界面(主頁)顯示了此App的功能(女口圖10所示)。點擊“設(shè)置文本”進(jìn)入文本設(shè)置界面(女口圖11所示),在此界面可以錄入0-9數(shù)字及自定義文本。點擊“工作”按鈕,可以進(jìn)入功能界面(如圖12)。在功能界面點擊“按下后說話”按鈕開始接收并處理用戶肌電信息。單次信息收集默認(rèn)為兩秒鐘,兩秒過后在數(shù)據(jù)顯示界面(如圖13所示濕示用戶輸入的數(shù)據(jù)所對應(yīng)的自定義文本。同時系統(tǒng)將生成臨時肌電數(shù)據(jù)。點擊“查看文本”進(jìn)入文本查看界面(女口圖14所示),在此界面可以查看用戶信息,自定義的數(shù)字對應(yīng)的文本以及各個肌電數(shù)據(jù)文件存儲路徑。其中還未錄入的數(shù)據(jù)顯示為null。
4結(jié)束語
本系統(tǒng)初步實現(xiàn)了一個肌電信號采集及動作識別系統(tǒng),該系統(tǒng)能夠采集到微弱的表面肌電信號并根據(jù)肌電信號識別面部動作,進(jìn)而通過安卓端的信號處理實現(xiàn)無聲識別和應(yīng)用,使得交互過程不會被外界噪聲干擾,并具有良好的安全性、保密性。在后續(xù)工作中可進(jìn)一步提升系統(tǒng)的功能性,提供動態(tài)的趣味的方式展示App界面以及簡化設(shè)備佩戴方式。