使用加速度计和机器学习的运动类型检测

Posted

技术标签:

【中文标题】使用加速度计和机器学习的运动类型检测【英文标题】:Motion Type Detection Using Accelerometer & Machine Learning 【发布时间】:2012-07-29 01:10:45 【问题描述】:

我即将着手开发一个移动应用程序,它使用加速度计来检测运动类型,无论是跳跃、跑步、步行等。现在我做了很多在线搜索,有点了解使用机器学习可以检测从加速度计收集的样本数据中的模式。我对机器学习完全陌生,但如果我理解正确(根据其他专家在线给出的提示),我可以使用支持向量机或神经网络来识别收集样本中的模式并将其映射到特定的运动类型。我也知道 OpenCV 库提供了这两种方法。

能否请具有该领域专业知识的人告诉我哪种方法更好用,并指导我完成从数据收集到结果呈现所需的步骤?

【问题讨论】:

OpenCV 还带有一个机器学习库,您可以将其用于模式识别,您可以在这里找到它docs.opencv.org/modules/ml/doc/ml.html 是的,opencv 有 iosandroid 的端口 【参考方案1】:

没有确凿的证据表明 SVM 或 NN 更适合一般情况,性能很大程度上取决于应用程序以及您如何设置这两种算法。因此,找出任何新应用程序的唯一方法是使用相同的数据尝试这两个应用程序,看看哪一个表现更好。

此外,NN 通常在分类方面的计算速度更快,但在训练方面却很慢。 SVM 的训练速度更快,但分类速度较慢。

对于您的情况,您的算法的输入参数将是更大的问题。我不会将原始加速度计数据提供给 SVM 或 NN。相反,我会预处理并获取基本信息,例如总功率、标准偏差,也许还有频域中的一些系数,以确定它有多快。这样做可以让您对改进和调整分类器有更好的直觉。如果您有正确的输入参数,您甚至可能不需要 NN 或 SVM 来确定基本运动,只需简单的最近距离标识符即可。祝你好运。

【讨论】:

以上是关于使用加速度计和机器学习的运动类型检测的主要内容,如果未能解决你的问题,请参考以下文章

检测加速度计检测到运动的时间范围

Android 检测运动

如何使用设备的加速度计检测运动增加然后突然停止?

检测加速度计在 y 轴上的运动方向

加速度传感器的原理和应用-手机翻转失重检测运动检测位置识别

加速度传感器的原理和应用-手机翻转失重检测运动检测位置识别