【动作模式识别】 肌电信号采集到动作模式识别的一个思路

一、基于肌电信号控制机械臂策略

基于肌电信号来控制机械臂算法是一种利用人体肌肉运动时产生的微弱电信号来控制机械臂的动作的技术。这种技术可以用于假肢、康复、人机交互等领域。

想要实现的流程大致分为以下几个步骤:

  1. 通过采集设备(如肌电传感器、肌电臂环等)采集到规定动作的肌电信号。
  2. 通过信号处理(如滤波、放大、整流、平滑等)对原始肌电信号进行预处理,提高信噪比和稳定性。
  3. 通过特征提取(如时域特征、频域特征、时频域特征等)对预处理后的肌电信号进行降维和表示,提取有效的信息。
  4. 通过动作模式识别(如机器学习或深度学习算法)对特征进行分类,识别出用户的运动意图,并生成准确率结果。
  5. 通过控制策略(如比例控制、阈值控制、模糊控制等)根据识别结果控制机械臂的动作,实现与用户的协调和反馈。

这里第二步到第四步的具体方法有很多种,不同的方法可能会有不同的效果和难度。简单介绍一些常见的方法:

  • 信号处理:这一步主要是对原始肌电信号进行预处理,提高信噪比和稳定性。常用的方法有滤波、放大、整流、平滑等。你可以使用一些数学工具或编程语言来实现这些方法,例如Matlab、Python等。
  • 特征提取:这一步主要是对预处理后的肌电信号进行降维和表示,提取有效的信息。常用的特征有时域特征、频域特征、时频域特征等。你可以使用一些机器学习或统计分析的库或工具来实现这些方法,例如scikit-learn、pandas等。
  • 动作模式识别:这一步主要是对特征进行分类,识别出用户的运动意图,并生成准确率结果。常用的方法有机器学习或深度学习算法,例如支持向量机、随机森林、卷积神经网络等。你可以使用一些深度学习框架或库来实现这些方法,例如TensorFlow、PyTorch、Keras等。

二、准确率计算(二分类)

准确率是一种评价动作识别模型性能的指标,它表示模型正确预测动作类别的比例。一般来说,准确率越高,说明模型越可靠。

准确率的计算方法是这样的:

  • 首先,我们需要有一个参照物,也就是真实的动作类别标签。这些标签通常是由人工或者其他可信的方法提供的,用于表示每个视频或者视频片段中发生的动作是什么。
  • 然后,我们需要让模型对每个视频或者视频片段进行动作识别,输出一个预测的动作类别标签。这个标签可能与真实的标签一致,也可能不一致。
  • 接着,我们需要比较模型的预测标签和真实标签,统计出以下几个数量:
    • TP (True Positive):表示模型正确预测了正类的数量。例如,如果真实的动作是跑步,模型也预测是跑步,那么就算一个TP。
    • TN (True Negative):表示模型正确预测了负类的数量。例如,如果真实的动作不是跑步,模型也预测不是跑步,那么就算一个TN。
    • FP (False Positive):表示模型错误预测了正类的数量。例如,如果真实的动作不是跑步,模型却预测是跑步,那么就算一个FP。
    • FN (False Negative):表示模型错误预测了负类的数量。例如,如果真实的动作是跑步,模型却预测不是跑步,那么就算一个FN。
  • 最后,我们可以用下面的公式计算准确率:

a c c u r a c y = f r a c T P + T N T P + T N + F P + F N accuracy=frac {TP+TN} {TP+TN+FP+FN} accuracy=fracTP+TNTP+TN+FP+FN
意思是,准确率等于模型预测正确的数量除以总的数量。

这个准确率计算公式是一种用于评估二元分类模型的方法。它表示模型正确预测正类和负类的比例。
这个公式中,TP表示真正例,TN表示真负例,FP表示假正例,FN表示假负例。

例如,如果我们有一个模型用于判断一张图片中是否有猫,那么:

  • TP表示模型正确预测了图片中有猫的情况。
  • TN表示模型正确预测了图片中没有猫的情况。
  • FP表示模型错误预测了图片中有猫的情况。
  • FN表示模型错误预测了图片中没有猫的情况。

假设我们有100张图片,其中50张有猫,50张没有猫。模型的预测结果如下:

  • TP = 40
  • TN = 45
  • FP = 5
  • FN = 10

那么,根据公式,我们可以计算出准确率为:

a c c u r a c y = f r a c T P + T N T P + T N + F P + F N = f r a c 40 + 45 40 + 45 + 5 + 10 = 0.85 accuracy=frac {TP+TN} {TP+TN+FP+FN}=frac {40+45} {40+45+5+10}=0.85 accuracy=fracTP+TNTP+TN+FP+FN=frac40+4540+45+5+10=0.85

这意味着模型在100张图片中有85张预测正确,准确率为85%。


上面的公式是用于二分类的模式识别的。二分类是指只有两种可能的类别,比如有猫或没有猫。如果你想做一些复杂动作的模式识别,你可能需要用到多分类的方法。多分类是指有多于两种的类别,比如跑步、跳跃、摸脸等。

对于多分类的模式识别,你可以使用一些基于深度学习的方法,比如卷积神经网络 (CNN)、循环神经网络 (RNN)、图神经网络 (GCN) 等。这些方法可以从视频或骨架数据中提取复杂动作的特征,并进行分类。可以参考这篇文章,它介绍了一种基于多模态特征学习的人体行为识别方法,它结合了RGB视频和3D骨架两种行为信息,并使用了空间金字塔池化和时空注意力机制来提高识别效果。

参考:
(1) 深度动作识别研究综述——论文笔记 - 知乎 - 知乎专栏. https://zhuanlan.zhihu.com/p/551812419.
(2) 基于多模态特征学习的人体行为识别方法. http://www.c-s-a.org.cn/html/2021/4/7875.html.
(3) 降维打击!基于多模态框架的行为识别新范式 - 知乎. https://zhuanlan.zhihu.com/p/412858945.
(4) 人体动作行为识别研究综述 - 豆丁网. https://www.docin.com/p-1640512624.html.
(5) 基于FMCW雷达的人体复杂动作识别. http://radarst.cnjournals.com/html/2020/6/202006002.html.
(6) undefined. http://www.c-s-a.org.cn/1003-3254/7875.html.

你可能感兴趣的:(人工智能,人工智能,算法)