深度解析:如何利用机器学习实现 EEG 信号中的运动伪迹自动去噪?

5 阅读11分钟

一、读到这篇文章的起点

最近在看两个相互关联的方向:一个是移动 EEG / 可穿戴 EEG 场景下的信号质量控制,另一个是机器学习在脑电伪迹检测中的应用。在这个过程中,一个很自然的问题会冒出来:很多 EEG 研究默认先把伪迹去掉,再去做疾病诊断、脑机接口或者身份识别,但如果最前面的伪迹识别步骤本身不够准,后面的整个流程其实都会受影响。尤其是在人可以自由活动的场景下,运动伪迹往往比脑信号幅值更大,而且和 EEG 频段重叠,这会让问题变得更难。

带着这个问题,就读到了这篇论文 “Machine Learning Approaches for Motion Artifact Identification and Classification from EEG Signal”。这篇文章吸引人的地方在于,它没有直接跳到复杂的伪迹去除算法,而是先把注意力放在一个非常关键、但经常被忽视的步骤上:运动伪迹识别与分类本身到底能不能做好。:contentReference[oaicite:0]{index=0}

二、论文与会议来源

这篇文章收录于 2024 7th Asia Conference on Cognitive Engineering and Intelligent Interaction (CEII 2024) 论文集。论文首页给出了 DOI:10.1109/CEII65291.2024.00012,并显示该文页码为 16–20。从页眉还能看出,这是 IEEE 收录的会议论文。:contentReference[oaicite:1]{index=1}

从论文定位来看,这项工作处在EEG 信号处理、伪迹识别、机器学习辅助脑信号分析的交叉位置,和认知工程及智能交互会议的范围是契合的。它关注的不是最终应用任务本身,而是这些应用之前必须解决的“基础工程问题”:在真实运动场景里,先把运动伪迹识别出来。 :contentReference[oaicite:2]{index=2}

三、这篇文章主要在解决什么问题

这篇文章要解决的核心问题可以概括为:

在真实多通道 EEG 数据中,能否利用经典机器学习方法准确识别和分类由人体自然运动引起的运动伪迹。 :contentReference[oaicite:3]{index=3}

作者在摘要和引言里讲得很清楚:EEG 在脑活动监测、神经疾病检测和脑机接口中应用广泛,但原始 EEG 很容易被运动伪迹污染,尤其是在 ambulatory / mobile EEG 场景里,人的自然动作不受限制,伪迹会更复杂。像头部运动、眨眼、肌肉活动等都会引入明显失真,影响诊断和 BCI 的可靠性。:contentReference[oaicite:4]{index=4}

所以,这篇文章并不是在做普通的 EEG 分类,而是在回答一个更前置、更基础的问题:

在移动 EEG 的真实场景中,模型能不能先分辨“这是放松状态 EEG”还是“这是某一类运动伪迹污染下的 EEG”。 :contentReference[oaicite:5]{index=5}

四、为什么这个问题难做

读下来会发现,这个问题的难点并不只是“噪声很多”,而是至少有三个层面。

1. 运动伪迹幅值更大,而且和 EEG 共享频谱范围

论文指出,运动伪迹通常比脑信号幅值更大,而且它们和 EEG 的频谱范围有重叠,最高可到 50 Hz。这意味着它并不是那种“频带完全分离、滤波一下就行”的噪声。:contentReference[oaicite:6]{index=6}

也就是说,真正困难的地方在于:

伪迹和有效脑信号在频率上并不天然可分,简单滤波往往不够。

2. 真实运动伪迹来源复杂,不像仿真噪声那么规整

文章在文献综述里专门批评了很多以往研究使用的数据:有些是单通道 EEG,有些是通过插拔电极线或加入低频正弦信号来模拟运动伪迹,这些做法都不能真实反映人体自然运动时产生的噪声。:contentReference[oaicite:7]{index=7}

这也是为什么作者强调要在一个开放获取的、多通道、真实人体运动产生伪迹的数据集上评估机器学习方法。也就是说,这篇文章关心的不是“在理想仿真数据上能不能跑通”,而是“在更接近真实应用的条件下,效果到底怎么样”。:contentReference[oaicite:8]{index=8}

3. 伪迹识别只是整个去噪流程中的一个中间步骤,但却非常关键

文章明确指出,EEG 去噪通常包括:

  • 预处理
  • 信号分解
  • 伪迹检测
  • 伪迹去除
  • 重建

作者这篇文章就是专门聚焦在其中的伪迹检测阶段。换句话说,它并不试图一步到位解决所有问题,而是先把“能不能识别出来”这个环节单独做扎实。:contentReference[oaicite:9]{index=9}

五、作者是怎么拆解这个问题的

我觉得这篇文章很值得学习的一点,是它没有直接说“做一个最强分类器”,而是把问题拆成几个层次。

第一步:先选一个更接近真实场景的数据集

作者使用的是一个公开的多通道运动伪迹污染 EEG 数据集。这套数据来自 EMOTIV EPOCH 头戴设备,前 14 列是 EEG 通道,后 9 列来自三个 3 轴运动传感器:加速度计、陀螺仪、磁力计。:contentReference[oaicite:10]{index=10}

数据由一名健康男性志愿者完成多种日常活动采集而成,包括:

  • eye blink
  • eyebrow movement
  • horizontal and vertical eye movements
  • head shaking
  • head nodding
  • leg trembling
  • listening to music
  • talking
  • walking
  • stand up and sit down
  • relax with eyes open / closed

每个活动持续 30 秒,采样率为 128 Hz。:contentReference[oaicite:11]{index=11}

这一步很关键,因为它先解决的是:
要研究真实运动伪迹,就先用更真实的数据。

第二步:再把问题具体化为“分段后的 EEG epoch 分类”

作者没有直接在整段长序列上做分类,而是把 EEG 切成多个不同长度的 epoch:

  • 1 秒
  • 2 秒
  • 3 秒
  • 4 秒

然后分别比较不同分段长度下的分类表现。:contentReference[oaicite:12]{index=12}

这实际上是在回答一个很实际的问题:

伪迹识别到底应该在多长时间窗上做,效果更好。

第三步:再比较不同经典机器学习分类器

在特征提取后,作者比较了五种经典机器学习模型:

  • SVM
  • KNN
  • LDA
  • Naive Bayes
  • Decision Tree :contentReference[oaicite:13]{index=13}

同时,他们设置了两类任务:

  1. 多分类:放松状态 + 9 类运动伪迹,共 10 类
  2. 二分类:放松状态 vs 某一种运动伪迹 :contentReference[oaicite:14]{index=14}

所以整篇论文真正做的是一个系统比较:

在真实多通道运动伪迹 EEG 上,不同分段长度、不同分类器、不同分类任务设置下,哪种方案效果最好。 :contentReference[oaicite:15]{index=15}

六、技术路线:这篇文章的方法框架

从方法部分看,整套方法可以理解成五个模块。

1. 预处理模块

原始 EEG 先做两个基础预处理步骤:

  • 去除 DC offset
  • 使用 3 阶 IIR notch filter 去除 50 Hz 工频干扰 :contentReference[oaicite:16]{index=16}

这部分很基础,但也说明作者没有在预处理上做复杂设计,而是希望更直接地比较后续机器学习分类能力。

2. 分段模块

作者把 EEG 分成多种 epoch 长度:1、2、3、4 秒,并在所有长度上重复分类实验。最终,这个设计帮助他们找到了更合适的分段长度。:contentReference[oaicite:17]{index=17}

3. 特征提取模块

每个 EEG epoch 提取了 6 个统计特征

  • Shannon’s entropy
  • Kurtosis
  • Maximum
  • Line length
  • Non-linear Energy Operator (NEO)
  • Variance :contentReference[oaicite:18]{index=18}

这一点很值得注意。作者没有直接上深度学习,而是采用了比较典型的统计特征工程路线。也就是说,这篇文章更像是在测试:

这些经典统计特征,配合经典 ML 分类器,对运动伪迹识别到底够不够。

4. 分类模块

作者比较了五个经典分类器:

  • SVM
  • KNN
  • LDA
  • Naive Bayes
  • Decision Tree

分别完成两种任务:

(1)10 类多分类

  • relax state(睁眼和闭眼放松合并)
  • eye blink (EB)
  • eyebrow movement (EBM)
  • eye movement (EM)
  • head shaking (HS)
  • head tilting / nodding (HT)
  • leg shaking (LS)
  • stand up / sit down (SUD)
  • talking
  • walking :contentReference[oaicite:19]{index=19}

(2)二分类

  • relax state vs 某一种伪迹状态 :contentReference[oaicite:20]{index=20}

5. 评价模块

文章用混淆矩阵、ROC 曲线,以及以下指标来评价性能:

  • Accuracy
  • Sensitivity
  • Specificity
  • F1-score :contentReference[oaicite:21]{index=21}

七、实验结果说明了什么

1. 多分类任务里,最佳配置是 2 秒分段 + SVM

论文在结果部分明确写到:

  • 最优 epoch length 是 2 秒
  • 最佳多分类器是 SVM

在 10 类分类中,基于 2 秒分段的 SVM 模型取得了整体 AUC = 0.85。:contentReference[oaicite:22]{index=22}

这个结果说明:
对于这套数据来说,过短的分段可能信息不足,过长的分段又未必带来额外收益,而 2 秒 是一个相对平衡的窗口。

2. 二分类任务里,SVM 和 KNN 表现最强

表 1 给出的结果非常直观。作者总结说,SVM 和 KNN 在不同运动伪迹识别中整体表现最好。:contentReference[oaicite:23]{index=23}

各类伪迹与 relax 的最佳结果分别是:

  • EB:90.39%,2 sec,KNN
  • EBM:96.23%,2 sec,SVM
  • EM:89.74%,2 sec,LDA
  • HS:87.78%,3 sec,SVM / LDA
  • HT:95.56%,3 sec,SVM
  • LS:82.78%,3 sec,KNN
  • SUD:92.73%,2 sec,SVM / LDA
  • Talking:92.73%,2 sec,KNN
  • Walking:96.20%,3 sec,KNN :contentReference[oaicite:24]{index=24}

从这些结果可以看出两个特点:

  1. SVM 和 KNN 确实最稳
  2. 不同伪迹适合的 segment length 不完全一样,但多数集中在 2–3 秒 范围内 :contentReference[oaicite:25]{index=25}

3. “走路”和“眉毛运动”最容易分,而“腿抖动”最难

论文明确提到:

  • EBM 用 SVM 达到 96.23%
  • Walking 用 KNN 达到 96.20%
  • Leg shaking 则最低,KNN 也只有 82.78% :contentReference[oaicite:26]{index=26}

这点其实很有启发性。说明不同运动产生的伪迹可分性差异很大。像 walking、head tilting 这类更明显的整体运动,特征可能更容易和 relax 区分开;而 leg shaking 可能在 EEG 表现上更复杂或更接近其他状态。

八、读完之后的几个感受

1. 这篇文章的价值不在“用了多先进的模型”,而在“先把基础问题做扎实”

这篇文章没有一上来就用深度学习,而是非常务实地比较了一组经典特征和经典分类器。它更像是在回答一个基础工程问题:

如果先不用复杂网络,经典 ML 能把运动伪迹识别做到什么程度。 :contentReference[oaicite:27]{index=27}

2. 它特别强调“真实运动数据”的意义,这一点很重要

很多伪迹去除文章喜欢在仿真数据上做实验,但作者这里反复指出,仿真正弦噪声或电极插拔噪声并不能真实代表人体自然运动带来的伪迹。也正因为如此,这篇文章的结果虽然方法不复杂,但更有现实参考价值。:contentReference[oaicite:28]{index=28}

3. 这篇文章更像是后续去噪算法的“前置铺垫”

作者在摘要和结论里都写得很清楚:这项工作最终是为了后续开发一个更可靠的denoising algorithm。也就是说,这篇论文不是终点,而是在为“检测—去除—重建”整条链路打前站。:contentReference[oaicite:29]{index=29}

九、一个简短总结

如果用一句话概括这篇文章,可以写成:

这篇论文基于真实多通道运动伪迹污染 EEG 数据,比较了 SVM、KNN、LDA、Naive Bayes 和 Decision Tree 在运动伪迹识别与分类中的表现,结果表明 2–3 秒分段下的 SVM 与 KNN 整体表现最好,最高准确率可达 96% 左右,为后续移动 EEG 伪迹去除算法设计提供了依据。 :contentReference[oaicite:30]{index=30}

它最值得记住的,不只是“哪个分类器更高”,而是它比较清楚地回答了三个更基础的问题:

  1. 真实运动伪迹数据上,经典机器学习到底有没有效果;
  2. 多长的分段窗口更合适;
  3. 哪些类型的运动伪迹更容易识别,哪些更难。

十、论文引用信息

Ahmed, S. F. B., Sakib, N., Islam, M. R., Faruk, T., Islam, M. K. (2024). Machine Learning Approaches for Motion Artifact Identification and Classification from EEG Signal. In: 2024 7th Asia Conference on Cognitive Engineering and Intelligent Interaction (CEII). IEEE, pp. 16–20. DOI: 10.1109/CEII65291.2024.00012. :contentReference[oaicite:31]{index=31}

十一、会议网站

CEII 2024 会议页面:https://www.ceii.asia/his2024.html

IEEE 会议论文集页面:https://ieeexplore.ieee.org/xpl/conhome/11037609/proceeding