【动作模式识别】实现复合动作模式识别(离线控制模块)
一、思路
一般来说,要实现摸脸动作,需要采集手臂的以下肌肉的肌电信号:
- 肱二头肌:控制肘关节的屈曲
- 肱三头肌:控制肘关节的伸展
- 前臂屈肌群:控制手腕和手指的屈曲
- 前臂伸肌群:控制手腕和手指的伸展
- 拇指长展肌:控制拇指的展开
- 拇指短伸肌:控制拇指的伸直
这些肌肉的具体位置可以参考:http://menovomed.com/newsv.php?id=549。一般来说,需要将电极贴在目标肌肉上,注意避免交叉干扰和噪音。
(1) 基于肌电信号的手臂动作识别及虚拟仿真 - 百度学术. https://xueshu.baidu.com/usercenter/paper/show?paperid=10550cv0wc3104x00v1h0vr0sp742042.
(2) 有了意念当“指挥” 假肢也能很“听话”----中国科学院. https://www.cas.cn/kx/kpwz/201708/t20170821_4611750.shtml.
(3) 基于表面肌电信号的手臂运动模式识别-开题PPT_百度文库. https://wenku.baidu.com/view/4e6fff73a417866fb84a8e4c.html.
(4) 深度学习的人体动作识别算法 - 知乎 - 知乎专栏. https://zhuanlan.zhihu.com/p/46599638.
(5) 超轻量更泛化!基于人体骨骼点的动作识别 - 知乎. https://zhuanlan.zhihu.com/p/426695879.
(6) 有了意念当“指挥” 假肢也能很“听话”----中国科学院. https://bing.com/search?q=%e6%89%8b%e8%87%82%e5%8a%a8%e4%bd%9c%e6%a8%a1%e5%bc%8f%e8%af%86%e5%88%ab.
二、复杂动作怎么信号处理?
如果你一次采集了五个通道的肌电信号,你可以将这些信号叠加在一起,也就是将每个通道的信号相加得到一个总信号,然后对这个总信号进行预处理和特征提取和模式识别。这样做的好处是可以减少计算量和提高信噪比。但是,这种方法也有一些缺点,比如可能会丢失一些通道间的信息,或者造成一些通道的信号被其他通道的信号掩盖。
另一种方法是对每个通道的信号分别进行预处理和特征提取,然后将每个通道的特征向量拼接成一个总的特征向量,再用这个总的特征向量进行模式识别。这样做的好处是可以保留每个通道的信息,或者利用不同通道之间的相关性。但是,这种方法也有一些缺点,比如可能会增加计算量和降低信噪比。
因此,需要根据你的具体应用场景和目标来选择合适的方法。
推荐B站一个非常好的国内教程:https://www.bilibili.com/video/BV15e4y197iL/?spm_id_from=333.999.0.0&vd_source=e1b57954a90a5c44920c0ea78136af67
(1) 表面肌电信号(sEMG)基础知识总结 - 知乎 - 知乎专栏. https://zhuanlan.zhihu.com/p/485705730.
(2) 干货|一文详解sEMG表面肌电 - 知乎 - 知乎专栏. https://zhuanlan.zhihu.com/p/379925002.
(3) 什么是肌电?_肌电是什么意思-CSDN博客. https://blog.csdn.net/psybrain/article/details/120945604.
(4) 多通道表面肌电信号分解的研究 - 百度学术. https://xueshu.baidu.com/usercenter/paper/show?paperid=96753679fcfd2908ec256deced56da2b.
(5) NinaPro-DB1 · master · mirrors / malele4th / sEMG_DeepLearning. https://gitcode.net/mirrors/malele4th/sEMG_DeepLearning/-/tree/master/NinaPro-DB1.
(6) 干货|一文详解sEMG表面肌电 - 知乎 - 知乎专栏. https://zhuanlan.zhihu.com/p/379925002.
三、特征提取思路
首先我们先看看适合肌电信号都有哪些特征提取算法?
肌电信号的特征提取算法有很多种,不同的算法可能适用于不同的目的和场景。一般来说,肌电信号的特征提取算法可以分为以下几类:
- 基于时域的特征提取算法:这类算法主要利用肌电信号在时间上的变化规律,提取出一些统计量或者时序参数,如均值、方差、标准差、偏度、峰度、波峰波谷距离、零交叉率等。这类算法的优点是简单易实现,计算量小,但是缺点是对噪声敏感,不能反映肌电信号的频率特性。
- 基于频域的特征提取算法:这类算法主要利用肌电信号在频率上的分布特征,提取出一些谱域参数或者变换系数,如功率谱密度、频谱中心、频谱宽度、频谱基频、频谱最大峰值、快速傅里叶变换系数、小波变换系数等¹²。这类算法的优点是能够反映肌电信号的频率特性,对噪声不敏感,但是缺点是计算量大,需要较高的采样率。
- 基于时频域的特征提取算法:这类算法主要利用肌电信号在时域和频域上的联合特征,提取出一些时频参数或者变换系数,如短时傅里叶变换系数、连续小波变换系数、离散小波变换系数、经验模态分解系数等。这类算法的优点是能够反映肌电信号的时变性和非线性性,适用于非平稳信号,但是缺点是计算量更大,需要较高的采样率和分辨率。
我们选择连续小波变换系数算法,对噪声不敏感,需要满足高采样率 - 基于深度学习的特征提取算法:这类算法主要利用深度神经网络自动学习肌电信号的高层抽象特征,无需人工设计或者选择特征,如卷积神经网络、循环神经网络、自编码器等。这类算法的优点是能够适应复杂和多样的肌电信号数据,提高识别准确率和鲁棒性,但是缺点是需要大量的训练数据和计算资源,难以解释和理解特征含义。
对于复合动作选择基于时频域的算法更合适,为什么呢?
对于复合动作,比如说摸脸、摸后脑勺、进食等,我认为基于时频域的特征提取算法比基于频域的特征提取算法更适合你的要求。因为基于时频域的特征提取算法可以同时反映肌电信号的时域和频域特征,而基于频域的特征提取算法只能反映肌电信号的频域特征。复合动作通常涉及多个肌肉群的协调和变化,因此需要考虑肌电信号的时变性和非线性性,而不仅仅是频率特性。
基于时频域的特征提取算法有很多种,例如短时傅里叶变换(STFT)、连续小波变换(CWT)、离散小波变换(DWT)、经验模态分解(EMD)等 。你可以根据你的数据和目标选择合适的算法和参数。一般来说,STFT和CWT可以提供较高的时间分辨率和频率分辨率,但是需要较大的计算量和存储空间;DWT可以提供较低的时间分辨率和频率分辨率,但是需要较小的计算量和存储空间;EMD可以提供自适应的时间分辨率和频率分辨率,但是需要较高的计算复杂度和稳定性。
关于训练集和测试集
训练集和测试集是机器学习中常用的两种数据集,它们的意思和区别如下:
- 训练集(training set)是用来训练模型的数据,它包含了输入变量和输出变量,也就是特征和标签。训练集中的标签可以是人工打标签的,也可以是从其他数据源获取的,例如数据库、网站、传感器等。
- 测试集(test set)是用来评估模型的性能的数据,它也包含了输入变量和输出变量,但是在训练过程中不会使用。测试集中的标签也可以是人工打标签的,也可以是从其他数据源获取的,但是要和训练集的标签来源保持一致,以保证评估的有效性。
训练集和测试集的划分方法有多种,一种常见的方法是留出法(holdout cross validation),即按照一定的比例将数据集静态地划分为训练集和测试集,例如6:4或8:2。另一种常见的方法是k折交叉验证(k-fold cross validation),即将数据集动态地划分为k份,每次使用k份中的一份作为测试集,其他作为训练集,重复k次,然后取平均值作为最终的评估结果。
想了解更多关于训练集和测试集的定义和区别,可以参考以下的一些网页
(1) 机器学习干货篇:训练集、验证集和测试集 - 知乎. https://zhuanlan.zhihu.com/p/377789735.
(2) 一文看懂 AI 数据集:训练集、验证集、测试集(附:分割方法+交叉验证) - 知乎. https://zhuanlan.zhihu.com/p/98532085.
(3) 测试集和训练集是什么意思? - 百度知道. https://zhidao.baidu.com/question/425949299.html.
(4) 机器学习为什么要划分训练集、测试集和验证集?这3个样本集的区别又在哪里? - 知乎. https://zhuanlan.zhihu.com/p/377396096.
(5) #通俗理解# 测试集、训练集、开发集的区别 - 知乎. https://zhuanlan.zhihu.com/p/367995480.
四、动作模式识别
在处理三通道肌电信号或者更多通道信号数据进行动作模式识别时,选择合适的算法是至关重要的。根据不同需求,有几种算法可能适合:
-
线性判别分析(LDA):LDA是一种简单且计算效率高的方法,适用于特征空间线性可分的情况。它通过最大化类间距离和最小化类内距离来进行分类。
-
支持向量机(SVM):SVM在处理小样本、非线性及高维模式识别中表现出色,它通过找到最优超平面来区分不同类别的数据。
-
人工神经网络(ANN):ANN能够学习和模拟非线性和复杂的关系,特别是在特征空间复杂或者当数据关系难以用传统统计方法描述时。
-
卷积神经网络(CNN):CNN在图像处理中表现优异,对于肌电信号,可以将其转换为肌电图像,再利用CNN进行特征学习和分类。
-
循环神经网络(RNN):RNN特别适合处理序列数据,能够捕捉时间序列中的动态变化,适用于肌电信号这种随时间变化的数据。
选择哪种算法取决于您的具体应用场景和数据特性。例如,如果您的数据集较小,SVM可能是一个好的选择;如果您需要处理复杂的模式或者分类边界,ANN或CNN可能更合适。同时,深度学习方法如CNN和RNN可以自动提取特征,减少手动特征工程的需要,但它们通常需要更多的数据和计算资源。
在选择算法时,您还应该考虑实时性要求和系统的计算能力。例如,LDA由于其简单性,可能更适合需要快速响应的应用。而深度学习方法,尽管计算复杂度高,但在有足够资源的情况下可以提供更高的准确率和鲁棒性。
总之,选择合适的算法需要综合考虑数据特性、应用需求、计算资源和实时性要求。
(1) 智能交互中的肌电模式识别研究进展 - SIAT. http://neural.siat.ac.cn/index.php/news/109.shtml.
(2) 基于表面肌电信号的动作识别—深度学习方法 - 知乎. https://zhuanlan.zhihu.com/p/61650163.
(3) 基于EMG的人体下肢运动意图感知与预测研究 - 豆丁网. https://www.docin.com/p-2321503571.html.
(4) 表面肌电信号的多流卷积网络融合手势识别方法. http://www.shcas.net/jsjyup/pdf/2022/8/表面肌电信号的多流卷积网络融合手势识别方法.pdf.
(5) “惯性动作捕捉+无线表面肌电”技术融合新趋势 - 知乎. https://zhuanlan.zhihu.com/p/411813910.
(6) 智能交互中的肌电模式识别研究进展:https://mp.weixin.qq.com/s/QkOxEseGpQX-KhMvap9SzA.
相关文章:
【动作模式识别】实现复合动作模式识别(离线控制模块)
一、思路 一般来说,要实现摸脸动作,需要采集手臂的以下肌肉的肌电信号: 肱二头肌:控制肘关节的屈曲肱三头肌:控制肘关节的伸展前臂屈肌群:控制手腕和手指的屈曲前臂伸肌群:控制手腕和手指的伸…...
Python基础学习009——类的封装
# 面向对象是一种编程思想,还有另一种是面向过程 # 面向过程,具体步骤的实现,所有功能都自己书写 # 面向对象,使用一个个工具(函数),帮助完成各项任务 # 类:对多个特性相同或相似的食物的统称,根据特征不同一个事物可以属于多个类 # 对象:由类实例化的一个事物,指代1个 # 类的组…...
前端开发和后端开发,你更倾向于哪一种?
作为一个Web开发者,你是否曾经面临过这样的选择:是专注于前端开发,还是转向后端开发?前端开发和后端开发是Web开发中的两个不同的领域,它们各有各的特点和优势,也各有各的挑战和难点。那么,你应…...
Selenium 基本功能
#driver.quit()from selenium import webdriver from selenium.webdriver.chrome.service import Service# 尝试传参 s Service("chromedriver.exe") driver webdriver.Chrome(services)driver.get(https://www.baidu.com/) input()#1/导入Selenium库 from seleniu…...
智能井盖传感器有哪些?万宾科技智能井盖效果
在城市治理过程之中,小小的井盖却成为影响民生的一个重要方面,因为井盖一旦出现问题,会严重影响市民的生命安全,并且传统的井盖一般都会采用人工巡检的方式,这就导致了巡检的难度较大,从而不能对城市各个角…...
视频增强和修复工具 Topaz Video AI mac中文版功能
Topaz Video AI mac是一款使用人工智能技术对视频进行增强和修复的软件。它可以自动降噪、去除锐化、减少压缩失真、提高清晰度等等。Topaz Video AI可以处理各种类型的视频,包括低分辨率视频、老旧影片、手机录制的视频等。 使用Topaz Video AI非常简单,…...
0基础学习PyFlink——使用datagen生成流式数据
大纲 可控参数字段级规则生成方式数值控制时间戳控制 表级规则生成速度生成总量 结构生成环境定义行结构定义表信息 案例随机Int型顺序Int型随机型Int数组带时间戳的多列数据 完整代码参考资料 在研究Flink的水位线(WaterMark)技术之前,我们可…...
vue使用Web Speech API实现语音播报
SpeechSynthesisUtterance对象用于表示要播放的语音内容,SpeechSynthesis对象则用于控制语音的播放、暂停、停止等操作。 const synth window.speechSynthesis const msg new SpeechSynthesisUtterance() // 语音播放 const playVoice (text) > {synth.canc…...
MVC5_Day1(Razor视图引擎)
MVC提供了两种不同的视图引擎:Razor视图引擎、Web Forms视图引擎。 1.代码表达式 1.1 转换字符:核心转换字符,用作标记<>代码之间相互转换的字符。 1.2 两种基本转换:代码表达式、代码块。都是求出值,再写入响…...
超全整理,Jmeter性能测试-脚本error报错排查/分布式压测(详全)
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 性能脚本error报错…...
vscode开启emmet语法
需要在setting.json中添加配置 首先进入设置,然后点击右上角 Vue项目添加如下配置 "emmet.syntaxProfiles": { "vue-html": "html", "vue": "html" },React项目添加如下配置 "emmet.includeLanguages&quo…...
07、vue : 无法加载文件 C:\Users\JH\AppData\Roaming\npm\vue.ps1,因为在此系统上禁止运行脚本。
目录 问题解决: 问题 vue : 无法加载文件 C:\Users\JH\AppData\Roaming\npm\vue.ps1,因为在此系统上禁止运行脚本。 在使用 VSCode 时,创建 Vue 项目报的错 创建不了 Vue 项目 解决: 因为在此系统上禁止运行该脚本࿰…...
利用移动互联、物联网、智能算法、地理信息系统、大数据分析等信息技术开发的智慧工地云平台源码
智慧工地是指利用移动互联、物联网、智能算法、地理信息系统、大数据挖掘分析等信息技术,提高项目现场的“人•机•料•法•环•安”等施工要素信息化管理水平,实现工程施工可视化智能管理,并逐步实现绿色生态建造。 技术架构:微…...
海康多相机同步取流保存图片
话不多说,直接上代码。代码里包含了多窗口显示图像和保存图片。 #"rtsp://admin:123456qq192.168.10.192/stream1" # rtsp://admin:Admin123192.168.100.103:554/Streaming/Channels/101 #rtsp://admin:Admin123192.168.100.103:554/cam/realmonitor?ch…...
win10 + vs2017 + cmake3.17编译OSG-3.4.1
参考教程:https://blog.csdn.net/bailang_zhizun/article/details/120992244 1. 下载与解压 2. 修改configure 1)Ungrouped Entries -- 》ACTUAL_3RDPARTY_DIR: 设置为: D:/Depend_3rd_party/OSG341/3rdParty 2) Ungrouped E…...
Excel VBA开发基本语句说明
前言 VBA(Visual Basic for Applications)是一种用于编写宏的编程语言,它广泛应用于Microsoft Office套件中的各种应用程序,如Excel、Word、Access和PowerPoint等。在这些应用程序中,VBA可用于自动化任务、定制功能、…...
应用在智能空调中的数字温度传感芯片
智能空调是具有自动调节功能的空调。智能空调系统能根据外界气候条件,按照预先设定的指标对温度、湿度、空气清洁度传感器所传来的信号进行分析、判断、及时自动打开制冷、加热、去湿及空气净化等功能的空调。适合放在卧室,客厅等地方。 在中央控制系统…...
Qt界面美化之Qt Style Sheets
Qt style sheet 简称QSS style sheet可以在代码中单独对某个控件使用,例如: labelLEDLIN new QLabel("",this); labelLEDLIN->setFixedSize(36,36); labelLEDLIN->setStyleSheet("background-color:red;border-radius:18px;colo…...
prometheus监控告警部署(k8s内部)
一、部署prometheus 先来说明一下需要用到的组件,需要使用pv、pvc存放prometheus的数据,使用pvc存放数据即使pod挂了删除重建也不会丢失数据,使用configmap挂载prometheus的配置文件和告警规则文件,使用service开放对外访问prometheus服务的端…...
数字孪生特高压电网三维可视化平台实现能源智能管理
电力是现代社会不可或缺的基础能源,而有效管理电力资源对于实现可持续发展至关重要。近年来,随着物联网、大数据、人工智能等技术的快速发展,电网领域的数字化转型已经成为一种趋势。而其中关键的一环便是电网三维数字孪生技术,它…...
LinkSwift网盘直链助手:让你的下载体验更简单高效
LinkSwift网盘直链助手:让你的下载体验更简单高效 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘…...
LeetCode 找到最终的安全状态题解
LeetCode 找到最终的安全状态题解 题目描述 给定一个有向图,找到所有安全节点。安全节点是永远不会走向环的节点。 示例: 输入:graph [[1,2],[2,3],[5],[0],[5],[],[]]输出:[2,4,5,6] 解题思路 方法:拓扑排序 思路&am…...
手把手教你给M301H-BYT盒子刷当贝纯净桌面(附Hi3798芯片短接点位图)
从零开始:M301H-BYT盒子刷机实战指南 家里的老旧电视盒子用久了总是卡顿、存储不足,还限制应用安装?今天我们就来彻底解决这个问题。本文将手把手教你如何为M301H-BYT盒子刷入当贝纯净桌面系统,让你的老设备重获新生。不同于简单的…...
2026年AI求职必看:掌握这3类岗位核心技能,年薪百万不是梦!收藏备用
本文分析了AI行业招聘市场的两极分化现象,并深入拆解了算法工程师、大模型应用开发、AI产品经理三类热门岗位的真实招聘要求和面试准备重点。文章指出,企业对AI人才的要求已从"会调模型"转向"能落地产品",复合型人才需求…...
2025最新易支付模板源码 全开源 前台+用户中心+后台三合一
内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 2025最新易支付模板源码 全开源 前台用户中心后台三合一 二、效果展示 1.部分代码 代码如下(示例): case orderList:$sql" 11";if(isse…...
基于CircuitPython与RP2040打造可编程USB脚踏开关:从硬件到软件的完整指南
1. 项目概述:为什么你需要一个可编程的脚踏开关? 在剪辑视频、处理音频、写代码或者玩游戏的时候,你的双手是不是永远不够用?频繁地在键盘、鼠标、调音台或者剪辑软件的面板之间切换,不仅效率低下,还容易打…...
【每日一题】排序
📌 写在前面:排序是算法竞赛中最基础也最核心的技能之一。它不仅是快速查找、去重、贪心等算法的前置步骤,更是自定义比较策略、多关键字排序、排序后贪心等高级技巧的基石。本文基于蓝桥杯官方课程与真题,从基础排序到竞赛实战&a…...
数据结构:2.时间复杂的和空间复杂度
【目标】1.如何衡量一个算法的好坏2.复杂度3.算法效率1.如何衡量一个算法的好坏?1.1 两大核心指标(理论层面)指标问的问题表示法例子时间复杂度数据量增大,耗时怎么增长?大O表示法O(n) 比 O(n) 好空间复杂度数据量增大…...
家长选择赶考小状元AI自习室还是其他品牌对孩子学习更有帮助?深度解析三大维度
随着教育智能化浪潮席卷而来,家长们在为孩子选择学习辅助工具时,面临着前所未有的多元选择。传统网课、新兴自习室品牌层出不穷,而深耕智能教育领域二十年的赶考小状元AI智能自习室,以其独特的“教育内核科技工具运营支持”三维融…...
tRPC全栈类型安全实战
tRPC全栈类型安全实战:告别API类型地狱,TypeScript前后端零成本类型共享 摘要:在全栈TypeScript项目中,前后端类型不同步是最常见的Bug来源之一。tRPC通过编译时类型推导,实现了端到端的类型安全——前端调用后端API就像调用本地函数一样,类型自动推导、错误提前暴露。本…...
