BCI Competition IV 2a数据集介绍

前言

本文是在结合了官方的英文介绍以及各大佬的讲解之后,根据我的个人理解整理出的关于BCICIV 2a数据集的简介,如有错误还请指正。
相关链接如下:
数据集下载链接(.gdf文件版本)
数据集下载链接(.mat文件版本)
官方介绍文档(PDF)

正文

一、整体介绍

数据集由9名受试者的EEG数据组成,受试者在实验过程中需要进行四种不同的运动想象任务,即左手(1类)、右手(2类)、双脚(3类)和舌头(4类)运动想象。每名受试者均在不同的日期进行了两个session,两个session所得数据分别用于分类器的训练(T)和测试(E)。因此每个受试者将拥有两个数据文件,以一号受试者为例我们将两份文件命名为A01T和A01E,数据集共有18份文件。

对于每一次session,可以细分为6次runs,每一次run包含有48次trials(测试)。(为了避免引起误解,这里保留英文描述),在每一个测试中,受试者都坐在一个舒适的扶椅上,面前是电脑屏幕。测试开始时(t=0s),一个固定的十字会出现在黑色的屏幕上。此外还有简短的声音提示音。两秒过后(t=2s),一个作为提示指向左、右、下或者上(对应于四个类别左手运动、右手运动,双脚运动以及舌头运动)的箭头会出现在屏幕上约1.25s。促使受试者想象与图片对应的运动。每个受试者需要完成这个想象任务直到屏幕上的十字消失(t=6s)。然后是短暂休息直到屏幕再次变黑。每一次测试的平均时间大约为8秒。
一次测试的流程可以用如下图片简洁表示:

BCI Competition IV 2a数据集介绍_第1张图片
在每一次run包含的48个测试中,有12次是左手运动想象,12次是右手运动想象,12次双脚运动想象和12次舌头运动想象,即均匀分布,但顺序随机。一个session的6个runs中共包含有288(6*48)次测试。6个runs之间会让受试者进行一定时间的休息。

值得注意的是,在每一个session开始的时候,会对受试者进行大约5分钟的记录以估计EOG影响。记录分为3组:
(1)睁眼两分钟(注视屏幕上的注视十字)
(2)闭眼一分钟
(3)眼球运动一分钟。
在这三组记录结束之后,再进行6组runs,即每组48次,共288次的正式测试。
因此一个session的完整流程可以用下图简洁表示:
BCI Competition IV 2a数据集介绍_第2张图片
(对于本数据集,N为6)

数据集的总体结构如下:
BCI Competition IV 2a数据集介绍_第3张图片

二、数据采集

数据共有25个通道,其中22个通道为EEG,3个通道为EOG,其中EOG三通道的数据不参与分类。以250 Hz对信号进行采样(每秒250次采样),并在0.5 Hz和100 Hz之间进行带通滤波。放大器的灵敏度设置为100 µV。使能额外的50 Hz陷波滤波器以抑制线路噪声。采样电极分布如下(左图为EEG采样点,右图为EOG采样点):
BCI Competition IV 2a数据集介绍_第4张图片
在用Python打开数据集后,也可以看到以上采样信息。以A01T数据为例,代码如下:

import mne
import matplotlib.pyplot as pl
import numpy as np
import os
 
filename = "D:/0ND/BCICIV_2a_gdf/A01T.gdf" #文件位置根据实际情况修改
raw = mne.io.read_raw_gdf(filename)
print(raw.info)
print(raw.ch_names)

运行结果如下图所示:
BCI Competition IV 2a数据集介绍_第5张图片
也可以用图像的方式直观感受,代码如下:

import mne
import matplotlib.pyplot as pl
import numpy as np
import os
 
filename = "D:/0ND/BCICIV_2a_gdf/A01T.gdf"
raw = mne.io.read_raw_gdf(filename)
print(raw.info)
print(raw.ch_names)
raw.plot()
pl.show()

运行结果如下(绘制出的是一个完整的session所获得的25个通道的数据):

(截图只能截取到A01T数据的一小部分)

三、.mat文件讲解

在MATLAB中导入.mat类型的数据文件后,可以清晰地看到数据集的具体构成,我们依然以A01T数据为例。
导入后可以看到如下图所示的内容:
BCI Competition IV 2a数据集介绍_第6张图片

我们可以看到,该文件中的数据包含了9个struct,其中struct1-3的数据对应的是每次session开始时进行的三组EOG测试,即上文所提到的Eyes open,Eyes closed,Movement,这三组数据仅包含有该段时间内25个通道所采集到的数据,不包含运动想象标签。struct4-9分别对应了本次session的6个Runs,点开第一次Run,也就是data{1,4},可以看到如下内容:
BCI Competition IV 2a数据集介绍_第7张图片

其中X矩阵为本次Run中48次trials采集到的具体数据值,共有25个通道,如下图所示:
BCI Competition IV 2a数据集介绍_第8张图片

trial矩阵(48×1)记录了48次trial起始数据的位置,如下图所示:
BCI Competition IV 2a数据集介绍_第9张图片
可以看出,每一个trial起始位置大约相隔2000,即上文所提到的每个trial持续时间大约八秒,采样频率250Hz,即每个通道每秒采集250次,每个trial共2000×25个左右的数据。
进一步可以估算出每个Run包含有96000×25左右个数据,即X矩阵的估计大小。第一个trial的起始位置在250左右,即每个Run的开始处存在大约一秒的停顿。
y矩阵(48×1)对应的是每一次trial让受试者想象的运动类型,也就是训练标签,即左手(1)、右手(2)、双脚(3)和舌头(4)。

同时,我们也可以在data{1,4}所包含的信息中看到采样频率和该受试者的性别,年龄。

由于技术问题,受试者A04T的EOG阻滞较短,仅包含眼球运动状况,数据较为特殊。A04T数据仅包含7个struct,其中struct1为EOG movement阶段采集到的数据,struct2-7为本次session的6个Runs,如下图所示:
BCI Competition IV 2a数据集介绍_第10张图片

四、感谢

感谢小绿鲸文献阅读器提供翻译。
感谢Dancingharbor的文章提供思路。
https://blog.csdn.net/Dancingharbor/article/details/123528278?spm=1001.2014.3001.5506
以上内容如有问题,敬请指正。

你可能感兴趣的:(脑电,python,matplotlib)