摘 要:基于TGAM腦電模塊利用Unity引擎設(shè)計(jì)了一款腦機(jī)接口游戲。通過TGAM腦電模塊對(duì)腦電波進(jìn)行特征提取,對(duì)所提取的特征進(jìn)行處理后獲得用戶的專注度和眨眼信號(hào);Unity引擎根據(jù)從腦電波中提取的專注度數(shù)據(jù)和眨眼信號(hào)來控制小球的速度變化和跳躍行為。此種控制方法能夠大大提升用戶玩游戲時(shí)的沉浸感和新鮮感,還能訓(xùn)練玩家的專注度,是將腦機(jī)接口技術(shù)應(yīng)用于游戲領(lǐng)域的一次成功探索。
關(guān)鍵詞:腦機(jī)接口;腦波特征提??;小波分解與重構(gòu);TGAM模塊;Unity引擎;游戲開發(fā)
中圖分類號(hào):TP39 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2024)09-00-03
DOI:10.16667/j.issn.2095-1302.2024.09.003
0 引 言
隨著經(jīng)濟(jì)和科技的發(fā)展,人們?cè)絹碓阶非蟾奖?、快捷的生活方式和更高質(zhì)量的娛樂體驗(yàn)。腦波控制技術(shù)作為一種通過大腦指令來操縱外部設(shè)備或機(jī)器的前沿技術(shù),能夠滿足人們?cè)絹碓礁叩男枨骩1-6]。為了提高人們的游戲體驗(yàn),本文重點(diǎn)研究如何將腦波控制技術(shù)與生活中常見的游戲結(jié)合起來。
腦機(jī)接口(Brain Computer Interface, BCI)技術(shù)是一種通過外部設(shè)備采集腦電波并對(duì)其一系列特征進(jìn)行處理和提取,再根據(jù)提取的特征控制外設(shè)的方法[7-11]。本文主要研究的是基于TGAM模塊的頭戴式設(shè)備,用戶通過佩戴該設(shè)備采集腦電信號(hào),并通過特征提取算法提取eSense參數(shù)(包括專注度、放松度)以及眨眼信號(hào)強(qiáng)度,最后根據(jù)提取到的信號(hào)對(duì)游戲進(jìn)程進(jìn)行交互與控制。
1 基于TGAM的腦電波特征提取與處理
1.1 腦電波的特征
腦電波主要指人腦活動(dòng)時(shí)所產(chǎn)生的電信號(hào)。人類每分每秒都在釋放腦電波,常見的腦電波可以分為δ波、θ波、α波、β波4類[12-13],具體波形和頻率分布如圖1所示。
1.2 信號(hào)采集
本項(xiàng)目使用頭戴式TGAM設(shè)備,其中集成了TGAM模塊、藍(lán)牙串口、鋰電池、穩(wěn)壓模塊、額頭電極、耳垂電極和信號(hào)線等組件。頭戴式TGAM腦電波信號(hào)采集設(shè)備如圖2所示。
1.3 信號(hào)獲取
頭戴式TGAM設(shè)備每秒發(fā)送513個(gè)數(shù)據(jù)包,其中前512個(gè)
數(shù)據(jù)包包含腦電波原始信號(hào),最后一個(gè)數(shù)據(jù)包中包含信號(hào)強(qiáng)度、eSense參數(shù)值等數(shù)據(jù)。信號(hào)強(qiáng)度反映當(dāng)前所接收信號(hào)的質(zhì)量;eSense參數(shù)值則是通過eSense算法對(duì)腦電信號(hào)進(jìn)行處理后得出的用以描述受試者專注度或放松度的值,大小在0~100范圍內(nèi)。
1.4 信號(hào)的處理與特征提取
小波分解與重構(gòu)算法的主要步驟為:第一步,針對(duì)一個(gè)由多頻率分量組成的波,通過小波分解將所有的頻率分量分解出來;第二步,針對(duì)在信號(hào)處理過程中被修改過的系數(shù)集(細(xì)節(jié)系數(shù)集),應(yīng)用多分辨率重構(gòu)算法進(jìn)行逐級(jí)重構(gòu)。對(duì)腦電波信號(hào)的具體處理結(jié)果如圖3、圖4所示。
2 Unity引擎與腦電波提取和處理函數(shù)的結(jié)合
針對(duì)鍵盤、手柄等目前市場上通用的一些輸入設(shè)備,Unity引擎內(nèi)置了檢測(cè)其輸入的方法。但腦電設(shè)備無法作為一種輸入設(shè)備直接被Unity引擎識(shí)別,因此需預(yù)先對(duì)其進(jìn)行處理,以便其可以通過Unity引擎正常獲取和處理腦電信號(hào),并將所獲得的信號(hào)作為輸入信號(hào)應(yīng)用于游戲。由于Unity內(nèi)部的開發(fā)環(huán)境特殊,無法直接使用相應(yīng)的腦電波處理函數(shù),故須使用官方提供的Unity插件。該插件的主要功能是與腦電設(shè)備建立連接并按一定周期接收數(shù)據(jù)。Unity插件與腦電設(shè)備并非直接通過藍(lán)牙端口建立連接,而是通過TCP端口連接。這是由于官方為方便用戶建立腦電設(shè)備與電腦間的連接而提供了一個(gè)TGC(Think Gear Connector)軟件,該軟件能在相關(guān)腦機(jī)軟件運(yùn)行時(shí)自動(dòng)尋找已配對(duì)的腦電設(shè)備并連接,省去了用戶自行尋找對(duì)應(yīng)端口等操作。該軟件與設(shè)備連接成功后便會(huì)建立一個(gè)TCP服務(wù)端,其他軟件可通過Socket連接至該服務(wù)端以傳輸數(shù)據(jù)。服務(wù)端的參數(shù)見表1所列。
Unity插件是在默認(rèn)用戶已安裝Unity軟件的基礎(chǔ)上設(shè)計(jì)的。一旦調(diào)用了該插件的連接函數(shù),插件便會(huì)在一定時(shí)間的延遲后通知TGC軟件連接腦電設(shè)備,然后插件會(huì)與其服務(wù)端建立Socket連接,每隔一段固定時(shí)間便會(huì)獲取一次數(shù)據(jù)。之后若要使用某個(gè)腳本中的某項(xiàng)數(shù)據(jù),只須在該腳本的啟動(dòng)函數(shù)中查找插件引用的預(yù)制體,并使用該預(yù)制體重寫想要獲取的某一數(shù)據(jù)相關(guān)事件的更新函數(shù)即可。若想要獲取eSense參數(shù)中的專注度,則可通過以下代碼先獲取預(yù)制體引用:
controller = GameObject.Find(\"NeuroSkyTGCController\").
GetComponentlt;TGCConnectionControllergt;();
之后通過該controller引用重寫與專注度相關(guān)的更新函數(shù)即可,代碼如下:
controller.UpdateAttentionEvent += OnUpdateAttention;
void OnUpdateAttention(int value){
attention = value;
}
其中attention變量存儲(chǔ)了經(jīng)過腦電設(shè)備處理和傳輸?shù)膶W⒍葦?shù)據(jù),可將其作為輸入量應(yīng)用于游戲設(shè)計(jì)中。本文將其作為影響小球速度的一個(gè)變量,代碼如下:
rigid.velocity = new Vector3(x * turnspeed, rigid.velocity.y, -1.0f * (speed + attention) * 0.05f );
通過該代碼,便可以讓用戶通過調(diào)整自身專注度來控制小球的速度,專注度越高,小球的速度越快。通過Unity引擎可獲得的腦電波信號(hào)種類很多,本文選擇比較穩(wěn)定和準(zhǔn)確的專注度和眨眼信號(hào)強(qiáng)度。讓用戶通過調(diào)整專注度控制小球相對(duì)比較困難,因此將專注度作為控制小球的間接量,將眨眼信號(hào)強(qiáng)度作為控制小球的直接量。當(dāng)眨眼信號(hào)強(qiáng)度超過一定數(shù)值時(shí)便可控制小球跳起一定高度,進(jìn)而躲避障礙物。
3 基于腦電波控制的小球闖關(guān)游戲
3.1 開發(fā)環(huán)境
本文開發(fā)游戲所用的電腦系統(tǒng)版本為Windows 10 22H2,Unity引擎版本為Unity 2021.3.8f1c1。
3.2 系統(tǒng)架構(gòu)
整個(gè)系統(tǒng)的架構(gòu)主要圍繞Unity引擎所規(guī)定的游戲生命周期進(jìn)行設(shè)計(jì)。這里的生命周期就是Unity引擎內(nèi)的腳本按固定順序執(zhí)行的過程,開發(fā)者經(jīng)常用到的從開始到結(jié)束的生命周期事件包括喚醒(Awake)、啟用(OnEnable)、開始(Start)、碰撞/觸發(fā)檢測(cè)(OnCollision/OnTrigger)、更新(Update)、禁用(OnDisable)、銷毀(OnDestroy)。整個(gè)生命周期如
圖5所示。
本文的游戲是在上述生命周期中開發(fā)的。各項(xiàng)數(shù)據(jù)的初始化、場景的搭建都是在喚醒、啟用和開始階段進(jìn)行的;更新階段會(huì)更新UI畫面以及小球的位置等;碰撞/觸發(fā)檢測(cè)階段會(huì)檢測(cè)小球是否碰到障礙物或者到達(dá)終點(diǎn),以及在觸發(fā)該類事件后執(zhí)行某些操作。
3.3 界面展示
該游戲主要包括3個(gè)界面:開始界面,包含“開始游戲”等按鈕;闖關(guān)界面,即玩家玩游戲的界面;結(jié)算界面,即游戲通關(guān)后的界面。
開始界面如圖6所示。中間的4個(gè)按鈕由上到下依次是“開始游戲”“連接”“斷開連接”“退出游戲”。右上角圖標(biāo)顯示當(dāng)前設(shè)備的連接狀態(tài)。綠色代表連接成功且信號(hào)質(zhì)量較好;紅色代表未連接;黃色代表設(shè)備已連接但信號(hào)質(zhì)量較差,此時(shí)應(yīng)調(diào)整設(shè)備或檢查電量,保證信號(hào)質(zhì)量良好后再開始游戲。左上角顯示的是從腦電設(shè)備獲取到的部分?jǐn)?shù)據(jù)。
闖關(guān)界面如圖7所示。點(diǎn)擊“開始游戲”后便會(huì)在起點(diǎn)生成一個(gè)小球向前滾動(dòng),界面上方會(huì)顯示小球的當(dāng)前速度。若玩家的專注度提升,小球的速度就會(huì)按相應(yīng)比例加快,速度變化時(shí)界面上方顯示的速度的字體顏色和大小會(huì)發(fā)生變化;當(dāng)小球速度達(dá)到一定值時(shí)還會(huì)出現(xiàn)拖尾特效,同時(shí)也會(huì)把障礙物直接撞開而不再需要躲避。另外,玩家有意眨眼時(shí)會(huì)操控小球跳起來躲避障礙物。
結(jié)算界面即為通關(guān)后的祝賀界面,此處不再展示。
4 結(jié) 語
本文基于TGAM腦電模塊對(duì)腦電信號(hào)進(jìn)行提取和處理,結(jié)合Unity引擎設(shè)計(jì)了一款腦機(jī)接口游戲。用戶佩戴腦電設(shè)備后開始游戲,可通過調(diào)整眨眼信號(hào)強(qiáng)度控制小球跳躍以越過障礙物,通過調(diào)整專注度控制小球速度,在更快通關(guān)的同時(shí)也能實(shí)現(xiàn)專注度的訓(xùn)練。該腦機(jī)接口游戲可以作為后續(xù)類似游戲開發(fā)的參考,文中實(shí)現(xiàn)的在Unity引擎內(nèi)提取、處理和獲取腦電波數(shù)據(jù)的方法同樣適用于其他利用Unity開發(fā)的腦機(jī)接口游戲。
注:本文通訊作者為齊錦。
參考文獻(xiàn)
[1]鄒家豪,陳群.基于TGAM模塊的腦電信息溝通系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)與軟件工程,2021,10(4):91-95.
[2] CHENG B J,XU T J,ROBBINS B,et al. Reef reservoir identification by wavelet decomposition and reconstruction:a case study from Yuanba gas field in China [J]. Acta geophysica,2015,63:1025-1043.
[3] FENG L,SUEN C Y,TANG Y Y,et al. Edge extraction of images by reconstruction using wavelet decomposition details at different resolution levels [J]. International journal of pattern recognition and artificial intelligence,2000,14(6):779-793.
[4]李瑛達(dá),周海波,楊易青.腦波控制的智能醫(yī)療輪椅系統(tǒng)[J].物聯(lián)網(wǎng)技術(shù),2019,9(5):63-66.
[5]繆文南,陳雪嬌.基于TGAM腦波模塊的小車控制系統(tǒng)[J].自動(dòng)化技術(shù)與應(yīng)用,2018,37(8):112-115.
[6]黃佳琪,徐慶,高超,等.基于腦波控制的玩具賽車[J].物聯(lián)網(wǎng)技
術(shù),2014,4(3):8-9.
[7]譙涵容.隔空打字、腦波成像 華人腦機(jī)接口公司發(fā)布人類智能操作系統(tǒng)[J].計(jì)算機(jī)與網(wǎng)絡(luò),2020,46(17):13.
[8]解莉,蒙潔,尚穎.基于TGAM的學(xué)習(xí)專注度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)與軟件工程,2021,10(22):206-208.
[9]朱丹陽,劉靖宇,胡鵬飛,等.基于腦電波應(yīng)用與信息處理的意念四驅(qū)車[J].物聯(lián)網(wǎng)技術(shù),2018,8(8):9-12.
[10] LI Y,LONG J,YU T,et al. An EEG-Based BCI system for 2-D cursor control by combining Mu/Beta rhythm and P300 potential [J]. IEEE transactions on bio-medical engineering,2010,57(10):2495.
[11]秦學(xué)斌,張一哲,汪梅. 腦波信號(hào)控制軌道小車系統(tǒng)的研制[J]. 計(jì)算機(jī)工程與應(yīng)用,2017,53(11):260-264.
[12] NGUYEN T,KHOSRAVI A,CREIGHTON D,et al. EEG signal classification for BCI applications by wavelets and interval type-2 fuzzy logic systems [J]. Expert systems with application,2015,42(9):4370-4380.
[13] YIN L Y,ZHANG C,CUI Z J. Experimental research on real-time acquisition and monitoring of wearable EEG based on TGAM module [J]. Computer communications,2020,151:76-85.
收稿日期:2023-03-22 修回日期:2023-04-24
基金項(xiàng)目:2022年大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(S202210697492)
作者簡介:呂兆杭(2002—),男,研究方向?yàn)檐浖こ獭?/p>