【问题标题】:Motion recognition with Artificial Neural Networks使用人工神经网络进行运动识别
【发布时间】:2014-03-15 11:43:15
【问题描述】:

我正在(为我的高级项目)开发一个能够分类和记录不同练习的哑铃。该设备必须能够根据 IMU(惯性测量单元)提供的数据对一系列这些练习进行分类。我有加速度、陀螺仪、指南针、俯仰、偏航和滚动数据。

我倾向于使用人工神经网络来做到这一点,但也愿意接受其他建议。最终我想将 IMU 数据传递到网络中,让它告诉我这是什么运动(二头弯举、斜飞等)。

如果我使用人工神经网络,我应该使用哪种(循环或不循环)以及我应该如何实现它?当我向网络传递连续的数据流时,我不确定如何让网络识别练习。我正在考虑不断地对一部分输入执行 FFT,并将一定数量的频率幅度发送到网络中,但我不确定这是否可行。有什么建议/cmets?

【问题讨论】:

    标签: artificial-intelligence neural-network motion-detection


    【解决方案1】:

    首先创建一个大型训练集。 然后你训练它,告诉它实际发生了什么。

    您也可以使用数据的平均值。 也许使用实际运动和平均超过 2 秒、5 秒和 10 秒的运动。也将它们用作输入节点。

    在训练经过训练的网络时,也可以输入平均数据 ea(最后 x 个样本除以 x),这将为您提供一种稳定的方法。否则,神经网络可能会变得异常忙碌。

    请注意,训练集也可能需要平均数据,因此您需要一个大型训练集。

    【讨论】:

      【解决方案2】:

      您的首要任务应该是从哑铃中收集一些数据。有许多不同的方案可用于对数据进行分类,但在您有一些样本数据可供使用之前,很难准确预测哪种方案最有效。

      如果您让 5 个不同的人来完成所有练习并自己查看生成的数据(例如,对收集到的数据的不同部分进行试验),您能区分哪个练习是哪个练习吗?这可能会提示您在将数据发送到分类器之前可能要对数据执行哪些预处理。

      【讨论】:

      • 嗨内森,感谢您的建议。我确实有来自 IMU 的实际数据(俯仰、偏航、滚动),并且能够看到数据随每次练习而变化的模式。我遇到的问题是弄清楚如何将这些数据发送到神经网络中。理想情况下,我想发送我输入的所有数据点,但我不确定它将如何处理以不同速度进行的练习。如果有人以任何其他速度而不是所需的精确速度进行锻炼,会不会因为任何一点的值都会大不相同而被抛弃?
      • 另外,使用传统的神经网络,系统中没有任何内存,因此无法跟踪这些数据点的变化。
      • 您要做的是将事物分解为功能。您可以执行诸如对数据进行傅立叶变换以将基于时间的特征作为单个特征而不是时间序列的操作。您还可以执行诸如取最大值、最小值、平均值等操作来再次获得离散特征而不是时间序列。我已经看到了适用于时间序列的方法,但您最好找到总结数据中与时间相关的信息的特征。
      • 例如,您可以粗略地离散化数据,输入将是每个离散化中的样本数。
      猜你喜欢
      • 1970-01-01
      • 2015-12-31
      • 1970-01-01
      • 1970-01-01
      • 2016-09-15
      • 2011-11-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多