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

稳态视觉诱发电位分类学习系列: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.mfbz.cn/a/582481.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

优秀博士学位论文分享:动态三维场景理解与重建

优秀博士学位论文代表了各学科领域博士研究生研究成果的最高水平,本公众号近期将推出“优秀博士学位论文分享”系列文章,对人工智能领域2023年优秀博士学位论文进行介绍和分享,方便广大读者了解人工智能领域最前沿的研究进展。 “博士学位论…

基于java+springboot+vue实现的在线考试系统(文末源码+Lw)204

摘 要 使用旧方法对在线考试系统的信息进行系统化管理已经不再让人们信赖了,把现在的网络信息技术运用在在线考试系统的管理上面可以解决许多信息管理上面的难题,比如处理数据时间很长,数据存在错误不能及时纠正等问题。这次开发的在线考试…

OpenAI发布GPT-4.0使用指南

大家好,ChatGPT 自诞生以来,凭借划时代的创新,被无数人一举送上生成式 AI 的神坛。在使用时,总是期望它能准确理解我们的意图,却时常发现其回答或创作并非百分之百贴合期待。这种落差可能源于我们对于模型性能的过高期…

百万人都在求的网络安全学习路线,渗透漏洞防御总结(附图)

前言 不折腾的网络安全,和咸鱼有什么区别 目录 二、 前言三 、同源策略 3.1 什么是同源策略 3.2 为什么需要同源策略四 、XSS 4.1 概览 4.2 介绍 4.3 防御五 、CSRF 5.1 概览 5.2 介绍 5.3 防御六、 SQL 注入七 、流量劫持 7.1 DNS 劫持 7.2 HTTP 劫持…

企业微信hook接口协议,ipad协议http,发送小程序

发送小程序 参数名必选类型说明uuid是String每个实例的唯一标识,根据uuid操作具体企业微信send_userid是long要发送的人或群idisRoom是bool是否是群消息 请求示例 {"uuid":"543ed7f3-6ec1-4db8339a140f7","send_userid":788130255…

「生存即赚」链接现实与游戏,打造3T平台生态

当前,在线角色扮演游戏(RPG)在区块链游戏市场中正迅速崛起,成为新宠。随着区块链技术的不断进步,众多游戏开发者纷纷将其游戏项目引入区块链领域,以利用这一新兴技术实现商业价值的最大化。在这一趋势中&am…

Android如何使用XML自定义属性

1、定义 在res/values文件下定义一个attrs.xml文件,代码如下: 2、使用 在布局中使用, 示例代码如下: 3、获取 最终来到这里:

异常处理Exception(二)

文章目录 1、自定义异常类1、定义消息类2、自定义异常类 2、调用3、测试总结 ABAP预定义的异常类在某些时候并不能精确地描述异常,此时就需要自定义异常类。 1、自定义异常类 1、定义消息类 2、自定义异常类 在Local Types中自定义异常类,当异常触发时…

开箱即用的使用体验!Alibaba Cloud Linux 的演进之旅

随着云计算的发展,越来越多的云上用户对操作系统提出了新的诉求。在 2023 龙蜥操作系统大会阿里云分论坛上,阿里云操作系统团队贾正华分享了 Alibaba Cloud Linux(以下简称“Alinux”)的发展历程及未来展望,介绍了 Ali…

unittest_parameterized批量测试测试用例

import unittest from parameterized import parameterizeddef add(x, y):return xy"""问题:如果有三组数据需要测试?[(1,1,2), (1,2,3), (0,3,3)] """def get_data():return [(1, 2, 3), (3, 0, 3), (2, 1, 3)]# 定义测试…

第3篇:创建Nios II工程之Hello_World<二>

Q:上一期介绍完基本设计流程和实验原理,接着我们完成系统硬件设计部分,包括Platform Designer系统及Quartus工程。 A:依次搜索并添加Nios II Processor、JTAG UART、On-Chip Memory和System ID IP组件,连接各组件并As…

C#窗体控件ColorDialog

介绍 可以获取颜色,然后对其他控件的颜色属性进行设置。 构造方式 直接把ColorDialog控件拖动到Form窗口。 常用属性 AllowFullOpen 可以控制是否使用自定义颜色,true表示可使用,否,表示不可使用。 AnyColor 如果为tr…

Leetcode—682. 棒球比赛【简单】(stoi函数、accumulate函数)

2024每日刷题&#xff08;120&#xff09; Leetcode—682. 棒球比赛 实现代码 class Solution { public:int calPoints(vector<string>& operations) {vector<int> v;for(const string& oper: operations) {if(oper "") {v.push_back(v.back(…

渗透新思路 | 仿真环境下内存转储分析和模糊测试的全记录

本文由安全研究人员hugsy于2024年03月26日更新并发表于blahcat博客上&#xff0c;本文主要记录了其在进行内存安全和模糊测试任务时发现的一些技术实现方式&#xff0c;主要讨论的是仿真环境下内存转储分析和模糊测试方法。本文旨在为红队和蓝队研究人员提供新的思路&#xff0…

数字化技术可以促进中国企业创新吗?

数字化技术可以显著促进中国企业的创新。数字化技术&#xff0c;包括人工智能&#xff08;AI&#xff09;、区块链&#xff08;Blockchain&#xff09;、云计算&#xff08;Cloud computing&#xff09;、大数据&#xff08;big Data&#xff09;等&#xff0c;被称为ABCD技术&…

TruLens

文章目录 一、关于 TruLensHow it works 二、安装三、快速使用Get DataInCreate Vector StoreBuild RAG from scratchSet up feedback functions.Construct the appRun the app 一、关于 TruLens Evaluate and Track LLM Applications 官网&#xff1a;https://www.trulens.o…

【Redis 开发】详细搭建Redis主从,并了解数据同步原理

Redis主从搭建 Redis主从搭建Redis的主从架构数据全同步原理数据的增量同步优化Redis主从集群 Redis主从 搭建Redis的主从架构 主从节点可以实现读写分离&#xff0c;将都大量的读操作分担与诸多从节点当中去 从节点可以叫做slave或者replica 如何搭建&#xff1a; 在一台…

node 项目启动报 ERROR Failed to compile with 1 errors 错误

问题 node项目通过npm run dev启动时出现ERROR Failed to compile with 1 errors 错误&#xff0c;具体信息如下&#xff1a; ✖ WebpackCompiled with some errors in 366.81msERROR Failed to compile with 1 errors …

如何买到“30元以下”的免备案服务器?

对于预算有限的个人和小型企业来说&#xff0c;30 元以下免备案服务器的价格非常亲民。用户可以以极低的成本获得所需的服务器资源&#xff0c;这对创业者、个人开发者、学生和站长来说简直不要太划算&#xff0c;毕竟配置可以升级真不够后面再付费升级也行。 何为“免备案”&…

xLua背包实践

准备工作 环境&#xff0c;代码 在C#代码方面我们需要准备单例模式基类&#xff0c;AB包管理器&#xff0c;lua解析器管理器 详情请见AB包管理器 xlua详解 然后是Xlua包和AB包&#xff0c;具体导入方法也在上面的链接中 然后是lua的三个文件 具体代码&#xff1a; JsonUtil…
最新文章