Giter Club home page Giter Club logo

eeg_mi_wavelet_cnn_test's Introduction

BCI_MI_wavelet_CNN

基于小波变换和卷积神经网络的脑电运动成像信号分类

链接

原文github地址

参考论文地址

预处理

脑电信号的预处理主要是去除信号中的噪声,滤除与运动图像任务无关的频率成分。一些数字信号中含有低频噪声,影响了信号的分析。它需要预处理,以消除信号基线。通过消除数据的趋势,分析可以集中在数据的波动上。线性趋势通常表示系统的增加或减少。小波分析可以测量信号的非线性趋势,小波分析可以对信号进行多尺度分析。从低频系数可以看出信号的基线线,并从原始信号中减去基线

脑电图的ERD/ERS现象主要体现 在8-30Hz的频段,对原始信号进行贷通滤波,选择8-30频段 肌电信号具有较宽的频率范围,较大的幅值部分分布在频率大于30hz的区域;眼球运动信号集中在5Hz以下的低频区域,尤其是前额区域。

在本实验中,我们使用空间滤波器来最大化信噪比。 common averagereference (CAR)过滤器强调大多数通道中的公共组件,并从指定的通道中删除这些组件,以增加不同通道之间的差异。 相反,如果某些组件出现在大多数通道中,但不在兴趣通道中,则会在兴趣通道上生成工件。 拉普拉斯方法的效果与CAR相似,但只使用邻域信道的一小部分。

拉普拉斯滤波:这种方法提取的是发生在第i个电极的局部活动,它使用第i个电极的信号减去四个正交的最近邻电极信号的平均值 共同平均参考(CAR):用第i个电极的信号减去其他所有的电极信号的平均值,以增强第i个电极上的局部活动。

当受试者进行左手运动成像时,C3通道在8-12 Hz波段的功率幅值增大,即发生ERS现象,而C4通道在8-12 Hz波段的功率幅值减小,即发生ERD现象。

滤波器设计

通过时域转换为频域,在频域信号中去除相应频域信号,最后在逆转换还原为时域型号

滤波函数

scipy.signal.filtfilt(b, a, x, axis=-1, padtype='odd', padlen=None, method='pad', irlen=None)

输入参数:

b: 滤波器的分子系数向量

a: 滤波器的分母系数向量

x: 要过滤的数据数组。(array型)

axis: 指定要过滤的数据数组x的轴

padtype: 必须是“奇数”、“偶数”、“常数”或“无”。这决定了用于过滤器应用的填充信号的扩展类型。{‘odd', ‘even', ‘constant', None}

padlen:在应用滤波器之前在轴两端延伸X的元素数目。此值必须小于要滤波元素个数- 1。(int型或None)

method:确定处理信号边缘的方法。当method为“pad”时,填充信号;填充类型padtype和padlen决定,irlen被忽略。当method为“gust”时,使用古斯塔夫森方法,而忽略padtype和padlen。{“pad” ,“gust”}

irlen:当method为“gust”时,irlen指定滤波器的脉冲响应的长度。如果irlen是None,则脉冲响应的任何部分都被忽略。对于长信号,指定irlen可以显著改善滤波器的性能。(int型或None)

输出参数:

y:滤波后的数据数组 滤波器构造函数

scipy.signal.butter(N, Wn, btype='low', analog=False, output='ba')

输入参数:

N:滤波器的阶数

Wn:归一化截止频率。计算公式Wn=2*截止频率/采样频率。(注意:根据采样定理,采样频率要大于两倍的信号本身最大的频率,才能还原信号。截止频率一定小于信号本身最大的频率,所以Wn一定在0和1之间)。当构造带通滤波器或者带阻滤波器时,Wn为长度为2的列表。

btype : 滤波器类型{‘lowpass', ‘highpass', ‘bandpass', ‘bandstop'},

output : 输出类型{‘ba', ‘zpk', ‘sos'},

输出参数:

b,a: IIR滤波器的分子(b)和分母(a)多项式系数向量。output='ba'

z,p,k: IIR滤波器传递函数的零点、极点和系统增益. output= 'zpk'

sos: IIR滤波器的二阶截面表示。output= 'sos'

特征提取:小波变换

分类: CNN

一个典型的CNN网络有以下几层:输入层、卷积层、池化层、完全连接层、输出层。卷积核提取输入的局部接受域特征,然后将该特征作为池化层的输入。

CNN的抽象能力与需要学习的层数和参数正相关。

我们交替计算卷积层和池化层,使得特征图的大小减小,通道数量增加。到全连通层时,将之前得到的特征进行扁平化,最终通过前馈网络实现分类结果

CNN中的经典模型更适合有足够数据的训练,在BCI中并不是适合。BCI数据集难以训练,更容易出现过拟合。针对小数据集,提出一种2层卷积网络。输入图像统一调整为64*64.内核大小也会相应的调整。本文采用了两种类型的核,一种是二维核一种是一维核。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.