本發(fā)明屬于依靠人體生物信號的字符輸入技術(shù)領(lǐng)域,特別涉及一種基于EOG的異步字符輸入方法及裝置。
背景技術(shù):
為了讓具有運(yùn)動功能障礙的殘疾人也能跟外界交互,提高他們的生活質(zhì)量和自理能力,一類利用人體生物電信號實現(xiàn)與計算機(jī)或外部設(shè)備通信的新型人機(jī)接口已經(jīng)成為近年來研究的前沿和熱點。人體的生物電信號主要包括腦電(EEG,Electroencephalogram)、肌電(EMG,Electromyography)、心電(ECG,Electrocardiogram)、眼電(EOG,Electrooculogram)?;谏镫娦盘枌崿F(xiàn)的人機(jī)接口幾乎不需要使用者進(jìn)行任何顯著的運(yùn)動,即能實現(xiàn)與外界的交互,對于具有嚴(yán)重運(yùn)動障礙的殘疾人(如肌萎縮性側(cè)索硬化ALS,腦干中風(fēng),脊髓損傷SCI等)來講具有重大意義。
在以上生物電信號中,心電很難受人自主控制,肌電信號要求使用者具有能運(yùn)動的同時又適合用來作為控制信號的肌肉組織,腦電信號比較復(fù)雜而且很微弱,用于實現(xiàn)高性能人機(jī)接口的難度較大,所以現(xiàn)有技術(shù)中涉及的人機(jī)接口相當(dāng)一部分采用眼電信號。眼電(EOG,Electrooculogram),是由眼球水平運(yùn)動、垂直運(yùn)動、轉(zhuǎn)動或眨眼等動作產(chǎn)生的生物電信號。
公開號為CN1601445A的中國發(fā)明專利申請,于2005年3月30日公開了一種“多功能人體生物眼電開關(guān)控制裝置”,該方案將受試者連續(xù)3次,4次,5次眨眼對應(yīng)的眼電信號作為控制命令,用于開關(guān)外部設(shè)備。該方法控制指令單一,無法滿足復(fù)雜的人機(jī)交互任務(wù)。
公開號為CN102129307A的中國發(fā)明專利申請,于2011年7月20日公開了“一種基于眼電信號的計算機(jī)輸入控制方法”,在該方案中,虛擬鍵盤中的行列以循環(huán)的方式高亮,同時由眼電采集模塊采集并識別眼電,當(dāng)識別到眼電信號時將當(dāng)前高亮的行列判定為目標(biāo)字符所在的行列,該方案采用的眼電識別策略為當(dāng)檢測到連續(xù)30毫秒的信號幅值均大于120μV時判斷為一個眨眼。雖然通過該專利公開的方法確實能夠進(jìn)行復(fù)雜的計算機(jī)輸入控制,但至少還存在以下幾點不足。首先,該專利公開的其中一個具體實施例鍵盤輸入,由7行8列組成的鍵盤區(qū)以行列的形式循環(huán)高亮,每次高亮?xí)r間為1秒,所以理論上一輪循環(huán)高亮的時間為15秒,假設(shè)每次眨眼都能成功被檢測,那么輸入一個字符的時間平均需要7.5秒(行列無需完整閃完),如果某一次眨眼檢測不成功則時間至少會再增加7-8秒,所以字符輸入的速度比較慢。其次,該公開方法不能很好的控制誤報,當(dāng)設(shè)備啟動但使用者暫時不想輸入字符時,也會因為不自主的眨眼而產(chǎn)生誤輸入。最后,該公開方法對眨眼檢測的策略過于簡單,只是對連續(xù)30毫秒內(nèi)的信號進(jìn)行閾值判斷,這種判斷條件過于松弛,因為眼球的其他運(yùn)動比如水平掃視、斜視、轉(zhuǎn)動、跳視等也很容易產(chǎn)生一個超過120μV的眼電波而被誤判為眨眼,進(jìn)而產(chǎn)生誤輸入,但實際上這些眼電活動在波形上跟眨眼是存在明顯差別的。
因此,提供一種根據(jù)眼電信號準(zhǔn)確輸入字符的方法及裝置具有重要的意義。
技術(shù)實現(xiàn)要素:
本發(fā)明的主要目的在于克服現(xiàn)有技術(shù)的缺點與不足,提供一種基于EOG的異步字符輸入方法,在保證眨眼被正常檢測的同時,有效排除對非眨眼信號的誤判,提高了字符輸入的準(zhǔn)確率。
本發(fā)明的另一目的在于提供一種基于EOG的異步字符輸入裝置,其能夠?qū)崿F(xiàn)保證眨眼被正常檢測的同時,有效排除對非眨眼信號的誤判,提高了字符輸入的準(zhǔn)確率。
本發(fā)明的目的通過以下的技術(shù)方案實現(xiàn):一種基于EOG的異步字符輸入方法,包括以下步驟:
在顯示器上顯示的虛擬鍵盤,假設(shè)共有N個鍵,虛擬鍵盤一輪一輪進(jìn)行閃爍,在每一輪中,所有N個鍵隨機(jī)閃爍一次;拼寫時用戶跟著目標(biāo)鍵的閃爍進(jìn)行眨眼,眼電采集模塊實時采集用戶的眼電信號,從采集到的眼電信號中截取一個按鍵閃亮后一段時間之內(nèi)的眼電數(shù)據(jù)作為該閃爍鍵的原始特征向量,每一輪就產(chǎn)生N個原始特征向量,當(dāng)這N個原始特征向量收集完成時調(diào)用眼電識別方法進(jìn)行識別,眼電識別算法將輸出0-N中的某一個結(jié)果,0表示不滿足字符輸入的條件,1-N對應(yīng)虛擬鍵盤上的N個按鍵。
具體步驟如下:
S1:虛擬鍵盤一輪一輪進(jìn)行閃爍,在每一輪中,所有N個鍵隨機(jī)閃爍一次,拼寫時用戶跟著目標(biāo)鍵的閃爍進(jìn)行眨眼,眼電采集模塊實時采集用戶的眼電信號,從采集到的眼電信號中為每個按鍵截取其閃亮后100-500毫秒時間范圍之內(nèi)的眼電數(shù)據(jù)作為該按鍵在本輪閃爍中的初始特征;
S2:對所截取到的初始特征數(shù)據(jù)依次進(jìn)行包括去除基線漂移、去除50Hz工頻干擾以及0.1-30Hz帶通濾波在內(nèi)的預(yù)處理;
S3:對步驟S2預(yù)處理之后的眼電數(shù)據(jù)x求一階差分,具體方法為:
di=xi+1-xi
其中,i表示第i個采樣點,d表示差分后的信號;
S4:對差分之后的N個特征D=[d1,d2,...,dN],對應(yīng)一輪中N次按鍵閃爍,進(jìn)行SVM分類和波形檢測,得到N個SVM分類結(jié)果S=[s1,s2,...,si,...,sN]和N個波形檢測結(jié)果W=[w1,w2,...,wi,...,wN],其中對SVM分類結(jié)果S只保留其最大的前M個分值并將其余置零;將SVM分類結(jié)果S和波形檢測結(jié)果W相乘,得到Rt,t表示第t輪:
Rt是一個包含M個非零值的N維行向量。
S5:遍歷Rt,若不存在則當(dāng)前輪無目標(biāo)輸出,返回步驟S1繼續(xù)檢測;若存在則滿足的按鍵被視為當(dāng)前輪的候選目標(biāo),作進(jìn)一步判斷;
S6:在連續(xù)三次的檢測中(第t,t-1,t-2次檢測),如果沒有任何一個按鍵兩次被檢測為候選目標(biāo),則當(dāng)前輪無目標(biāo)輸出,輸出結(jié)果為0,返回步驟S1繼續(xù)檢測;否則,對應(yīng)最大的按鍵被確定為目標(biāo),并根據(jù)按鍵執(zhí)行其對應(yīng)的操作,然后轉(zhuǎn)入步驟S1繼續(xù)檢測。
優(yōu)選的,所述虛擬鍵盤有4行10列共40個按鍵組成。
具體的,虛擬鍵盤所有按鍵以一種“有條件的隨機(jī)”方式閃亮,具體閃亮方式為:以1.2秒為一輪,在一輪中40個按鍵中的每一個都將閃亮一次,每個按鍵每次閃亮的持續(xù)時間為100毫秒,相鄰兩個閃爍按鍵之間的時間間隔為30毫秒。
進(jìn)一步的,所述“有條件的隨機(jī)”閃亮方式是指在每輪閃爍中,40個按鍵的先后順序是隨機(jī)的,但需要滿足以下兩個條件:
(1-1)任何一個按鍵在連續(xù)兩輪中閃亮的時間間隔不少于600毫秒;
(1-2)確定一輪中按鍵的閃爍順序時,需要確定前兩輪按鍵閃爍的先后順序,即盡量保證任何一個字符周圍不會出現(xiàn)前兩輪中該字符周圍出現(xiàn)過的字符。
優(yōu)選的,所述步驟S4中的波形檢測包括以下步驟:
差分信號Di進(jìn)行以下3個條件的檢查:a、波谷在波峰出現(xiàn)以后40-140毫秒的位置出現(xiàn);b、波峰/波谷對應(yīng)整段信號的最大/最小值點;c、波峰到波谷這段信號的能量總和大于預(yù)先設(shè)定的閾值P;
當(dāng)這3個條件都檢查通過時,則該差分信號Di對應(yīng)的按鍵i的波形檢查通過;wi取值為0或1,wi=0表示特征di的波形檢測不通過,wi=1表示特征di的波形檢測通過。
優(yōu)選的,所述步驟S4中用到的SVM分類器需事先訓(xùn)練好,訓(xùn)練過程包含以下步驟:
(4-1)采集若干次試驗的眼電數(shù)據(jù),每次試驗有一個指定的目標(biāo)鍵,且每次試驗進(jìn)行若干輪,在每一輪中N個按鍵以隨機(jī)方式各閃亮一次,要求用戶只有當(dāng)目標(biāo)按鍵閃亮?xí)r執(zhí)行眨眼操作,這樣在每一次試驗,每一輪中,每一個按鍵都產(chǎn)生一個特征向量,所有特征向量包含了訓(xùn)練SVM分類器所需要的正負(fù)樣本;
(4-2)在所有采集到的特征向量中,目標(biāo)按鍵對應(yīng)的特征為正樣本特征,賦予標(biāo)簽1;非目標(biāo)按鍵對應(yīng)的特征為負(fù)樣本特征,賦予標(biāo)簽-1;
(4-3)用這些帶標(biāo)簽的正負(fù)樣本訓(xùn)練SVM分類器。
優(yōu)選的,當(dāng)虛擬鍵盤有40個鍵時,步驟S4中M取值為5。
一種基于EOG的異步字符輸入裝置,包括電極、眼電采集模塊、計算機(jī)主機(jī)和顯示器;電極通過自帶的連接導(dǎo)線與眼電采集模塊相連,眼電采集模塊得到的眼電信號通過普通串口跟計算機(jī)主機(jī)連接,計算機(jī)主機(jī)通過普通VGA連接線與顯示器連接。
優(yōu)選的,電極為普通氯化銀電極。
優(yōu)選的,眼電采集模塊包括信號放大模塊、信號濾波模塊、A/D轉(zhuǎn)換模塊以及串口通信模塊,其中:
(1)信號放大模塊基于INA128芯片,其共模抑制比在120db以上,放大倍數(shù)在1000倍以上;
(2)信號濾波模塊基于OPA4227芯片,包含了一個截止頻率為3Hz的二階巴特沃斯高通濾波器,一個截止頻率為25Hz的四階巴特沃斯低通濾波器,以及一個巴特沃斯50Hz陷波濾波器;
(3)A/D轉(zhuǎn)換模塊基于AD7606芯片,其轉(zhuǎn)換精度為16位;
(4)串口通信模塊采用STM32自帶的串口通信模塊。
本發(fā)明與現(xiàn)有技術(shù)相比,具有如下優(yōu)點和有益效果:
(1)在眨眼檢測中,本發(fā)明采用波形匹配和SVM分類兩種方法結(jié)合,在保證眨眼被正常檢測的同時,基本上排除了對非眨眼信號的誤判。
(2)本發(fā)明將按鍵的閃亮?xí)r序嚴(yán)格地作為用戶眨眼的時機(jī),一方面增加了眨眼檢測的精度,另一方面可以將一個生理上毫無區(qū)別的眨眼動作對應(yīng)成40種不同的按鍵操作,進(jìn)而實現(xiàn)本發(fā)明所公開的多達(dá)40個不同按鍵的EOG虛擬鍵盤,并且加快了字符的輸入速度。
(3)本發(fā)明提取的“有條件的隨機(jī)閃爍”能很好的解決對時序很接近的非目標(biāo)鍵的錯判。
(4)本發(fā)明中采取3輪中檢測到2次才認(rèn)為是目標(biāo)輸入的機(jī)制,既有助于降低非自主眨眼引起的誤報,也能減少正直眨眼時錯判為其他鍵。
附圖說明
圖1是本實施例電極布置示意圖;
圖2是本實施例眼電采集模塊框圖;
圖3是本實施例基于EOG的異步字符輸入實現(xiàn)方法流程圖;
圖4是本實施例虛擬鍵盤示意圖。
具體實施方式
下面結(jié)合實施例及附圖對本發(fā)明作進(jìn)一步詳細(xì)的描述,但本發(fā)明的實施方式不限于此。
參見圖1、2,本實施例一種基于EOG的異步字符輸入裝置,包括電極、眼電采集模塊、計算機(jī)主機(jī)和顯示器。電極通過自帶的連接導(dǎo)線與眼電采集模塊相連,眼電采集模塊得到的眼電信號通過普通串口跟計算機(jī)主機(jī)連接,計算機(jī)主機(jī)通過普通VGA連接線與顯示器連接。
電極為普通氯化銀電極,如圖1,本實施例中包括3個電極(GND:接地,E:眼電,REF:參考),用于采集被試眼電信號。
眼電采集模塊,其采集眼電時所用的采樣率為250Hz,如圖2,包括:信號放大、信號濾波、A/D轉(zhuǎn)換以及串口通信等四個子模塊,各個子模塊的特點為:
(1)信號放大模塊主要基于INA128芯片設(shè)計,其共模抑制比在120db以上,放大倍數(shù)在1000倍以上;
(2)信號濾波模塊主要基于OPA4227芯片設(shè)計,包含了一個截止頻率為3Hz的二階巴特沃斯高通濾波器,一個截止頻率為25Hz的四階巴特沃斯低通濾波器,以及一個巴特沃斯50Hz陷波濾波器;
(3)A/D轉(zhuǎn)換模塊主要基于AD7606芯片設(shè)計,其轉(zhuǎn)換精度為16位;
(4)串口通信模塊主要基于STM32自帶的串口通信模塊實現(xiàn)。
本實施例中,計算機(jī)主機(jī)為普通PC機(jī)(臺式機(jī)或筆記本電腦),操作系統(tǒng)為Windows XP或Windows 7。顯示器為普通液晶顯示器。
本實施例基于上述裝置的EOG的異步字符輸入方法,如圖3,包括以下步驟:
S1:顯示器上顯示虛擬鍵盤,所述虛擬鍵盤有4行10列共40個按鍵組成,如圖4所示。
虛擬鍵盤所有按鍵以一種“有條件的隨機(jī)”方式閃亮,具體閃亮方式為以1.2秒為一個round(指一輪),在一個round中40個按鍵中的每一個都將閃亮一次,每個按鍵每次閃亮的持續(xù)時間為100毫秒,相鄰兩個閃爍按鍵之間的時間間隔為30毫秒。
所述“有條件的隨機(jī)”閃亮方式是指在每個round閃爍中,40個按鍵的先后順序是隨機(jī)的,但需要滿足以下兩個條件:
(1)任何一個按鍵在連續(xù)兩個round中閃亮的時間間隔不少于600毫秒。
(2)確定一個round中按鍵的閃爍順序時,需要考慮前兩個round按鍵閃爍的先后順序,即盡量保證任何一個字符周圍不會出現(xiàn)前兩個round中該字符周圍出現(xiàn)過的字符。假設(shè)第i個round按鍵10前后各3個出現(xiàn)過的按鍵為集合A{1,2,3,5,12,6},第i+1個round按鍵10前后各3個出現(xiàn)過的按鍵為集合B{4,14,8,30,36,11},則在確定第i+2個round的閃爍順序時,按鍵10前后的各3個閃爍鍵不能屬于集合A或集合B。
S2:虛擬鍵盤按步驟S1的方式一輪一輪閃爍,拼寫時要求用戶跟著目標(biāo)鍵的閃爍眨眼,從眼電采集模塊采集到的眼電信號中截取一個按鍵閃亮?xí)r開始100-500毫秒的眼電數(shù)據(jù)作為該閃爍鍵的原始特征,每個round對應(yīng)有40個原始特征向量,當(dāng)這40個原始特征向量收集完成時調(diào)用眼電識別算法進(jìn)行識別,眼電識別算法將輸出0-40中的某一個結(jié)果,0表示不滿足字符輸入的條件,1-40對應(yīng)步驟2界面上的40個按鍵。
本步驟的詳細(xì)過程包括如下步驟:
S2-1:截取每個按鍵閃亮后100-500毫秒的眼電數(shù)據(jù)作為初始特征。
注意到步驟S1中兩個閃爍按鍵之間的時間間隔為30毫秒,所以按鍵的初始特征之間會有數(shù)據(jù)重疊,但這種重疊不影響本發(fā)明的實施。
S2-2:對所采集到的持續(xù)時間為400毫秒的初始特征數(shù)據(jù)依次進(jìn)行包括去除基線漂移、去除50Hz工頻干擾以及0.1-30Hz帶通濾波在內(nèi)的預(yù)處理。
S2-3:對步驟S2-2預(yù)處理之后的眼電數(shù)據(jù)x求一階差分,具體方法為:
di=xi+1-xi
其中,i表示第i個采樣點(采樣頻率為250Hz,400毫秒的特征共包含100個采樣點),d表示差分后的信號。
S2-4:對差分之后的40個特征D=[d1,d2,...,d40],對應(yīng)一個round中40次按鍵閃爍,進(jìn)行SVM分類和波形檢測,得到40個SVM分類結(jié)果S=[s1,s2,...,si,...,s40]和40個波形檢測結(jié)果W=[w1,w2,...,wi,...,w40],其中對S只保留其最大的前5個分值并將其余置零。將SVM分類結(jié)果S和波形檢測結(jié)果W相乘,得到Rt:
S2-5:遍歷Rt,若不存在則當(dāng)前round無目標(biāo)輸出,返回步驟S2-1繼續(xù)檢測;若存在則滿足的按鍵被視為當(dāng)前Round的候選目標(biāo),作進(jìn)一步判斷。
S2-6:在連續(xù)三次的檢測中(第t,t-1,t-2次檢測),如果沒有任何一個按鍵兩次被檢測為候選目標(biāo),則當(dāng)前round無目標(biāo)輸出,輸出結(jié)果為0,返回步驟S2-1繼續(xù)檢測;否則,對應(yīng)最大的按鍵被確定為目標(biāo),并執(zhí)行其對應(yīng)的操作,如輸出相應(yīng)字符,刪除字符,大小寫切換和鍵盤鎖定等操作,然后轉(zhuǎn)入步驟S2-1繼續(xù)檢測。
比如第t-1輪候選按鍵1、2、3,第t輪候選按鍵2、3、4,那么按鍵2、3都滿足條件,則對按鍵2、3進(jìn)行計算,因第t-2輪候選肯定沒有2、3(否則第t-1輪就應(yīng)該輸出2或3了),則計算按鍵2、3在t-2,t-1,t輪的r值之和,選出最大的為目標(biāo)。注意第t-2輪的r值實際上是0,因t-2輪的候選中沒有2、3。
所述步驟S2-4中的波形檢測是指對差分信號Di進(jìn)行以下3個條件的檢查:(1)波谷在波峰出現(xiàn)以后40-140毫秒的位置出現(xiàn);(2)波峰/波谷確實對應(yīng)整段信號的最大/最小值點;(3)波峰到波谷這段信號的能量總和大于預(yù)先設(shè)定的閾值P。當(dāng)這3個條件都檢查通過時,則該差分信號Di對應(yīng)的按鍵i的波形檢查通過。wi取值為0或1,wi=0表示特征di的波形檢測不通過,wi=1表示特征di的波形檢測通過
所述步驟S2-4中用到的SVM分類器需事先訓(xùn)練好,訓(xùn)練過程包含以下步驟:(1)按步驟S2-1,S2-2,S2-3的方式采集20次試驗的眼電數(shù)據(jù),每次試驗有一個指定的目標(biāo)鍵,且包含10個round,在每個round中40個按鍵以隨機(jī)方式各閃亮一次,只有當(dāng)目標(biāo)按鍵閃亮?xí)r執(zhí)行眨眼操作,這樣采集到的數(shù)據(jù)包含了訓(xùn)練SVM分類器所需要的正負(fù)樣本;(2)在所有采集到的8000個(20次試驗×10個round×40個按鍵)特征向量中,目標(biāo)按鍵對應(yīng)的特征為正樣本特征(共200個),賦予標(biāo)簽1;非目標(biāo)按鍵對應(yīng)的特征為負(fù)樣本特征(共7800個),賦予標(biāo)簽-1;(3)用這些帶標(biāo)簽的正負(fù)樣本訓(xùn)練SVM分類器。
因眨眼波形比較穩(wěn)定,且兩類(眨眼信號和非眨眼信號)之間的區(qū)分度比較大,所以訓(xùn)練好的一個SVM分類器經(jīng)試驗可以被不同的用戶長期使用,若某些用戶效果不佳則可以針對性的再訓(xùn)練一個特定的SVM分類器。
上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受上述實施例的限制,其他的任何未背離本發(fā)明的精神實質(zhì)與原理下所作的改變、修飾、替代、組合、簡化,均應(yīng)為等效的置換方式,都包含在本發(fā)明的保護(hù)范圍之內(nèi)。