情绪脑电信号EEG预处理学习笔记(附SEED数据集分享)

  • Post author:
  • Post category:其他


预处理的部分展示使用的是SEED数据集中第一位实验者第一次数据

实验室采集出的脑电信号并不纯净,既包含了眼电、肌电等干扰信号,还需要考虑市电工频干扰、坏导剔除等方面。预处理的基本原则是尽可能保留数据原貌,根据数据采集情况去除眼电、肌电等干扰,提取出较为纯净的脑电信号,预处理步骤得到的脑电信号质量决定了后续提取脑电特征信号的质量。如图2.6,以下为预处理步骤:


重参考

使用的脑电数据实际上是作用电极电势与参考电极电势的差值。一般的重参考电极为Fz。可以根据实验采集情况自行设定。


带通滤波器降噪

滤波即对特定频率进行有效提取,并对提取部分进行特定的处理(增益、衰减、滤除),常用的滤波方法分为:低通滤波、高通滤波、带通滤波。

EEG信息主要存于0.5-60Hz,故本文设计并使用四阶的0.5Hz-60Hz的巴特沃兹带通滤波器对原始信号进行滤波处理。为提高计算速度,降低计算复杂度,实现稳定滤波,选用无限脉冲响应(IIR)滤波器对离散EEG信号进行处理。巴特沃兹带通滤波器响应幅值图如图2.7所示。

滤波器代码详见我主页,有空会整理到一个博客里。

图  巴特沃兹带通滤波器

FP1通道滤波后脑电信号如图所示。SEED数据集中的Preprocessed_EEG是经过滤波后的信号,应用了0-75Hz的带通频率滤波器。

图 FP1滤波后信号


伪迹去除

在非插入时采集设备使用过程中,会因为被试者的动作和环境的变化造成一些伪迹,需要对采集到的信号进行预处理,人工去除伪迹。伪迹的来源有多种,分为生理伪迹和非生理伪迹。生理伪迹主要有眼电伪迹、肌电伪迹等,如眨眼、额肌活动。非生理伪迹,主要为工频干扰、脑电记录系统的故障和数据伪迹,较多考虑到的是生理伪迹。

若没有进行伪迹去除步骤,会造成噪声干扰过度,降低实验组或条件之间发现差异的可能性,影响到分类效果。

盲源分离法是效果较好的伪迹去除方法,其中较为常用的有主成分分析(PCA)和独立成分分析(ICA)两种方法。

EEG信号是非线性的、可能包含少量的异常点,且采样率较高、通道数多时,EEG信号数据量大。而PCA基本上只适用于线性相关的数据,对异常点敏感,降维时有可能丢失关键信息,故一般不选择PCA方法进行处理。而ICA方法不需要先验知识,适用于大数据量且对异常值有较好的鲁棒性,极其适合处理EEG信号,分离出有效信号。

有FastICA方法,但是我在实验中仅使用ICA,FastICA的matlab代码详见我主页。


分段提取、基线校准、降采样

SEED数据集已经完成分段,可以直接使用,如下,图截取自


(16条消息) 上海交大情感脑电数据集(SJTU Emotion EEG Dataset,SEED)_seed数据集_脑机接口社区的博客-CSDN博客

阅读此博客大致够了,再详细一些的内容可以看我写的。

图中 ,ww_eeg1表示被试“ww”在观看第一个视频时采集到的脑电信号,大小如右侧62×47001,代表62个电极采集到了47001个数据,采样率为200Hz,故47001/200可以算出此视频时长为235s。

下图是Extracted_EEG中第一位被试的第一次实验数据内容。

关于数据名称,同理,asm、dasm等表示脑电特征,LDS、moving表示滑动平均等处理方式,可以根据需要选择对应的脑电特征。编号表示观看的是哪个实验视频。

不同的是,54表示的是通道数,235表示时长,5表示不同的五个频段。

频段分为:

(1)δ波(1-4Hz)与潜意识有关,发生在深度无梦睡眠中。

(2)θ波(4-8Hz)与潜意识有关,例如与睡眠和做梦等活动。

(3)α波(8-14Hz)通常与放松的情绪状态有关,是有意识的,在顶叶和枕叶区域更明显。

(4)β波(14-31Hz)与活跃的情绪状态有关,在高度集中的精神活动中,额叶皮层和其他区域更为突出。

(5)γ波(31-50Hz)与超脑活动有关。

如果是自己设置实验,则可以根据实验情况自行提取。

我设置的实验素材为十个一分钟视频,采集到的脑电信号数据为22导×300000个采样点(500Hz的采样率),用TP9和TP10代替默认的Fz作重参考计算;然后使用0.5Hz-60Hz的巴特沃斯带通滤波器进行滤波降噪;接着使用ICA算法去除伪迹,分离原始信号中眼电及心电成分,提取出纯净的脑电信号。最终得到的脑电数据为20导×300000个采样点,即20×300000,将其分割出成每段视频对应的脑电信号,每段样本大小为20×30000,通过matlab 2022降采样到200Hz,最终用于计算的样本大小为20×12000。

而SEED数据集处理以后的数据大小即为Preprocessing_EEG 所示,SEED数据集每个视频所采集的数据长度都不一样,给我的计算造成了一定的影响,我是从中截取了10000-20000个采样点,方便批量跑程序。

预处理就结束了。

SEED数据集我放此链接分享,用于学习交流。

Sina Visitor System



版权声明:本文为campingmxd原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。