本文由清华大学计算机科学与技术系于2021年12月22日发表于IEEE Transactions on Neural Systems andRehabilitation Engineering期刊,标题为:“Filter Bank Convolutional Neural Network for ShortTime-Window Steady-State Visual Evoked Potential Classification”,作者提出了提出了一种基于时域的CNN方法(tCNN),以时域信号作为网络输入。并进一步提出了滤波器组-tCNN(FB-tCNN),以提高其在短时窗内的性能。
在0.2 s时窗下,在作者自己的数据集和公开数据集的两个会话的个体内测试准确率分别达到了88.36±4.89%、77.78±2.16%和79.21±1.80%。
1. 引言
人们提出了不同的方法应用于SSVEP-EEG的识别。其中典型相关分析(CCA)是众多传统方法中的一种比较典型的方法,它通过确定采集的数据与刺激目标信号模板之间的相关性来识别SSVEP。但CCA方法存在短时窗识别准确率不高的缺陷。魏等人提出一种数据驱动的CCA方法(CCA-M3)提高了在短时窗下的SSVEP-EEG的识别准确率。但CCA-M3存在时窗对齐问题,较难实现异步脑机接口。
近些年来已经有研究者尝试将CNN应用于SSVEP-EEG识别。部分研究者设计的网络构架需要以快速傅里叶变换(FFT)后的频域特征作为网络构架的输入。这种思路确实很好的利用了SSVEP信号的频域特征,但忽略了时域信号中的相位信息。且在短时窗下,频域特征变得不明显。这类算法的识别效果在短时窗下表现不佳。Waytowich等人提出了以时域信号为输入的Compact-CNN,但其网络结构较为复杂。
这篇文章的作者提出了以时域信号为网络构架输入的CNN构架(tCNN),其结构简单,无Pooling层。网络构架中包含动态卷积核,使其能够自动适应不同大小的输入。作者参考陈等人提出了FBCCA算法,利用滤波器组对数据进行预滤波处理,使得网络构架能够在短时窗内更有效的学习频率相关信息。因此,作者在tCNN基础上提出了FB-tCNN算法。
2. 方法
2.1数据集
1、作者自己数据集7名健康被试参与了实验,该研究经清华大学心理学系当地伦理委员会批准(IRB202138)。实验中总共有4个不同闪烁频率和初相的刺激目标。采集数据实验的实验设计如图1所示。每个试次以持续2 s的视觉提示阶段开始,然后每个刺激目标闪烁4 s,接着进入持续4 s的休息阶段。每个刺激目标的提示在一个block中随机出现5次,实验总共含有6个block。因此。实验一共包含120个试次的数据(4类×5次×6 block)。
2、公开数据集作者采用了有Lee等人发表的公开数据集,一共有54名被试参与了实验。实验中总共有4个不同闪烁频率的刺激目标。每个试次包括4 s目标注意阶段、4 s的刺激闪烁阶段和2 s的休息阶段。每个刺激目标被显示25次。因此。实验一共包含有100个试次(4类×25次)。数据集中总共有两个会话(“sesion01”和“session02”)。“sesion01”和“session02”是同一个人在不同日期的两个实验。
2.2预处理
作者使用了靠近枕叶区的具有高信噪比的几个电极作为输入数据。被选中的电极在图2中以红色标出。为了减少计算量,作者将数据降采样到了250 Hz。为了能够使网络构架能够更有效的学习频率信息,作者对数据进行了预滤波。
对于FB-tCNN:为了更好地利用基频和谐波的频率信息,设计了具有不同带通范围的六阶巴特沃斯子滤波器的滤波器组。滤波器组的设计主要考虑两个因素,(1)基频和谐波的频率范围以及(2)谐波的信噪比。为了保持重要的信息,子滤波器的带通范围被设计为比谐波范围稍大(1-3 Hz)。因此,作者自己数据集中的滤波器组的3个子滤波器带通范围为:7-17 Hz、16-32 Hz和25-47 Hz,公开数据集的滤波器组的4个子滤波器带通范围为:3-14 Hz、9-26 Hz、14-38 Hz和19-50 Hz。子滤波器应完全包含所有刺激目标的特定次数的谐波信息,且应抛弃50 Hz以上的低信噪比数据。因此,两个具有不同基频范围的数据集需要设计具有不同子滤波器数量的滤波器组。对于tCNN:为了更好地将FB-tCNN与tCNN进行比较,在作者的数据集和公开数据集中分别使用了频率范围为7-47 Hz和3-50 Hz的六阶巴特沃斯滤波器。
2.3 基于FB-tCNN方法的SSVEP分类
为了更好地解释FB-tCNN的网络架构,在介绍FB-tCNN之前,我们先介绍了tCNN的网络架构。以公开数据集的0.2 s时窗口为例进行说明。(1)tCNN的网络构架tCNN的网络架构如图3(a)所示。输入为9个电极通道的0.2 s时窗数据,通过下(降)采样将采样频率调整到250 Hz。因此,输入大小为9×50(被重塑为1@9×50)。文章中提出的所有的卷积核都是一维的。但为了更直观地表示卷积核的长度方向,我们采用了二维的卷积核表现形式。
FB-tCNN的网络构架FB-tCNN的网络架构如图3(b)所示。由于FB-tCNN的网络超参数与tCNN相同,所以我们只简单地说明FB-tCNN的网络架构。首先原始数据通过滤波器组模块中的四个具有不同滤波器范围的子滤波器进行滤波,得到四个子输入。这四个子输入分别通过三层卷积层,得到四个子特征。这四个子输入的三个卷积层共享权重。接下来,在融合模块中这四个子特征进行融合(相加)。然后通过第四层卷积层。接着通过flatten来减少特征维度。最后,通过一个全连接层,通过softmax获得输出。
3. 结果
作者将FB-tCNN、tCNN与Compact-CNN、FFT-CNN、CCA-M3以及CCA方法进行了性能上的比较。图4显示了在作者的数据集和公开数据集中这些方法在10个数据长度下产生的所有被试的平均精度和ITR,其范围为0.1-1.0 s,间隔为0.1 s。图中没有显示“session02”的结果,因为它与“session01”极其相似。在图4中,这些方法的精度总体上都与数据长度呈正相关。但对于FB-tCNN、tCNN、Compact-CNN和CCA-M3,在0.6 s后精度提高不明显。这是因为四种方法在短时窗下的特征提取能力都足够强,在0.6 s时已经达到了较高的精度。相比之下,FFT-CNN和CCA在短时窗口的表现较差。因此,这两种方法的精度在0.6 s后仍然可以随着数据长度的增加而显著提高。我们注意到在0.4 s后,FB-tCNN和tCNN之间无明显差异。滤波器组在0.4 s前具有去噪的效果,可提高SSVEP相关特征的提取能力。但当数据长度足够长,信噪比增加时,基于单个滤波器的tCNN也可以很好地提取相关特征。这可能是FB-tCNN在0.4s后没有比tCNN更有优势的原因。可以注意到,FB-tCNN在0.1 s时窗口下表现出了最高的ITR。在我们的数据集和公开数据集的“session01”中,最大ITR分别达到596.86±120.48 bits/min和337.18±30.92bits/min。考虑到精度和ITR之间的权衡,表1展示了作者的数据集和这些方法产生的公开数据集中所有被试在0.2 s的平均精度,以更具体地展示FB-tCNN的性能。
4.总结
作者提出了一种可以应用于短时窗SSVEP-EEG识别的CNN算法(FB-tCNN),可用于构建异步SSVEP-BCI控制系统,从而为建立一个更快、更灵活的人机交互系统奠定了扎实的SSVEP-EEG识别算法基础。其算法代码也已经公开(https://github.com/DingWenl/FB-tCNN)。
写在最后:
此外,也欢迎大家加入我们的脑机接口群聊,本人每天会分享一些资料,主要是CNN、RNN,Transfomer等DL模型用于处理BCI生理数据,涉及到BCI数据的预处理,特征工程,建模(ML,DL都有),结果可视化(混淆,ACC、AUC、F1等值)一套完整的流程,助力大家使用深度学习处理BCI数据。最后也会不定时发一些数据集,涉及到运动想象MI、情感分类、疲劳、SSVEP、心电、EMG、血氧数据等等。欢迎加入,随时交流,我随时解答~