稳态视觉诱发电位 (SSVEP) 分类学习系列 (3) :3DCNN

news2024/12/26 15:13:27

稳态视觉诱发电位分类学习系列:3DCNN

  • 0. 引言
  • 1. 主要贡献
  • 2. 提出的方法
    • 2.1 解码主要步骤
    • 2.2 网络具体结构
    • 2.3 迁移策略
  • 3. 结果和讨论
    • 3.1 数据集1上的结果
    • 3.2 数据集2上的结果
    • 3.3 零填充
  • 4. 总结
  • 欢迎来稿

论文地址:https://www.sciencedirect.com/science/article/abs/pii/S1746809423013642
论文题目:Deep transfer learning-based SSVEP frequency domain decoding method
论文代码:暂无

0. 引言

目的
提高基于稳态视觉诱发电位的脑机接口(SSVEP-BCI)系统的解码精度信息传递速率(ITR)缩小主体间方差是SSVEP-BCI系统应用的关键。为此,我们提出了一种基于深度迁移学习的SSVEP频域解码方法,以提高解码性能。

方法
使用滤波器组基于零填充的快速傅里叶变换技术提取具有丰富空间域和频域特征的输入数据表示。设计了一种简洁高效的三维卷积神经网络(3DCNN)模型,用于输入数据的特征提取和解码。提出了一种迁移学习策略,以进一步提高解码精度并缩小主体间差异。

结果
我们提出的3DCNN在信号长度为1 s的基准数据集上实现了89.35%的平均分类准确率和173.02比特/分钟的ITR。在我们的实验室数据集中,当信号长度为0.6 s时,3DCNN的平均分类精度和ITR分别达到88.75%和120.33 bit/min。

总的来说:零填充感觉是一个很不错的数据增强的方法。。关于为什么结构是3DCNN其实还是很疑惑的,没有感觉到从网络结构的层面上表现出来。。。

1. 主要贡献

  1. 设计了一种结合滤波组技术零填充快速傅里叶变换的特征提取方法,有效地获得了脑电图中丰富的空间域频域特征
  2. 构建了高效的深度学习模型,能够很好地学习输入的潜在语义特征,实现较高的信息传递速率解码精度
  3. 所提出的迁移学习训练策略有效缓解模型训练数据不足的问题,降低了主体间变异性,提高了模型的泛化性能。

2. 提出的方法

SSVEP信号解码过程如下图所示:
在这里插入图片描述

2.1 解码主要步骤

解码的主要步骤如下:

  1. 对数据进行带通滤波。滤波器组分别为:6-18 Hz14-34 Hz22-50 Hz
  2. 对信号末端进行零填充。可以提高频率密度,并减少FFT计算频谱的采样误差。但是需要注意FFT分辨率发生了变化
  3. 进行FFT变换,并将实部和虚部进行合并,左边实部右边虚部。
  4. 将3个子带特征在深度方向上串联,得到新的数据输入形式 ( N c ∗ N F c ∗ N d ) (N_c*N_{Fc}*N_d) (NcNFcNd), N c N_c Nc表示脑电通道数 N F c N_{Fc} NFc表示特征数 N d N_d Nd表示子带个数(深度)
  5. 将数据输入3DCNN网络结构

2.2 网络具体结构

网络具体结构如下所示:

注意:代码框架是Tensorflow2
在这里插入图片描述

2.3 迁移策略

对于数据集1而言有35名被试,每名被试进行了6组,每组40次的实验。使用其中34名被试的所有数据用来做预训练,然后使用最后一名被试的5组实验数据来做微调,最后使用最后1组实验来做测试。进行6次实验来取平均值作为该名被试的实验结果。

3. 结果和讨论

3.1 数据集1上的结果

不同分类算法的比较:
在这里插入图片描述

3.2 数据集2上的结果

数据集 2 的平均分类准确率如下图所示:
在这里插入图片描述

3.3 零填充

本研究主要分析了不同输入数据点对1 Hz(无零填充)、0.5 Hz、0.33 Hz、0.25 Hz和0.2 Hz下FFT分辨率结果的影响。实验结果表明,当分辨率从1 Hz提高到0.5 Hz时,在输入数据点250处进行零填充,分类精度显著提高。然而,当FFT分辨率继续提高时,分类精度会降低。经过分析可以知道,当分辨率为1 Hz、0.5 Hz、0.33 Hz、0.25 Hz、0.2 Hz时,250个输入数据点对应的频段范围分别为0-125 Hz、0-62.5 Hz、0-41.25 Hz、0-31.25 Hz和0-25 Hz。在输入数据点数为250个的前提下,1 Hz FFT分辨率具有较宽的频率范围。然而,由于分辨率低,对于整数频率只能观察到有限的频率信息。这被称为共同围栏效应。当分辨率为 0.5 Hz 时,频带范围缩小到 0-62.5 Hz,但在我们感兴趣的频段范围 (6-50 Hz) 中可以观察到更多的频点信息。这相当于移动围栏以在其他频率点进行观察。这就解释了为什么通过缩小频带来提高分类精度。同样,FFT分辨率不断提高,但分类精度逐渐降低的现象也可以解释。这是因为由于频带的逐渐变窄,许多高频信息丢失了。此外,我们还发现,通过将输入数据点的数量从 250 个增加到 500 个,可以提高分类准确性。这是因为增加输入数据点的数量可以扩大频率范围。这弥补了高分辨率导致的高频信息丢失问题。然而,通过进一步增加输入数据点的数量,无法显著提高分类精度,因为这只会增加一些无用的频率信息和计算。
在这里插入图片描述

4. 总结

到此,使用 稳态视觉诱发电位 (SSVEP) 分类学习系列 (3) :3DCNN 已经介绍完毕了!!! 如果有什么疑问欢迎在评论区提出,对于共性问题可能会后续添加到文章介绍中。

如果觉得这篇文章对你有用,记得点赞、收藏并分享给你的小伙伴们哦😄。

欢迎来稿

欢迎投稿合作,投稿请遵循科学严谨、内容清晰明了的原则!!!! 有意者可以后台私信!!

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

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

相关文章

[最新]CentOS7设置开机自启动Hadoop集群

安装好Hadoop后我们可以使用开机自启动的方式,节约敲命令的时间。注意是centOS7版本!!!和centOS6版本区别非常大!!! 1、切换到系统目录 [rootmaster ~]# cd /etc/systemd [rootmaster systemd]# ll total 32 -rw-r--r-- 1 root root 720 Jun 30 23:11 bootcha…

微信小程序:6.事件

什么事事件 事件就是渲染层到逻辑层的通讯方式,比如提交表单,按钮点击都可以看作一个事件。 小程序中常用的事件 事件对象属性列表 当事件回调时,会收到一个事件对象event,他详细属性如夏表所示: target和curren…

网络安全实训Day16

网络空间安全实训-渗透测试 漏洞扫描 定义 扫描和探测目标范围内的主机存在哪些安全漏洞,或扫描目标范围内的那些主机存在某个指定的漏洞 漏扫工具 AWVS APPScan MSF 使用MSF扫描漏洞并利用 1.搜索需要的攻击模块 search ms17-010 2.使用攻击模块 use 模块名称…

改ip地址软件手机怎么弄?分享操作指南与注意事项

随着移动互联网的普及,手机已成为我们日常生活中不可或缺的工具。在某些情况下,我们可能需要更改手机的IP地址,以满足特定的网络需求或实现某些功能。然而,对于许多用户来说,如何在手机上更改IP地址可能是一个相对陌生…

【Android】 网络技术

前言 本文用于记录Android网络技术的使用, 包括我们如何发起一条HTTP请求、解析XML、JOSN格式的数据以及最好用的网络库Retrofit。 使用HTTP协议访问网络 关于HTTP协议的工作原理,我们只需要知道客户端向服务器发起一条HTTP请求,服务器接收…

HarmonyOS开发案例:【rating组件】

介绍 将引导开发者使用rating组件实现星级打分功能。 相关概念 [rating组件]:评分条,可根据用户判断进行打分。 环境搭建 软件要求 [DevEco Studio]版本:DevEco Studio 3.1 Release及以上版本。OpenHarmony SDK版本:API vers…

预见预判|AIRIOT智慧交通管理解决方案

随着机动车保有量的逐步增加,城市交通压力日益增大。同时,新能源车辆的快速发展虽然带来了环保效益,但也因不限号政策而进一步加剧了道路拥堵问题。此外,各类赛事和重大活动的交通管制措施也时常导致交通状况复杂多变。面对这些挑…

Linux--MyMiniTry--Vim

首先下载好vim,我们可以按以下的方式进行光标的移动(也可以回车进行换行) (--> 进入教程) (初始的时候没有文本,你怎么按都没有用) (我们要先按 i ,进行插入文本才…

maven修改默认编码格式为UTF-8

执行mvn -version查看maven版本信息发现,maven使用的编码格式为GBK。 为什么想到要修改编码格式呢?因为idea中我将文件格式统一设置为UTF-8(如果不知道如何修改文件编码,可以参考文末),然后使用maven打包时…

[GXYCTF 2019]BabyUpload

过滤 <? 且后缀不能有 php 上传1.jpg文件&#xff0c;内容为&#xff1a; <script languagephp>eval($_POST[cmd]);</script> 但文件后缀为.jpg&#xff0c;蚁剑不能连接。那怎么办呢&#xff1f; .htaccess文件&#xff1a;解析.jpg文件中的php代码 &#xf…

LLaMA-Factory参数的解答(命令,单卡,预训练)

前面这个写过&#xff0c;但觉得写的不是很好&#xff0c;这次是参考命令运行脚本&#xff0c;讲解各个参数含义。后续尽可能会更新&#xff0c;可以关注一下专栏&#xff01;&#xff01; *这是个人写的参数解读&#xff0c;我并非该领域的人如果那个大佬看到有参数解读不对或…

vue echarts折线图 折线堆积图和折线面积图

vue echarts折线图 折线堆积图和折线面积图 1、折线堆积图和折线面积图的结合&#xff1b; 上代码 <template><section><divid"performaceLineChart"ref"performaceLineChartRef"style"width: 100%; height: 500px"></d…

Spark-机器学习(5)分类学习之朴素贝叶斯算法

在之前的文章中&#xff0c;我们学习了回归中的逻辑回归&#xff0c;并带来简单案例&#xff0c;学习用法&#xff0c;并带来了简单案例。想了解的朋友可以查看这篇文章。同时&#xff0c;希望我的文章能帮助到你&#xff0c;如果觉得我的文章写的不错&#xff0c;请留下你宝贵…

k8s-身份认证与权限

认证概述 Kubernetes作为一个分布式集群的管理工具&#xff0c;保证集群的安全性是其一个重要的任务。所谓的安全性其实就是保证对Kubernetes的各种客户端进行认证和鉴权操作。 在Kubernetes集群中&#xff0c;客户端通常有两类&#xff1a; User Account&#xff1a;一般是独…

原型链prototype、__proto、constructor的那些问题整理

再了解原型链之前,我们先来看看构造函数和实例对象的打印结构 - 函数 这里我们定义一个构造函数Fn,然后打印它的结构吧 function Fn(){} console.dir(Fn)控制台得到结构 从上面结构我们能看的出来,函数有两种原型,一种是作为函数特有的原型:prototype,另一种是作为对象的__…

记录wordpress网站搭建及当天被SEO优化收录

网站是前不就前搭建的&#xff0c;但是一直没有做SEO优化&#xff0c;今天花了点时间做下优化。记录下&#xff0c;喜欢的朋友点赞收藏下。 1.wordpress后台下载插件Yoast SEO插件&#xff0c;setting中搜索XML sitemaps&#xff0c;点view the XML sitemap&#xff0c;暂时不…

传媒论坛编辑部传媒论坛杂志社传媒论坛杂志2024年第7期目录

专题│场景传播研究 场景传播&#xff1a;一场遮盖自我与寻找自我的博弈 胡沈明; 3 基于CiteSpace的中国场景传播研究热点分析 管倩;粟银慧; 4-610《传媒论坛》投稿&#xff1a;cnqikantg126.com 数字世界的美与危&#xff1a;场景传播的失范与应对之举 王依晗;章洁…

srpingMVC基本使用

文章目录 1. springMVC基本功能(1) maven坐标导入(2) 编写表现层(3) springMVC配置类编写(4) 部署tomcat访问 2. 各种请求方法get请求post请求put请求delete请求请求参数提取 3. 请求参数接收(1) param参数接受封装到对象中 (2) 路劲参数接收集合接受时间类型接收json参数接收m…

鸿蒙OpenHarmony【轻量系统 编写“Hello World”程序】 (基于Hi3861开发板)

编写“Hello World”程序 下方将通过修改源码的方式展示如何编写简单程序&#xff0c;输出“Hello world”。请在下载的源码目录中进行下述操作。 确定目录结构。 开发者编写业务时&#xff0c;务必先在./applications/sample/wifi-iot/app路径下新建一个目录&#xff08;或一…

Electron中使用Prisma(以SQLite为例)

1、安装 Prisma 打开终端&#xff0c;执行以下命令安装 Prisma CLI&#xff1a; npm install prisma -g 2、初始化 Prisma 项目 在工作目录中执行以下命令来初始化一个新的 Prisma 项目&#xff1a; prisma init 这将创建一个新的文件夹&#xff0c;包含了必要的文件和目…