基于TTS技術(shù)和腦電采集設(shè)備的精神疲勞實驗系統(tǒng)設(shè)計與實現(xiàn)
精神疲勞是現(xiàn)代社會中的重要問題,嚴(yán)重影響了人們的生命和健康。在交通駕駛、航天航空、實時監(jiān)控、高風(fēng)險作業(yè)等行業(yè),許多事故的發(fā)生都與精神疲勞有關(guān),因此,對精神疲勞的分析及評價就顯得非常必要。
自對疲勞進(jìn)行研究以來,精神疲勞的測定經(jīng)歷了生理生化法、主觀評定法、生理反應(yīng)測定法等方法。這些傳統(tǒng)方法因有很大的局限性而很難做到客觀和定量化。隨著現(xiàn)代電子技術(shù)和醫(yī)學(xué)信號檢測與處理技術(shù)的發(fā)展,基于生理參數(shù)信號(腦電信號、心電信號等)的精神疲勞測定技術(shù)的研究受到越來越多的關(guān)注。
在精神疲勞的研究中,受試者的精神疲勞狀態(tài)一般通過不同的精神疲勞實驗來產(chǎn)生,并對相應(yīng)的精神疲勞狀態(tài)進(jìn)行量化標(biāo)定。其中,讓受試者進(jìn)行某種作業(yè),通過統(tǒng)計每次的完成時間或成功率來對受試者的疲勞狀態(tài)進(jìn)行標(biāo)定是一種廣泛采用的方法。Atsuo Murata等在其研究中讓受試者根據(jù)CRT顯示的兩個三位數(shù)做加法,根據(jù)其完成時間和正確率給出疲勞狀態(tài)的標(biāo)定,該方法中,受試者對計算機(jī)給出的操作命令需要經(jīng)過一定的心算或者判斷過程來完成。文獻(xiàn)中通過聽覺操作命令為實驗任務(wù)的方法,在按一定時間間隔播放的聲音序列中,隨機(jī)插入動作命令集合(上下左右)中的某一個,受試者聽到聲音命令后按下鍵盤上預(yù)先設(shè)定好的鍵,依據(jù)受試者操作正確率來標(biāo)定其疲勞狀態(tài)。隨著實驗進(jìn)行受試者精神達(dá)到一定疲勞狀態(tài),由于操作命令相對簡單,這種情況下,依照操作正確率標(biāo)定的疲勞狀態(tài)不能準(zhǔn)確反映受試者的疲勞狀態(tài)。本文采用基于腦電信號的精神疲勞測定技術(shù),將TTS技術(shù)應(yīng)用到精神疲勞實驗系統(tǒng)中,嘗試通過控制大腦認(rèn)知問題的難度來提高精神疲勞實驗的可控性,為后續(xù)精神疲勞的研究提供更可信有效的數(shù)據(jù)。
1 實驗系統(tǒng)總體設(shè)計
1.1 實驗系統(tǒng)總體設(shè)計思路
TTS技術(shù),又稱文語轉(zhuǎn)換技術(shù),它是將計算機(jī)自己產(chǎn)生的或外部輸入的文字信息轉(zhuǎn)換為能被人理解的、流利的語言輸出的技術(shù)。Microso ft Speech SDK 5.1全面支持中文語音應(yīng)用程序的開發(fā)。SDK中的底層協(xié)議都以COM組件的形式完全獨立于應(yīng)用程序?qū)?,語音相關(guān)的工作由COM組件來完成,程序員只需根據(jù)應(yīng)用程序的需要調(diào)用相關(guān)的語音應(yīng)用程序接口(SAPI)就可以實現(xiàn)語音功能。通過編制相應(yīng)的軟件程序,調(diào)用Microsoft Speech SDK 5.1的動態(tài)鏈接庫,利用系統(tǒng)中安裝的TTS引擎將精神疲勞實驗中隨機(jī)生成的一個等式判斷命令語句由文本轉(zhuǎn)換為語音讀出來,受試者以聽覺判斷命令為實驗任務(wù),同時由腦電采集設(shè)備采集腦電信號,然后根據(jù)受試者完成作業(yè)的質(zhì)量對相應(yīng)腦電信號數(shù)據(jù)進(jìn)行疲勞狀態(tài)的定量標(biāo)定。
基于TTS技術(shù)和腦電采集設(shè)備的精神疲勞實驗系統(tǒng)的總體設(shè)計流程如圖1所示。
1.2 硬件配置及開發(fā)環(huán)境
硬件配置條件:
1)計算機(jī)
實驗用標(biāo)準(zhǔn)配置計算機(jī)一臺,另有耳塞式耳機(jī)或音箱。
2)腦電信號采集設(shè)備
腦電信號的采集要通過專用的儀器設(shè)備完成,以實現(xiàn)安全、有效、可靠的獲取人的腦電信號數(shù)據(jù)供進(jìn)一步的分析處理。腦電采集設(shè)備種類繁多,文中使用由g.tec公司生產(chǎn)的g.USBamp信號放大采集設(shè)備,電極位置按照國際10—20標(biāo)準(zhǔn)導(dǎo)聯(lián)系統(tǒng)的電極安放,詳細(xì)電極位置見文獻(xiàn)。
開發(fā)環(huán)境配置條件:
軟件運(yùn)行環(huán)境為Win7系統(tǒng),安裝有Microsoft Simplified Chinese語音引擎,開發(fā)工具為VC6.0。
2 實驗系統(tǒng)各模塊設(shè)計與實現(xiàn)
本實驗系統(tǒng)的目的是完成標(biāo)定有相應(yīng)精神疲勞狀態(tài)的腦電信號數(shù)據(jù)的采集存儲,實驗系統(tǒng)主要包括兩個部分:腦電采集和聽警覺作業(yè)。
腦電采集是通過腦電采集設(shè)備完成對受試者腦電信號的采集,聽警覺作業(yè)是讓受試者對聽到的判斷命令進(jìn)行判斷選擇,同時系統(tǒng)會記下受試者每次選擇判斷的時間和正誤,最后依據(jù)作業(yè)完成質(zhì)量對疲勞狀態(tài)進(jìn)行量化標(biāo)定。實驗首先進(jìn)行腦電信號的采集,在腦電信號開始采集的初始階段,只采集受試者的腦電信號,直到聽警覺作業(yè)開始的同時才進(jìn)行腦電數(shù)據(jù)的存儲。這樣即丟棄了開始采集腦電信號時因設(shè)備不穩(wěn)定而獲取的不準(zhǔn)確數(shù)據(jù),同時保證了存儲下來的數(shù)據(jù)是受試者在作業(yè)過程中的腦電信號數(shù)據(jù)。這兩部分工作分別由2個線程來完成。
2.1 腦電采集模塊
腦電信號采集部分由數(shù)據(jù)采集線程來完成,其主要實現(xiàn)過程如圖2所示。
m_EEGRunFlag為數(shù)據(jù)采集狀態(tài)標(biāo)志,開始腦電采集后,開啟腦電數(shù)據(jù)采集線程。腦電信號的獲取是由g.tec公司提供的API函數(shù)編程實現(xiàn)的,創(chuàng)建overlapped結(jié)構(gòu)事件對象的目的是避免阻塞線程,系統(tǒng)調(diào)用獲取數(shù)據(jù)的函數(shù)時可以立即返回,但是直到overlapped結(jié)構(gòu)中事件被觸發(fā)數(shù)據(jù)才是有效的,用WaitForSingleObject()函數(shù)來判斷數(shù)據(jù)傳輸是否結(jié)束,用GetOvedappedResuk()函數(shù)來檢索獲取的有效字節(jié)數(shù)目。此時在線程中只獲取而不存儲腦電數(shù)據(jù),直到m_RunFlag為TRUE才開始腦電數(shù)據(jù)的存儲。
2.2 聽警覺作業(yè)模塊
聽警覺作業(yè)部分由作業(yè)線程來完成,其主要實現(xiàn)過程如圖3所示。
m_RunFlag為聽警覺作業(yè)狀態(tài)標(biāo)志,開始作業(yè)后,開啟作業(yè)線程。開始聽警覺作業(yè)的同時開始數(shù)據(jù)采集線程中數(shù)據(jù)的存儲。受試者聽到聲音后,對判斷命令進(jìn)行選擇判斷,兩次朗讀判斷命令時間間隔由定時器控制,受試者操作結(jié)束后,等待定時器被觸發(fā)系統(tǒng)朗讀下一次判斷命令。當(dāng)判斷命令達(dá)到50次時,m_RunFlag置為FAISE,同時數(shù)據(jù)采集線程中不再存儲數(shù)據(jù),保存受試者作業(yè)信息,作業(yè)線程結(jié)束。其中,TTS朗讀判斷命令和受試者選擇操作的實現(xiàn)過程如圖4所示。
a、b、c為隨機(jī)生成的整數(shù),a、b、c的范圍可自由調(diào)整,通過調(diào)整a、b的范圍可以調(diào)整作業(yè)的復(fù)雜度,圖4中選擇進(jìn)行20以內(nèi)整數(shù)的加法。c由a、b隨機(jī)得到,最終生成的文本內(nèi)容可能正確可能錯誤(如:可能是3+5=8或者15+7=19)。受試者在聽到判斷命令后,經(jīng)過心算判斷系統(tǒng)讀出的判斷命令的正誤,然后按下鍵盤上預(yù)先設(shè)定好的鍵(如:錯誤按←,正確按→)。受試者在聽到判斷命令后的1.5 s內(nèi)按鍵視為有效操作,如果受試者沒有在有效時間內(nèi)按鍵或者沒有按鍵視為此次操作錯誤。如果判斷正確,對應(yīng)正確操作次數(shù)m_Tnum加1。
評論