APP下载

基于TGAM模块的便携式脑力疲劳检测系统

2021-02-01杨荣李增勇魏鹏绪王丽张宁宋亮

北京生物医学工程 2021年1期
关键词:脑电服务器端脑力

杨荣 李增勇 魏鹏绪 王丽 张宁 宋亮

0 引言

脑力疲劳是一种复杂的生理心理现象,以工作效率的下降和工作的厌烦为标志,是人体介于清醒和睡眠之间的一种过度状态。随着科技和经济的发展,越来越多的人从体力劳动者转为脑力劳动者,持续的工作、睡眠的不足以及各种心理因素的影响导致脑力疲劳的出现愈加频繁,因脑力疲劳引发的工作事故和各种心理疾病也逐年增加,尤其对于驾驶员、机械操作、飞行员等要求超高反应速度与注意力集中程度的特殊职业[1-2],一旦出现脑力疲劳,会引发非常严重的事故。因此,开发便携的脑力疲劳检测装置具有重要的现实意义。

目前关于脑力疲劳的相关研究多基于实验室脑电设备采集数据后的离线分析,而传统的脑电采集装置普遍存在体积大、价格昂贵、不易搬动、操作复杂等局限性[3],不利于用户脑力疲劳状态的快速监测。随着通信技术的发展以及低成本、高性能智能平板、手机等设备的逐渐普及,为实现脑力疲劳的快速与高效检测提供了可能。

当前常用的脑力疲劳评价手段分为主观检测和客观检测两种[4]。主观检测即疲劳量表评价方式[5],客观检测主要通过相关仪器对被测者进行客观评价,评价指标包括脑电(electroencephalogram,EEG)、肌电、心电、血压、呼吸、眨眼频率[6]等。由于主观检测存在个人因素影响大、评分标准无法统一等问题,实际使用中多使用客观评测或将客观评测与主观评测结合使用[7]。

由于人体脑力疲劳状态时,会出现精神涣散、记忆力下降、注意力不集中、思考力下降等现象,这些情绪现象受大脑皮质支配,最终表现为大脑皮质电信号的变化[8],因此EEG的很多成分和特征参数可以作为脑力疲劳的评价指标,比如α节律波活动的增加[9]、不同频率段基本尺度熵和排列熵的差异[10]、功率谱重心频率的变化[11]、事件相关电位(event-related potential, ERP)中P300的幅值变化等。早期疲劳研究主要集中在P300上。P300是ERP中研究最多也最成熟的成分,一般出现在刺激后300~500 ms之间,代表了工作记忆和主动注意的实时加工,对于脑力疲劳的研究具有重要的价值。

目前,利用听觉诱发P300进行脑力检测的研究也十分广泛。乔延云等[7]利用听觉诱发P300评价持续认知任务前后的脑力疲劳状态,结果证明P300中P3a、P3b成分的幅值可以作为脑力疲劳的评定指标。宋国萍等[12]同样发现听觉诱发P300中P3a、P3b成分的幅值变化可以用于驾驶疲劳程度的评价。

因此,考虑到Android平台的开放性、无界性、便携性、扩展性以及良好的数据兼容性和同步性[13],本研究搭建基于Java平台的便携式客观脑力疲劳检测系统,利用TGAM脑电采集芯片采集听觉诱发EEG信号,将EEG信号通过Android移动端传输至服务器端的数据解析平台后,通过小波分析、基于噪声统计的经验模式分解(empirical mode decomposition, EMD)、多元线性回归(multiple linear regression with dispersion terms, MLRD)、支持向量机(support vector machine,SVM)等算法提取P300中P3b成分的幅值进行分析,实现脑力疲劳的便携与实时检测。

1 方法

1.1 系统框架设计

系统的总体架构如图1所示,主要由脑电采集端、Android移动端、服务器端组成。由于EEG解析算法以Matlab语言进行开发,转换成Java语言移植到Android移动端存在困难,并且Android移动端计算能力相对较弱,因此本研究将脑电信号解析部分设置在服务器端完成,分析结果返回移动端进行显示。

脑电采集端包括TGAM脑电采集模块、蓝牙模块、电源模块、干电极、耳夹、屏蔽线等。Android移动端功能包括用户登录管理、数据接收、数据显示、数据传输及脑力疲劳结果显示等。服务器端对用户数据、脑电信号数据进行存储,通过小波分析、EMD自相关去噪、MLRD、SVM等算法对脑电信号中的P300特征成分进行提取并分类,最后将脑力疲劳分析结果反馈至Android移动端进行显示。

1.2 检测方法

采用P300对用户脑力疲劳状态进行分析,用户需提前完成非疲劳正常状态下的听觉刺激实验,将采集到的脑电数据传输至服务器端进行数据解析,存储为用户正常基础数据。用户进行脑力疲劳测试时,需完成同样的听觉刺激实验,将采集到的脑电数据记为测试状态下脑电数据。服务器端将测试状态下脑电数据进行解析后,将提取到的P3b波幅与用户正常基础数据进行比对,评估用户脑力疲劳状态。

听觉刺激实验模式基于Oddball模式[14],实验流程为:用户将采集电极布置于头顶顶叶Cz电极处,左耳耳垂用耳夹布置参考电极,同时佩戴耳机,短音刺激通过双侧耳机同时传出,标准刺激(概率为80%)为1000 Hz、0 dB,声音为“嘟”声,靶刺激(概率为20%)为2 000 Hz、0 dB,声音为“哔”声。刺激呈现时间均为50 ms,相邻两个声音刺激出现间隔为 400 ms,2种刺激以随机顺序出现。一个声音周期都是由1次靶刺激、4次非靶刺激构成,20个声音周期构成一个声音刺激序列。用户每次需完成1个序列的刺激实验,在听到靶刺激声音时点击Android端屏幕中的“+”,系统自动进行计数。

1.3 脑电数据的解析与分析

1.3.1 脑电数据特征解析

本部分的核心算法包括小波分析、叠加平均、EMD自相关去噪、MLRD、SVM算法。

由于P300信号的有用成分主要集中在低频段[15],为在减少叠加平均次数的同时最大限度保留信号中的细节特征,将原始脑电信号进行 3 层小波分解[16],小波基选择db10,得到 0~3.75 Hz子频带的脑电信号。在该子频段进行样条插值后,再通过样条插值后的小波系数重构信号,然后将信号进行3次叠加平均。

为提高P300信号的信噪比,采用基于噪声统计的EMD算法进行信号去噪处理[17]。EMD依据信号的内在特征,将信号分解为有限个具有不同特征尺度的IMF函数。基于噪声统计的EMD算法自相关去噪过程如下。

(1)设完成小波分析和叠加平均后的脑电信号为x(t),t为脑电时长,则EMD分解算法的实现步骤[18]包括:

第1步,求取信号极大值点与极小值点,利用插值法形成上包络曲线x1(t)和下包络线x2(t);

第2步,求取上、下包络曲线的平均曲线,其公式为:

(1)

第3步,在原始信号中分解出平均曲线,得到剩余信号,其公式为:

s1(t)=x(t)-y1(t)

(2)

第4步,判断剩余信号s1(t)的所有局部极值点和过零点数是否相同,或至多相差1,或者s1(t)上下包络线的均值为0,若不满足以上条件,则令x(t)=s1(t),重复以上步骤,直到得到的剩余信号s1k(t)满足该条件,则c1(t)=s1k(t)为第一个IMF分量。

第5步,从原始信号中去除c1(t),得到剩余分量,将剩余分量重复第1~5步,直到最终剩余分量rn(t)成为单调函数,则得到n个IMF。分解完成后原始信号可表示为n个IMF分量与最终剩余分量之和,即:

(3)

(2)令:

(4)

对第一个IMF分量c1(t)进行随机排序、累加、平均后得到c′1(t),将c′1(t)与x1(t)一起重构得到新信号xnew(t)。

(3)重复以上步骤k次,将每次得到的xnew(t)累加求平均后得到新信号N(t)。

(4)对N(t)再次进行EMD分解,分别计算得到各IMF分量的归一化自相关函数方差。根据预先设定的阈值,IMF分量中方差大于阈值的分量即为噪声成分比较大的成分。

(5)对噪声成分较大的分量采用小波软阈值消噪,并与含噪声低的IMF分量一起重构信号,得到最终的信号f(t)。

脑电信号经过EMD自相关去噪后,引入MLRD算法进行P300特征的估计。MRLD算法可以自动获取数据潜伏期和幅值无偏估计,已成功应用于脑电诱发电位峰值潜伏期与幅值的时域估计中[19]。

由于本研究采集的脑电为诱发电位,含有包括P300在内的多种响应成分,可以反映不同因素差异,因此对各响应成分进行建模,公式为:

f(t)=kNyN(t+aN)+kPyP(t+aP)

(5)

式中:f(t)为去噪后的脑电序列;kPyP(t+aP)为P300成分;kNyN(t+aN)为其他响应成分;kN和kP为波形权重;aN和aP为时间偏移。引入诱发电位波形形态进行精准估计,即为MLRD方法,其公式为:

f(t)=kNyN(sNt+aN)+kPyP(sPt+aP)

(6)

式中:sN与sP用于确定波形宽度。

1.3.2 脑电数据结果分析

SVM算法是根据统计学习理论提出的一种具有最优分类能力和推广能力的机器学习方法[20],以结构风险最小化准则为理论基础,可将采样样本映射到一个高维度或无限维度的空间中,将非线性可分的问题转换为线性可分。本研究采用基于径向基核函数的SVM分类器进行分类,将测试中提取到的P300波幅与非疲劳正常状态下的波幅进行比对,利用分类结果评估用户脑力疲劳状态。

2 功能实现

2.1 脑电采集端实现

脑电采集端实现基于TGAM脑电采集模块,对EEG进行采集、放大、滤波及传输。使用的TGAM模块是NeuroSky为大众市场设计的成熟商用脑波传感器采集模块,价格低廉。它与人体的接触只需要一个简单的干电极,可以将原始脑电波进行滤波、放大、去噪、A/D转换、去干扰等处理后以512 Hz输出原始脑波以及各频段脑波数据[8]。本研究使用TGAM模块输出的原始脑波数据进行分析。

由于P3b的波幅通常在中央顶头皮最大,随着与该脑区距离的增大而逐步衰减[15],因此,使用TGAM模块与干电极相连,通过单个脑电采集电极、参考电极、地线、蓝牙模块、电源模块等搭建脑电采集端,脑电采集电极根据国际10-20系统,布置于顶叶Cz电极处,左耳处布置参考电极。通过蓝牙模块实现TGAM模块与Android移动端的通信,收集采集模块的状态及其传输来的数据信号。

2.2 基于Android系统的移动端APP

Android系统是一个主要应用在手机、平板、电视等移动终端设备上的应用操作系统,是基于Linux构架的纯开源操作系统[21]。本研究系统平台依托Android移动端应用操作系统,通过Java语言开发设计应用功能,构建包括用户登录界面、听觉刺激实验呈现界面、数据显示界面、历史数据显示界面等功能的APP。

2.2.1 用户登录界面

用户登录界面如图2所示。用户进行姓名、性别、年龄、工作时长等基本信息登记,每次登录需输入用户名和密码,新用户需进行注册。注册成功后,用户数据保存在服务器端数据库中用于查询。

2.2.2 听觉刺激实验呈现界面

设计基于Android系统的听觉刺激实验,整体程序流程如图3所示。点击计数界面如图4所示,用户选择测试开始后,关注靶刺激(“哔”声)出现的时间并点击Android移动端的屏幕上的“+”,屏幕显示用户识别的靶刺激个数。

2.2.3 数据显示界面

移动端APP数据显示界面主要通过Activity嵌套Fragement实现,包括原始脑电数据显示、P300波形显示、脑力疲劳分析结果显示等功能。如图5所示,原始脑电数据通过蓝牙传输技术进行读取,以波形曲线图形式显示,动态刷新,横轴为时间,纵轴为脑电幅值。通过与服务器端进行通信,从服务器端数据库中下载解析完成的数据,并进行P300波形绘制、脑力疲劳分析结果显示,如图6所示。

图6 P300波形与脑力疲劳分析结果显示界面

2.2.4 历史数据显示界面

本研究在后台服务器端,使用Java服务程序接收移动应用端发送的完整的原始脑电数据,经过数据清洗、转换、整合、统计、分析、计算等一系列操作,将结果数据存储在MySQL数据库中,形成每个用户的基本数据。基于此类数据为用户提供必要的可视化展示,用户可通过选择历史记录从服务器端下载对应的历史数据在Android移动端进行查看,如图7所示。

图7 历史数据显示图

2.3 脑电数据特征解析及疲劳评判

服务器端的功能包括接收与存储脑电信号、解析脑电数据特征、计算脑力疲劳结果并将分析结果返回Android移动端进行展示。

采用IntelliJ IDEA开发工具,开发基于Java平台的后台数据处理程序,实现Android移动端与服务器端的数据交互功能。服务器端分为应用服务器和数据处理服务器两部分。Android移动端与应用服务器中Tomcat容器通过HTTP数据接口进行数据传输,数据为JSON格式。Tomcat容器为后台数据处理程序,负责处理Android移动端发送的各种结构化数据,并将数据落地至MySQL数据库内。

数据处理服务器执行基于Matlab开发的脑电数据解析程序,从MySQL数据库内读取相应的数据后进行数据运算、处理与分类模型建立。计算脑力疲劳分析结果后,分析结果落地MySQL数据库。用户查看分析结果时,可在Android移动端选择结果查询,通过HTTP数据接口与Tomcat通信,查看分析结果。服务器端原始脑电数据展示、数据处理与结果显示如图8、图9所示。

图8 服务器端原始脑电数据展示

图9 服务器端数据处理与结果展示

3 结论

随着移动智能终端设备的普及,脑机接口技术逐步走向便携化。本研究利用Android系统平台开放、普及等优势,针对便携脑力疲劳检测系统应用设计进行了探索性研究。基于TGAM模块采集用户顶叶Cz处脑电,并利用听觉刺激诱发的P300电位中P3b的波幅差异,评估用户脑力疲劳状态。目前虽然具有结构精简、成本低廉的优点,但仍需进一步提高疲劳评估准确度。由于脑电信号是一种非常复杂的随机性生理信号,利用单导联上的特征信息进行脑力状态评估存在一定的局限性,且不同的受试者存在个体差异性,如何优化算法模型,进一步提高算法的识别效果,同时减轻个体差异性对评估准确度的影响,是下一步研究的重点。

猜你喜欢

脑电服务器端脑力
认知控制的层级性:来自任务切换的脑电证据*
工作记忆负荷对反馈加工过程的影响:来自脑电研究的证据*
基于成本最小化信息的社会性意图识别:来自脑电和行为的证据*
Linux环境下基于Socket的数据传输软件设计
脑力百分百
基于Qt的安全即时通讯软件服务器端设计
基于Qt的网络聊天软件服务器端设计
乒乓球运动员在经验相关图形识别中的脑电相干性分析
基于C/S架构的嵌入式监控组态外设扩展机制研究与应用
脑力对对碰