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

Hubery-个人项目经历记录

研究生期间很有幸的进入到了崔老师的组,从此也就进入到了分析人体生理信号的领域,充满挑战的同时也充满了乐趣。借着CSDN整理一下近几年来参与的项目,这里蕴含着我各种美好的回忆,也作为一个展示自己的平台吧。博客中很多结果只给了中间结果,一是很多有趣的现象都隐藏在中间结果中,二是最终集成的平台或算法也涉及保密。

音乐与脑电

这个是毕设课题,所以学习的内容比较多,也因此音乐的诸多物理特征和算法都有所了解。因尝试建立音乐和脑电的关系,也不断学习了很多种非线性算法。这里不一一列举,只给出一些好玩的现象。

基音缺失(misssing fundamental)

这里黄锷院士提出了Holo的思想,从调制频率方向上解释了为什么确实基频后,听到的还是那个频率的音高,Holo算法也被应用于多种其他时序信号中。如用于分析脑电来判定阿尔兹海默症脑小血管症
在这里插入图片描述

MSE(多尺度样本熵)

彭仲康教授提出的算法,我个人通过研究时发现音乐的时序特征熵越高,对应的脑电的熵也越高。比如听Jazz和Mozart的一首歌,大尺度上的熵有很好的对应关系。
在这里插入图片描述
在这里插入图片描述

DFA(去趋势波动分析)

DFA也是彭仲康教授提出的方法,在研究莫扎特效应时我曾计算过K448的DFA指数,很接近与1,与大自然的声音(粉红噪声)接近。
在这里插入图片描述

音乐时大脑的功能连接

很有趣的结果,听音乐时大脑的连接强度是变小的(部分论文显示是升高的)。
在这里插入图片描述

助眠:ASMR与ASSR

曾通过分析一些有助眠效果音乐,还有ASMR(比如掏耳朵,揉纸团,海浪等声音),曾尝试使用音乐的ASSR听觉稳态诱发响应)来解释,但因数据缺失耽搁了,后续有机会再次收些数据试试。

睡眠与脑电(或PSG)

主要做的任务是睡眠分期呼吸暂停事件检测
具体可见连接:https://hubery-hu.blog.csdn.net/article/details/135231518
目前睡眠5分期效果已有86.5%,同时为集成转化了matlab,python,c++等多种版本。
在这里插入图片描述

情绪与脑电 & 运动想象

这里从运动想象出发,学习了其中最常见的CSP(共空间模式)算法,将其应用于少通道脑电的情绪识别中,结合EMD和SVM常见特征,最终8种情绪的分类效果在80%左右。
在这里插入图片描述

脑机接口(脑控)

最初的版本是在安克做的,使用了眨眼做特征实现脑控,但是考虑到其应用面较少,脑控的算法也不成熟,最终不了了之,目前自己购买了Muse的头环,打算先开发一个脑控的猜拳小游戏。有兴趣的小伙伴也可以联系我一起测试哦~
在这里插入图片描述

脑电与疾病监测

后来逐渐将脑电分析用在了各种疾病的监测上,比如癫痫(癫痫发作,尖棘波识别)麻醉深度的监测爆发抑制的识别等。下方是我模拟的爆发抑制结果(做疾病监测时开发的第一个算法)和两位专家标注结果的比较,很有成就感~
在这里插入图片描述

陀螺仪

欧拉角(用于空间音频)

这里基于TDK、ST等厂商的6轴陀螺仪芯片,应用四元数的方法实现了欧拉角的计算。下图是对Yaw(偏航角)的中间结果。
在这里插入图片描述

运动识别和姿势识别

做这个任务时,每天带着耳机蹦蹦跳跳的(测了自行车,跑步,走路,爬楼梯,跳绳,仰卧起坐,俯卧撑等),还是很怀念(I人被迫吸引别人注意力哈哈哈)~
下面分别是Jump和Walk的6轴值以及计算出的欧拉角,可以看出计步计数)还是很简单的,姿势识别起来也很简单(比如某些角度的规律变化?当然具体识别算法需融合更多信息,之后在其他博客中介绍)
有了欧拉角,一些低头提醒久坐提醒的功能也就很好开发了,根据场景配置即可。
在这里插入图片描述
在这里插入图片描述

音乐信号

除了常见的音乐特征(比如MFCC,色度频率,过零率等)特征的计算外,也做过一些好玩的尝试,比如改变相位和填充包络等,音乐风格真的很好玩,大家也可以试试哦。

改变相位

这里改变了K448的相位,这两首歌的频谱还是一样的。
在这里插入图片描述

填充包络

提取K448的包络后,波形不一致了,但整体节奏感还是一样的,音乐变得很魔性
在这里插入图片描述

其他生理信号

心电和HRV

心电的算法已经很常见了,这里不再赘述,
我曾使用HRV去计算放松度来和BrainCo的结果做比对,整体曲线大趋势一致,可惜量级不一致,且细节上毛刺变化差异很大。但这个模型需建立在大量数据集的基础上,后来也没有BrainCo头环了。。。也耽搁了,后续有兴趣再试试吧。

PPG信号和呼吸率

耳内采集的PPG信号在静息放松的时候还可以同时监测到呼吸率(参考EDR算法)。
从下图可以看出,PPG的信号在上下包络上也有周期性波动,在信号质量比较好的时候,也可以用它来计算呼吸率。
在这里插入图片描述

血压信号的SVV和PPV

具体可见链接:https://hubery-hu.blog.csdn.net/article/details/133696610
具体效果(这里只展示最好看的波形,实际算法考虑了多种异常情况,可看上方链接了解):
在这里插入图片描述
在这里插入图片描述

其他算法

去噪

小波去噪和EMD去噪:具体见链接:
效果如下:https://hubery-hu.blog.csdn.net/article/details/133862472
在这里插入图片描述

Hample算法:https://hubery-hu.blog.csdn.net/article/details/132020843
效果如下:
在这里插入图片描述

ICA

这里复写了Sobi和MARA算法,实现脑电的ICA。
下图展示了分解出的眼电成分(眨眼和眼瞟)。
在这里插入图片描述

各种深度学习方法

CNN、LSTM、Transformer、GNN等都有所涉及,不一一赘述了。

混沌、分形、滤波等多种算法

总结

希望这些介绍能让大家对我有个基础的映像,不定期更新哦~

相关文章:

Hubery-个人项目经历记录

研究生期间很有幸的进入到了崔老师的组,从此也就进入到了分析人体生理信号的领域,充满挑战的同时也充满了乐趣。借着CSDN整理一下近几年来参与的项目,这里蕴含着我各种美好的回忆,也作为一个展示自己的平台吧。博客中很多结果只给…...

Ubuntu18.04 安装 qt 5.15.2

一.安装qt 1.下载 在线安装包 使用国内镜像源在线安装QT(2023.3.25更新)_qt国内镜像-CSDN博客 2.安装 (1)QT库安装: 注意:我安装时 勾选 Qt Design studio 会导致报错,直接不勾选。 注意:Qtcreator 无…...

【Linux Shell】6. echo 命令

文章目录 【 1. 显示普通字符串 】【 2. 显示转义字符 】【 3. 显示变量 】【 4. 显示换行 】【 5. 显示不换行 】【 6. 显示命令执行结果 】 Shell 的 echo 指令用于字符串的输出。命令格式: echo string【 1. 显示普通字符串 】 #!/bin/bashecho "It is a …...

Dell 机架式服务器 - 高级定制服务

Dell 机架式服务器 - 高级定制服务 1. Dell Technologies2. 机架式服务器 - 高级定制服务2.1. Servers & Storage (服务器及存储) -> Servers2.2. Rack Servers (机架式服务器)2.3. Shop2.4. PowerEdge Rack Servers (PowerEdge 机架式服务器)2.5. PowerEdge R760 Rack …...

C++ 中关键字 Static

1、什么是static? static 是C中很常用的修饰符,它被用来控制变量的存储方式和可见性。由关键字static修饰类中成员,成为类的静态成员。类的静态成员为其所有对象共享,不管有多少对象,静态成员只有一份存于公用内存中。静态…...

系统学习Python——警告信息的控制模块warnings:警告过滤器-[重写默认的过滤器]

分类目录:《系统学习Python》总目录 Python应用程序的开发人员可能希望在默认情况下向用户隐藏所有Python级别的警告,而只在运行测试或其他调试时显示这些警告。用于向解释器传递过滤器配置的sys.warningoptions属性可以作为一个标记,表示是否…...

C++力扣题目-- 二叉树层序遍历

102.二叉树的层序遍历(opens new window)107.二叉树的层次遍历II(opens new window)199.二叉树的右视图(opens new window)637.二叉树的层平均值(opens new window)429.N叉树的层序遍历(opens new window)515.在每个树行中找最大值(opens new window)116.填充每个节点的下一个右…...

前端实现回车键触发搜索

前端实现回车键触发搜索 前言实现方法1. html里可以用 form 来实现2. 非form中的input 前言 搜索框是个常见的功能,除了用现有的ui组件库,有的时候必须要自己封装,所以涉及到点击按钮搜索和回车搜索都要实现 实现方法 1. html里可以用 for…...

k8s yaml文件pod的生命周期

Pod是k8s中最小限额资源管理组件,也是最小化运行容器化的应用的资源管理对象。 Pod是一个抽象的概念,可以理解为一个或者多个容器化应用的集合。 在一个pod当中运行一个容器是最常用的方式。 在一个pod当中同时运行多个容器,在一个pod当中…...

MPEG4Extractor

1、readMetaData 必须要找到 Moov box,找到 Mdat box或者 Moof box,并且创建了 ItemTable 大端 box 分为 box header 和 box content: box header由8个字节组成,前面四个字节表示这个box 的大小(包含这个头的8字节&a…...

我在工作一年时怎么都看不懂的编程写法。今天手把手教给你

作为一名程序员,你一定遇到或亲自写过这样的代码。有人将它形象的形容为shi山,或者被戏称为“面向保就业编程”。 以下面这个代码为例,其中的问题也显而易见,当越来越多的条件判断时,代码会变得非常臃肿,难…...

ThinkPHP5多小区物业管理系统源码(支持多小区)

基于 ThinkPHP5 Bootstrap 倾力打造的多小区物业 管理系统源码,操作简单,功能完善,用户体验良好 开发环境PHP7mysql 安装步骤: 1.新建数据库db_estate,还原数据db_estate.sql 2.修改配置文件:application/database.php 3.运…...

2024 年 API 安全:预测和趋势

随着技术以前所未有的速度不断进步,API(应用程序编程接口)安全性的复杂性也随之增加。随着 API 在现代应用程序和服务中的激增,组织将需要更好地了解其 API 环境以及 API 给运营带来的风险。 到 2024 年,预计几个关键…...

3D模型UV展开原理

今年早些时候,我为 MAKE 杂志写了一篇教程,介绍如何制作视频游戏角色的毛绒动物。 该技术采用给定的角色 3D 模型及其纹理,并以编程方式生成缝纫图案。 虽然我已经编写了一般摘要并将源代码上传到 GitHub,但我在这里编写了对使这一…...

SPL-cmcRVFL+

吐槽 作者未提供代码,还有图1敢再糊点吗?...

Vue3+TS+Vite 构建自动导入开发环境

关注⬆️⬆️⬆️⬆️ 专栏后期更新更多前端内容 在一个使用 Vue 3、Vite 和 TypeScript 的项目中,配置 unplugin-auto-import 和 unplugin-vue-components 插件可以极大地提高开发效率,因为它们可以自动导入 Vue 相关的 API 和 Vue 组件,从而减少了手动导入的需要。 文章目…...

长期使用外接键盘,外物压着自带键盘,容易导致华硕飞行堡垒FX53VD键盘全部失灵【除电源键】

华硕飞行堡垒FX53VD键盘全部失灵【除电源键】 前言一、故障排查二、发现问题三、使用方法总结 前言 版本型号: 型号 ASUS FX53VD(华硕-飞行堡垒) 板号:GL553VD 故障情况描述: 键盘无法使用,键盘除开机键外…...

JavaScript-循环嵌套断点调试-笔记

1.do...while循环 do while语法结构&#xff1a; 循环初始值&#xff1b; do{ //代码&#xff1b; 增量&#xff1b; }while(循环条件)&#xff1b; <script> // 输出十句 &#xff1a; 你好世界 var …...

1042: 数列求和3 和 1057: 素数判定 和 1063: 最大公约与最小公倍

1042: 数列求和3 题目描述 求1-2/33/5-4/75/9-6/11...的前n项和&#xff0c;结果保留3位小数。 输入 输入正整数n(n>0)。 输出 输出一个实数&#xff0c;保留3位小数&#xff0c;单独占一行。 样例输入 5 样例输出 0.917 #include<stdio.h> int main(){in…...

[足式机器人]Part2 Dr. CAN学习笔记-动态系统建模与分析 Ch02-8 Bode Plot伯德图

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记-动态系统建模与分析 Ch02-8 Bode Plot伯德图 Bode Plot 手绘技巧与应用...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

vue3 定时器-定义全局方法 vue+ts

1.创建ts文件 路径&#xff1a;src/utils/timer.ts 完整代码&#xff1a; import { onUnmounted } from vuetype TimerCallback (...args: any[]) > voidexport function useGlobalTimer() {const timers: Map<number, NodeJS.Timeout> new Map()// 创建定时器con…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计&#xff0c;聪明的码友立马就知道了&#xff0c;该到数据访问模块了&#xff0c;要不就这俩玩个6啊&#xff0c;查库势在必行&#xff0c;至此&#xff0c;它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据&#xff08;数据库、No…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析&#xff08;Parser&#xff09; 2.4、执行sql 1. 预处理&#xff08;Preprocessor&#xff09; 2. 查询优化器&#xff08;Optimizer&#xff09; 3. 执行器…...

LRU 缓存机制详解与实现(Java版) + 力扣解决

&#x1f4cc; LRU 缓存机制详解与实现&#xff08;Java版&#xff09; 一、&#x1f4d6; 问题背景 在日常开发中&#xff0c;我们经常会使用 缓存&#xff08;Cache&#xff09; 来提升性能。但由于内存有限&#xff0c;缓存不可能无限增长&#xff0c;于是需要策略决定&am…...

省略号和可变参数模板

本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...