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