ICA独立成分分析去除脑电伪影

article/2025/11/9 7:56:59

今天分享的这篇利用独立成分分析ICA去除EEG伪影是翻译自jung大神的一篇文章。

目录

1 介绍

2 方法

3 实验数据样本

介绍

眼动,眨眼,肌肉,心脏和线的噪音会严重污染脑电图活动,这在脑电解释和分析中会产生非常严重问题。研究人员已经提出了许多方法来消除EEG记录中的眼球运动和眨眼伪像:

1)仅仅剔除受污染的脑电图epochs会导致收集到的信息大量丢失。

2)通常对EEG和眼电位(EOG)记录上进行时域或频域回归,以获得表征EEG伪影在EEG通道中的出现和扩散的参数。但是,EOG记录也包含大脑信号,因此要消退EOG活性也会不可避免地要从每个记录中减去相关EEG信号的一部分。

由于许多噪声源(包括肌肉噪声,电极噪声和线路噪声)都没有明确的参考通道,因此无法使用回归方法来消除它们。

研究人员提出还有一种更好的选择,就是将ICA方法应用于多通道EEG记录,并通过消除人为因素对头皮传感器的影响,从EEG记录中删除各种伪影。研究结果表明,ICA可以有效地检测,分离和消除EEG记录中的各种伪迹,其结果与使用基于回归或基于PCA的方法获得的结果相比更具有优势。

ICA假设

基于ICA的伪影校正可以通过线性分解从EEG数据中分离并去除多种伪影。ICA方法基于以下假设:

1)在头皮上记录的时间序列是时间上独立的大脑和伪迹活动的空间稳定混合物,

2)并且大脑,头皮和身体不同部位产生的电势之和为在电极上呈线性关系,

3)从源到电极的传播延迟可以忽略不计。

上面的假设2和3对于EEG(或MEG)数据是非常合理的。给定足够的输入数据,第一个假设也是合理的。该方法使用由ICA算法得出的空间滤波器,并且不需要每个伪像源提供参考通道。一旦从数据中提取了不同大脑和伪影源的独立时程,就可以通过消除伪影源的贡献来得出伪影校正的EEG信号。

方法

下图显示了该过程的示意图。在EEG分析中,输入矩阵X的行是记录在不同电极上的EEG信号,列是在不同时间点记录的测量值(左)。ICA找到一个“分解”矩阵W,该矩阵将多通道头皮数据分解或线性分解为时间上独立且空间固定的分量之和。输出数据矩阵的行U = WX,是ICA分量激活的时间过程。逆矩阵的列inv(W)给出了每个头皮传感器(右)上各个分量的相对投影强度。这些头皮重量赋予每种成分的头皮形貌,并为这些成分的生理起源提供证据。例如:

  • 眼球运动应主要投射到具有低通时程的额叶部位。

  • 眨眼应该投射到额叶部位,并具有较大的点状激活。

  • 颞肌活动应投射到频谱峰值在20Hz以上的颞位。

组件投影

将激活称为未混合成分时间过程矩阵

W = weights * sphere;
activations = W * data;

权重逆矩阵

Winv = inv(W);

(或Winv = pinv(W);如果组件的数量少于通道的数量),则第i个独立分量到原始数据通道上的投影为

projection = Winv(:,i) * activations(i,:);

第i个分量的投影是分量激活的第i行(即分量时间过程),activations(i,:)与逆矩阵的第i列(即分量头皮图),Winv(:,i)的外积。投影的分量数据具有与原始数据相同的大小,具有相同的基础(即,每行是单个电极,与原始数据相同),并按原始数据单位(例如uV)缩放。标度信息和极性分布在激活波形和映射之间。这意味着分量的真实大小(和极性)由其投影的大小(和极性)给出。

对于上面显示的数据,所有头皮图都是从31个EEG通道内插,并参考原始的右乳突参考。 对于每个分量,头皮映射图的振幅(由右侧面板的单独缩放的彩色条给出)给出了由垂直蓝线标记的时间点上组件投影的大小。

上面,通过将选定的非伪影ICA成分的总和投影回头皮,获得了无伪影事件相关的大脑信号,

clean_data = Winv(:,a) * activations(a,:);

其中[a]为所选非伪影成分数的向量。工具箱中包含一个函数icaproj(),它在一行代码中计算投影。

clean_data = icaproj(data,W,a);

在实践中,关键是要确定哪些成分是伪影的。上面,研究人员列出了一些他们发现有用的启发方法。

实验数据样本


移除眨眼和肌肉伪影

下图显示了记录的EEG时间序列的3秒部分及其ICA分量激活,四个选定分量的头皮形貌以及通过从数据中删除四个选定EOG和肌肉噪声分量而获得的伪影校正后的EEG信号。EEG数据(左)中1.8秒的眼睛运动伪影与ICA分量1和2(左中)隔离。头皮图(右中)表明这两个成分说明了EOG活性向额叶部位的扩散。

消除上面显示的头皮图的四个伪像成分,然后将其余成分投射回头皮通道,即可产生不含这些伪像的伪像校正EEG数据(右)。

请注意,从额叶通道(Fp1,Fp2左面板)中删除眨眼活动可以清楚地显示在原始数据中模糊不清的眨眼过程中发生的额叶alpha活动。

还要注意常规的右额颞颞肌尖峰分量#13(中间部分),尽管很难在原始数据中看到(例如,在通道T4中),但仍通过ICA与其他活动完全分开。

一些严重污染的脑电数据

(A)由于不良的数据采集设置而导致的EEG时间序列损坏的五秒钟部分;(B)ICA提取的噪声成分(右图)。(C)通过去除六个选定成分,通过ICA校正伪影的相同EEG信号;以及(D)原始和伪影校正的EEG记录的频谱分析。请注意,与(A)相比,EEG活动更为明显,特别是在通道1和2中,并且降低了线路噪声(60 Hz)和混叠线路噪声频率(接近12 Hz,105 Hz,135 Hz)。

参考文献

  • Jung T-P, Makeig S, Humphries C , Lee TW, McKeown MJ, Iragui V, and Sejnowski TJ, "Removing Electroencephalographic Artifacts by Blind Source Separation," Psychophysiology, 37:163-78, 2000 (.pdf, 1.3Mb).

  • Jung T-P, Makeig S, Westerfield W, Townsend J, Courchesne E, and Sejnowski TJ, "Removal of eye activity artifacts from visual event-related potentials in normal and clinical subjects,"Clinical Neurophysiology 111:1745-58, 2000 (.pdf, 4.9Mb).

  • Makeig S, Bell AJ, Jung T-P, and Sejnowski TJ, "Independent component analysis of Electroencephalographic data." Advances in Neural Information Processing Systems 8, 145-151,1996.

  • Jung T-P, Humphries C, Lee TW, Makeig S, McKeown MJ, Iragui V, and Sejnowski TJ, "Extended ICA Removes Artifacts from Electroencephalographic Recordings", Advances in Neural Information Processing Systems 10:894-900, 1998.

  • Jung T-P, Humphries C, Lee TW, Makeig S, McKeown MJ, Iragui V, and Sejnowski TJ, "Removing Electroencephalographic Artifacts : Comparison between ICA and PCA", In: Neural Networks for Signal Processing VIII, 63-72, 1998.

  • Jung T-P, Makeig S, Westerfield M, Townsend J, Courchesne E, and Sejnowski TJ, "Analyzing and Visualizing Single-trial Event-related Potentials," In: Advances in Neural Information Processing Systems, 11:118-24, 1999.

  • 参考于 https://cnl.salk.edu/~jung/artifact.html


http://chatgpt.dhexx.cn/article/fPFMq04S.shtml

相关文章

独立成分分析(ICA)

1.概念 独立成分分析是从多元(多维)统计数据中寻找潜在因子或成分的一种方法.ICA与其它的方法重要的区别在于,它寻找满足统计独立和非高斯的成分。这里我们简要介绍ICA的基本概念、应用和估计原理。 1.1 多元数据的线性表示 统计数据处理及相关领域中的一…

独立成分分析ICA系列2:概念、应用和估计原理.

1.概念 独立成分分析是从多元(多维)统计数据中寻找潜在因子或成分的一种方法.ICA与其它的方法重要的区别在于,它寻找满足统计独立和非高斯的成分。这里我们简要介绍ICA的基本概念、应用和估计原理。 1.1 多元数据的线性表示 统计数据处理及相关领域中的一…

详解独立成分分析

最近在学习数据降维的一些方法(有关数据降维的其他内容请看这篇文章),虽然独立成分分析不算是严格意义上的降维方法,但是它和PCA有着千丝万缕的联系,所以打算专门写一篇文章来学习ICA的相关知识,看了挺多的关于ICA的博文&#xff…

独立成分分析

在已知语音信号方向的情况下,波束形成能明显改善语音质量,提高信噪比;然而在实际环境中,人可能是走动的,即使坐立不动,由于身体的扭曲使得语音到达阵列的方向也是变化的,此时波束形成效果受到限…

独立成分分析(Independent Component Analysis,ICA)原理及代码实现

过程监控中会用到很多中方法,如主成分分析(PCA)、慢特征分析(SFA)、概率MVA方法或独立成分分析(ICA)等为主流算法。 其中PCA主要多用于降维及特征提取,且只对正太分布(高…

清理vdbench后台进程

当我们打开一个终端,用nohup运行vdbench程序。断开连接后,你发现你写的配置文件有误,想关闭已有的vdbench进程。你重新连接上终端,咦,我的jobs命令怎么没有显示我的nohup任务呢?这是因为你的nohup任务的sh进…

Nas性能测试工具-vdbench

版本: vdbench50406 简介: vdbench是一个 I/O 工作负载生成器,用于验证数据完整性和度量直接附加和网络连接的存储的性能。它是一个免费的工具,容易使用,而且常常用于测试和基准测试。 配置参数: 大文…

Linux中vdbench的安装与使用

vdbench是一个 I/O 工作负载生成器,用于验证数据完整性和度量直接附加和网络连接的存储的性能。它是一个免费的工具,容易使用,而且常常用于测试和基准测试。 可以使用vdbench测试磁盘和文件系统的读写性能。 环境:Ubuntu 16.04 …

vdbench和fio测试磁盘性能的对比总结

vdbench和fio测试磁盘性能的对比总结 一、安装 1、安装vdbench,首先安装java:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 其次下载vdbench安装包并进行安装:http://pan.baidu.com/s/1b7XooY&am…

vdbench使用

简介 vdbench是一个 I/O 工作负载生成器,用于验证数据完整性和度量直接附加和网络连接的存储的性能。它是一个免费的工具,容易使用,而且常常用于测试和基准测试。 可以使用vdbench测试磁盘和文件系统的读写性能。 名词解释 vdbench中常用的…

vdbench测试SSD快速入门

介绍 vdbench是一个I/O工作负载生成器,通常用于验证数据完整性和度量直接附加(或网络连接)存储性能。它可以运行在windows、linux环境,可用于测试文件系统或块设备基准性能。我们下面主要以块设备为介绍对象。 下载及安装 下载…

vdbench多主机运行指导

测试工具之vdbench多主机运行 本文介绍vdbench在多机环境下的操作和配置,以及本人在配置过程中遇到的问题和解决方法。 文章目录 测试工具之vdbench多主机运行前言一、vdbench在linux环境下多机运行1.环境参数2.配置说明二、vdbench在windows环境下多机运行1.环境参数2.配置…

Vdbench工具安装使用

一、 概述 1.1 内容简介 Vdbench 是一个命令行使用程序,旨在帮助工程师和客户生成用于验证存储性能和存储数据完 整性的磁盘 I/O 负载。还可通过输入文本文件指定 Vdbench 执行参数。它是一个免费的工具,容 易使用,而且常常用于测试和基准测试…

Vdbench工具的安装及使用

Vdbench工具的安装 Vdbench的运行依赖java环境,请务必先安装java运行环境安装java,Ubuntu OS环境安装java: apt-get install openjdk-8-jdkCentos OS环境安装: yum install openjdk-8-jdk检查是否安装成功 安装vdbench,下载vdbench50407.zip包&#…

Java jre的安装与卸载

文章目录 1. jre安装2. 卸载 Java JDK安装教程 Idea Java开发环境配置教程: https://tangxing.blog.csdn.net/article/details/112392218 1. jre安装 java下载网址: https://www.java.com/zh-CN/download/manual.jsp 这里有联机版和脱机版,…

彻底卸载jdk,jdk安装 ,javaa安装,jdk删除干净

标签: 一.备份安装好的绿色版JDK a.重新安装JDK到任意目录,假设这个目录是C:\java。 b.将装好的JDK,JRE拷贝到任意一个其他目录,如D:\bak,这样做的目的主要是为了备份JDK。(建议打成zip压缩包奔备用)二.彻底卸载JDK1.第一步,首先卸载或删除J…

Java如何卸载?怎么删掉Windows计算机上的Java?Java卸载流程详解!

大家都知道Java版本不是一成不变的,Java会朝着功能增加、漏洞修复和性能优化的方向一直进步。而公布新版Java之后,我们需要使用它,那么卸载掉旧版的Java很有必要,为什么呢? 这是Java官方给出的回复: 我们强烈建议您…

JAVA安装、配置及卸载

基本上从入门到实用非常全面了。 安装 安装Eclipse先配置jdk jdk下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html (此处以jdk8为示例) 一、安装jdk 此处默认路径即可,单击下一步 安装完成后会…

Java类的卸载机制

类的生命周期 当Sample类被加载、连接和初始化后,它的生命周期就开始了。 当代表Sample类的Class对象不再被引用,即不可触及时,Class对象就会结束生命周期,Sample类在方法区内的数据也会被卸载,从而结束Sample类的生命…

JAVA的安装与卸载

1.java的卸载 1.删除java的安装目录 2.删除系统环境变量里的JAVA_HOME和Path里面的bin目录和jre/bin目录 3.cmd输入java -version 查看是否删除取消 2.java的安装 1.百度搜索jdk1.8找到下载地址 2.双击安装文件安装 3.配置系统环境变量 1.配置环境变量JAVA_HOME&#xff…