当前位置: 首页 > backend >正文

脑电分析——ICLabel的一对多成分关系与手工阈值

ICLabel的一对多成分关系与手工阈值

  • ICLabel
    • 理论基础
    • 一对多关系
    • 手工阈值的意义
  • 学习感受

ICLabel

在 EEG(脑电图)中,伪迹是一个不可忽视的问题。无论是眼动、肌肉活动、心电干扰,还是电源线噪声,都会对数据质量造成影响。

ICA(独立成分分析)是一种常用的去伪迹方法,它能将混合信号分解为相对独立的成分。然而,分解后的成分需要人工判断哪些是脑电,哪些是伪迹 —— 这既耗时又主观。

ICLabel 插件 能自动为每个成分打标签,并给出属于不同类别的概率。

理论基础

ICLabel 是 EEGLAB 的一个插件,基于 >200,000 个由专家与众包标注的 ICA 成分训练的机器学习模型。
它会为每个成分输出一个概率(7类),如:

成分BrainMuscleEyeHeartLine NoiseChannel NoiseOther
IC10.850.050.050.010.020.010.01
IC20.400.350.200.010.030.000.01

1.Brain(脑源信号)
2.Muscle(肌肉伪迹)
3.Eye(眼动伪迹,如眨眼、扫视)
4.Heart(心电信号)
5.Line Noise(工频干扰,50/60 Hz)
6.Channel Noise(电极接触不良等)
7.Other(其他难以归类的成分)

(1)
在这里插入图片描述
这张图是对独立成分分类结果的可视化展示,每个脑电图的下方标注了该独立成分被分类为某类别的概率:

  • 比如标着 “Muscle : 70.4%” ,说明第6个独立成分,有 70.4% 的可能性属于肌肉伪迹成分;
  • “Eye : 71.9%” 即第 13 个成分,71.9% 可能性是眼电伪迹
  • “Brain : 98.4%” 代表第 9 个成分,有极大概率(98.4%)是脑电活动成分

这些不同分类,帮助我们识别出 EEG 数据里哪些成分是脑电信号(我们想要分析的有用信号 ),哪些是各类伪迹(会干扰脑电信号分析,通常需要去除或校正 )。

(2)点击其中某个电机之后(以第一个为例),会具体显示出单个成分的分析结果图,它会为每个成分输出一个概率。

如下图的绿色框框内的结果所示:
在这里插入图片描述

一对多关系

“一对多” 指的是:

ICLabel 输出的是一个 IC × 7 类别 的概率矩阵,每行表示一个独立成分。

如果某一行的 Brain、Muscle、Eye、Heart、Line Noise、Channel Noise、Other 的概率都比较接近,比如 Brain=0.4, Muscle=0.3, Eye=0.2,这是典型的“一对多”成分。

说明该 IC 混合了脑电和伪迹特征,不容易单纯归为一个类别。

手工阈值的意义

由于 ICLabel 输出的是概率,我们可以根据概率设定阈值来判断去留。

做法有:

  • 保留脑电成分(Brain):概率 > 0.7

  • 去除肌电(Muscle):概率 > 0.75 → 去除

  • 去除眼动(Eye):概率 > 0.8 → 去除

  • 去除心电(Heart):概率 > 0.8 → 去除

  • 去除电源噪声/通道噪声(Line/Channel Noise):概率 > 0.8 → 去除

  • 其他成分(Other):通常概率 > 0.8 → 去除

(1)去除概率为60%-100%的肌电(Muscle)伪迹 和 去除概率为60%-100%的眼电(Eye)伪迹
在这里插入图片描述
结果对比图:
在这里插入图片描述

(2)去除概率为60%-100%的肌电(Muscle)伪迹 和 去除概率为50%-100%的眼电(Eye)伪迹

在这里插入图片描述
结果对比图:
在这里插入图片描述
(3)去除概率为60%-100%的肌电(Muscle)伪迹 和 去除概率为50%-100%的眼电(Eye)伪迹 和 去除概率为80%-100%的其他
在这里插入图片描述
结果对比图:
在这里插入图片描述

合理的阈值 能在去除伪迹的同时,尽量保留有效脑电信号。

学习感受

本周我主要学习了 EEGLAB 中的 ICLabel 插件。首先通过 ICA 分解将混合信号分解为独立成分,然后使用 ICLabel 插件自动为每个成分打上 7 类概率标签。通过设置不同阈值,查看其去伪迹效果,并通过比较了解了处理前后的差异。

http://www.xdnf.cn/news/17661.html

相关文章:

  • Java Spring框架最新版本及发展史详解(截至2025年8月)-优雅草卓伊凡
  • Linux 5.15.189-rt87 实时内核安装 NVIDIA 显卡驱动
  • 【WonderTrader源码详解 1】【环境搭建 2】【编译安装WonderTrader】
  • 从 VLA 到 VLM:低延迟RTSP|RTMP视频链路在多模态AI中的核心角色与工程实现
  • Java 大视界 -- 基于 Java 的大数据可视化在能源互联网全景展示与能源调度决策支持中的应用
  • 《工程封装》(Python)
  • 解决 HTTP 请求 RequestBody 只能被读取一次的问题
  • 【PyTorch学习笔记 - 03】 Transforms
  • 串口超时参数深度解析:ReadTotalTimeoutMultiplier、ReadIntervalTimeout等
  • Day24|学习前端CSS
  • scikit-learn/sklearn学习|岭回归python代码解读
  • 数据分析小白训练营:基于python编程语言的Numpy库介绍(第三方库)(上篇)
  • vue-cli搭建项目脚手架
  • -bash: ll: 未找到命令
  • RabbitMQ-知识技能图谱(总结篇)
  • leetcode3258:统计满足K约束的子字符串数量Ⅰ(变长滑动窗口详解)
  • Windows server服务器上部署python项目域名访问(超详细教程)
  • Web攻防-业务逻辑篇Fuzz技术数据并发条件竞争JS挖掘参数盲猜Turbo插件SRC
  • pyside控件_左右范围滑动控件
  • Kubernetes 资源管理全解析:从基础到企业级实践
  • 初识神经网络04——构建神经网络2
  • 【基于DesignStart的M3 SoC】
  • 当“超级高速“遇见“智能大脑“:5G-A×AI如何重塑万物智联时代
  • 告别数据孤岛!React 路由 3 种传参方法全解析
  • Qt之QMetaEnum的简单使用(含源码和注释)
  • 标准IO操作
  • Python 常用的正则表达式
  • Redis序列化配置类
  • vue2+elementUI实现园型动态步骤条小组件,带缩放功能
  • 【4】Transformers快速入门:自然语言模型 vs 统计语言模型