脑电信号分类问题的数据预处理方法

news2024/9/19 22:41:09

脑电波介绍

脑电波(Electroencephalogram, EEG)是应用电生理指标来记录大脑活动的方法。大脑在活动时,神经元同步发生突触后电位反应在了头皮表面,研究者将电机放置在被试者的头皮上检测脑电波信号。电机位置大概如下:

实际而言,收集到的数据就是多个通道的时间序列数据:

之前有幸参加了学院路内的一个脑电实验,签了保密协议就不谈实验内容了。抛开内容不谈,这次实验让我觉得虽然脑电的理论基础很好,但是实际上执行的可能并不是很理想。电极位置、实验流程等都可能影响数据的质量。

信号预处理

在进行模型构建前,主要有三个步骤:信号预处理、数据增强和特征提取

1

伪影处理

脑电信号会受到眼部伪影和肌电信号的影响。眼部伪影(EOG)是在受试者眼球或眼皮改变眼向或眨眼时,在EEG信号中产生的扰动。肌电信号(EMG)则是由吞咽或咬合时引起的,分布范围为0-200Hz。

对于伪影的处理,约四分之一的研究者忽视了伪影,四分之一手工进行去除。其余进行去除伪影的算法最主要的为ICA与DWT,还有其他的一些名字特别长的算法。

独立成分分析 

ICA(Independent Component Analysis)

数据有可能是多个独立分量的组合时(盲源分离),应用ICA可以将其提取出来。声音数据是线性叠加的,电信号数据我简单搜了一下没有搜到,之后再补充吧。

ICA之前往往对数据进行PCA和白化处理,以提取源信号中的信息。例如图中是PCA提取特征后的声音信号,这些信号都由三种简单的波形组成。

ICA算法进行多步迭代寻优,将信号解混为以下三种波形:

离散小波变换 

DWT(Discrete Wavelet Transformation)

小波也就是wavelet是一种均值为零,快速衰减的波浪状震荡,存在时间有限:

离散小波变换主要用于信号的去噪,主要流程如下:

在这个变换中,可以捕获几个幅值较大的DWT系数的重要信号,信号中的噪声则会生成较小的DWT系数。DWT有助于分析不同分辨率下逐渐变窄的子带上的信号,以及帮助去噪和压缩信号。

2

滤波处理

在一篇综述中收集的文献中,各类问题滤波处理方法如下,大部分都使用了带通滤波,取1-40hz的信号

数据增强

有很多研究将眨眼、肌肉活动和高斯噪声加入到了原数据集中,以生成新的样本。高斯噪声是概率密度函数服从高斯分布(即正态分布)的一类噪声。如果它的功率谱密度又是均匀分布的,则称为高斯白噪声。

同时也有将高斯噪声添加到输入的特征向量中,而非原始的数据中的增强方法。

重叠窗口以增加数据。对于分类问题一般我们都在一段脑电序列的信号中依次截取几秒作为窗口,然后对于每个窗口进行分类。那么如果将窗口重叠截取,就会有更多的样本了。

交换左右侧电极数据,使样本翻倍。这个方法对于大脑对称的活动来说有效,但是可能泛用性不是很高的样子。

将预处理时下采样丢弃的数据作为新样本。这个思路我没有太理解,生成的样本不会与原样本差距过大吗,可能需要仔细读一下文献再说。

以及应用cDCGAN生成人工脑电图信号。就是在GAN的基础上在生成模型的随机噪声处合并一个标签,以作为条件约束生成特定标签的模型。

生成原始EEG数据的傅里叶变换替代物。将EEG数据进行傅里叶变换为频域数据后,直接生成频域的数据而不是原始的数据。

特征提取

之后就是输入进深度学习模型的特征的问题了,综述中共分为三个大类,计算特征、图像特征、以及信号值

1

计算特征

最多的计算特征是PSD(Power Spectral Density),也即功率谱密度。其定义了信号或者时间序列的功率如何随频率分布。

其次的是wavelet decomposition,指的可能是DWT等小波变换等操作。

之后占比较多的是statistical measures,包括信号的平均值和标准差等。

2

图像特征

在一些CNN架构的网络中,会用到eeg生成的频谱图作为输入。

以及Fourier feature maps 

以及堆叠信号生成的2D、3D结构

3

信号值

信号值大多数是raw,也就是直接输入不经处理的信号。不过aaai的一篇文章(2021)中提到,目前来说CNN、RNN和attention机制之类的很难提取出EEG中的隐藏信息。所以根据道听途说来的消息,raw数据直接输入的可靠性还有待商榷。

Averaged方法综述中没有提到,推断应该是指signal averaging,将多个相同类别的片段求平均并输入。

CVT指Complex Value Transformation,应该是某篇文章中作者拍脑袋想出来的算法。

结语

之前写稿的时候姜学姐问我是不是在写专设的内容,我一想这个确实值得一写。

树莓派这个板子可以写python和c,能实现很多复杂的功能,在我们这届的专设中用的很广泛。不过大多数人又不会写代码,又不会搞硬件,只能在组里当个挂件并度过相对失败的专业设计课程。于是我准备之后科普一下从零开始使用树莓派,以防学弟学妹们以后像我的队友一样一边摆烂一边说我干的不够多。专设真是令人愉悦的小组合作呢 : )

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/68405.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[python] 基于wordcloud库绘制词云图

词云Wordcloud是文本数据的一种可视化表示方式。它通过设置不同的字体大小或颜色来表现每个术语的重要性。词云在社交媒体中被广泛使用,因为它能够让读者快速感知最突出的术语。然而,词云的输出结果没有统一的标准,也缺乏逻辑性。对于词频相差…

Log,SqlServerProfile, EFProfile三种监视EntityFramework中的sql流

大家在学习entityframework的时候,都知道那linq写的叫一个爽,再也不用区分不同RDMS的sql版本差异了,但是呢,高效率带来了差灵活性,我们 无法控制sql的生成策略,所以必须不要让自己缺乏好的工具去监控sql,本篇给大家介绍的三种监控手段Log和SqlServer profile,ef profi…

QA | SWCF2022 笔记:卫星传输链路中的关键技术分享

2022年度SWCF卫星通信与仿真测试研讨会正在进行中。精彩演讲:卫星传输链路中的关键技术分享,收到一些粉丝的技术问题,我们汇总了热点问题并请讲师详细解答。 主题:卫星传输链路中的关键技术分享 认识卫星通信与传输链路过程 1. …

来看看火爆全网的ChatGPT机器人写的武侠小说,我直呼内行!

作为一个程序员,不免对最近爆火的ChatGPT聊天机器人非常好奇,晚上睡不着觉,经过一番折腾,总算和ChatGPT聊上了。然后突发奇想,让它写武侠小说如何,会让小说家失业吗?结果机器人的反应让我直呼内…

RfDNet 在Ubuntu16下的配置与运行——(二)数据准备与训练

RfDNet 在Ubuntu16下的配置与运行——(二)数据准备与训练 相关博客:RfDNet 在Ubuntu16下的配置与运行——(一)运行Demo 接上篇,现在需要下载数据,官方使用的训练数据为: ScanNet 数据集 Scan2CAD 数据集:Scan2CAD ali…

Linux(常用命令)

(1)目录操作 ls 列出当前目录下都有啥ls / 或者 跟个具体的路径可以查看指定目录的内容ls -l 缩写为 ll 可以以列表的形式展示目录内容pwd 查看当前路径对应的绝对路径 cd / 切换到根目…

Redis缓存篇:高频问题横扫核心知识点,面试高级工程师必备知识体系

文章目录Redis 为什么这么快?到底有多快?基于内存实现高效的数据结构SDS 简单动态字符串优势zipList 压缩列表quicklistskipList 跳跃表整数数组(intset)单线程模型I/O 多路复用模型Redis 全局 hash 字典Hash 冲突怎么办&#xff…

vue 如何获取路由详细内容信息

目录前言:路由(router)的信息:获取路由的所有信息获取路由中每个信息的单个值获取路由中需要显示的值总结:前言: vue 中路由(router)的功能就是:把 url 与 应用中的对应…

【视觉高级篇】23 # 如何模拟光照让3D场景更逼真?(上)

说明 【跟月影学可视化】学习笔记。 光照效果简介 物体的光照效果是由光源、介质(物体的材质)和反射类型决定的,而反射类型又由物体的材质特点决定。 在 3D 光照模型中,根据不同的光源特点分为四种: 环境光&#…

事务相关知识集锦

作者:李玉亮 引言 数据库事务与大多数后端软件开发人员的工作密不可分,本文从事务理论、事务技术、事务实践等方面对常用的相关事务知识进行整理总结,供大家参考。  事务理论介绍 事务定义 在数据库管理系统中&…

Navicat!OceanBase社区版新朋友来啦!

引言: 近期,Navicat Premium 16.1与Navicat for MySQL 16.1版本,将新增 OceanBase 社区版兼容功能,为用户在使用 OceanBase 社区版迁移过程中提供数据库管理开发工具新的选择,旨在帮助用户提升工作效率,减少…

「模型即服务AI」1分钟调用SOTA人脸检测,同时搭建时光相册小应用

时光相册应用效果一、物料 人脸检测:https://modelscope.cn/models/damo/cv_resnet101_face-detection_cvpr22papermogface/summary 时光相册: https://modelscope.cn/studios/damo/face_album/summary 二、背景 最近有两个计算机应用发展的方向正在潜…

社区疫情防控系统毕业设计,社情疫情防控系统设计与实现,毕业设计怎么写论文源码开题报告需求分析怎么做

项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于web网页的疫情下社区健康评估系统,整个网站项目使用了B/S架构,基于java的springboot框架下开发;通过后台设置网站信息,设置广告信息,查看和管理…

2022选择了交大,回顾这一年的成长

Datawhale干货 作者:王琦,上海交通大学,Datawhale成员2022年是颇为忙碌的一年,今年我从中国科学院大学毕业、申请上了上海交通大学的博士、参与贡献了开源教程“Easy-RL”(5.6K GitHub Stars)、出版了著作《…

【面试高频题】难度 2/5,回溯算法经典运用

题目描述 这是 LeetCode 上的 93. 复原 IP 地址 ,难度为 中等。 Tag : 「回溯」、「DFS」 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 . 分隔。 例如:&…

按指定频次对时间序列数据进行分组pd.grouper()方法

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 构造时间序列为索引的DataFrame 按照指定的时间间隔分组统计 df.grouper() 选择题 关于以下python代码说法错误的一项是? import pandas as pd ipd.to_datetime(["2022-12-01",…

面试官:MySQL 数据库查询慢,除了索引问题还可能是什么原因?面试架构师必备知识

文章目录数据库查询流程慢查询分析索引相关原因连接数过小buffer pool太小还有哪些骚操作?总结mysql查询为什么会慢,关于这个问题,在实际开发经常会遇到,而面试中,也是个高频题。遇到这种问题,我们一般也会…

Ubuntu20运行SegNeXt代码提取道路水体(一)——从零开始运行代码过程摸索

SegNeXt代码最近可谓是非常火 应导师的要求打工人需要学习一下新的代码 但是网上千篇一律都是论文的讲解 如何跑通代码并且使用自己的数据跑出一个好的结果却没有一个详细的教程 那么就让我自己来从零开始跑通代码吧 下载代码和数据 首先咱们先别想着用自己的数据 从githu…

iTOP3568开发板ubuntu系统修改开机联网等待时间

启动开发板使用以下命令对 networking.service 文件进行修改,如下图所示: vi /etc/systemd/system/network-online.target.wants/networking.service 修改完后保存退出,重启开发板就会看到等待时间变为 2min 了,如下图所示&…

软件安全测试-网络相关基础知识

目录 1. OSI 网络模型 2. TCP/IP协议 2.1 TCP 协议分层 2.2 TCP 协议内容 2.3 应用层活动 2.4 传输层活动 2.4.1 建立连接三次握手 2.4.2 断开连接四次握手 2.4.3. 数据打包与分解 2.5 网络层活动 2.5.1 IP寻址 2.5.2 ARP协议获取MAC地址 2.5.3 BGP外部网关协议…