可穿戴设备中的手势分类算法

数据挖掘 机器学习 算法
2021-10-08 15:32:55

我对机器学习还很陌生,所以如果我搞砸了,请原谅我。我正在从事一个涉及手势检测的可穿戴项目,寻找有关可能适用的算法的任何指针。

基本上会有传感器采集手腕处的肌腱运动以提供输入,因此为简单起见,我假设这意味着 5 个特征(每个手指一个),每个特征的值范围为 0-100。

手势也可以分为 5 类。用户将多次执行每种类型的手势以提供训练数据,然后对于每个手势类,我需要一种算法来根据该训练数据确定最佳模型。

在初始训练之后,每当用户做一个手势时,它都会将传感器读数输入到每个模型中,以查看哪个是最接近的匹配。此外,由于这是一种可穿戴设备,因此最好针对低内存和低处理能力进行优化。

如果有人对模型类型或生成它们的算法有任何意见,我应该研究一下,我会很感激的!

编辑:这是来自 4 个传感器在 3 个不同手势期间的一些示例数据。这些基本上只是手腕肌腱上传感器的压力读数。

2个回答

提供有关传感器生成的实际数据的更多详细信息可能非常有用。你能为任何简单的手势提供一个简单的例子吗?

无论如何,让我们尝试通过以下方式解决问题:

  • 传感器可以表示为一个函数 f(t)
  • 该函数的范围将是 {1,2,3,..100}

所以我们可以画出类似下面的东西(可以吗?):

在此处输入图像描述

您可以从该数据中提取各种高级特征,但我建议将拐点作为最直接的选择:

在此处输入图像描述

基本上,这些点定义了一个模式。我将使用来自不同答案的数字来说明这个想法。例如,下面的朴素模式用于识别一个圆圈。

在此处输入图像描述

在您的情况下,情况稍微简单一些,因为传感器输出是您可以使用的唯一数据。当然,您可以组合多个传感器来定义更复杂的交互场景:

在此处输入图像描述

您也可以考虑f'(t)以区分慢速和快速运动等。

更新

谢谢你的数据。从数据的角度来看,这三个手势看起来确实非常相似(参见下面的可视化)。

在此处输入图像描述

看起来确实需要几个特征来识别手势。

可行的方法类型取决于所捕获的与输出分类相关的数据的性质。如果手势在 5 维输入空间中是线性可分的,那么简单的逻辑回归既便宜又快速。

或者,一种弱但非常便宜的方法是找到每个手势的平均输入向量,并简单地确定输入在任何点上最接近哪个手势向量。不利的一面是,您可能需要另一个课程来“不打手势”。

也可以从许多用户那里收集大量测试数据来预训练模型,只要用户之间的读数变化不大,你就不需要逐个用户进行训练(在可穿戴设备上)本身)。在大多数情况下,预测是有效的,因此您不会受到计算能力的限制。