加速度计 - 运动模式识别(iPhone)

4
我必须找到最佳方法来解决一个问题,即尝试识别身体动作 - 在口袋里使用iPhone - 比如走路、停下来、向左/右转弯、坐着。
我考虑的是仅根据每个动作找到相应的数据,然后检查传入的值是否符合这些数据(使用阈值)并查看发生了什么。当然,这是一种非常粗略的方法,所以也许可以使用类似支持向量机的方法,但是考虑到我开发的时间有限,这似乎太复杂了。
你会建议采用哪种方法?
1个回答

6

行走:对重力方向信号进行fft。测量不同速度下的行走频率响应,然后设置一个简单的阈值。

停止:如果过去几秒钟内信号中的总能量平均值低于某个特定阈值,则可以判断用户已经停止。

左右转弯:使用重力向量和陀螺仪旋转速度向量来确定用户是顺时针还是逆时针旋转。

坐姿:这将非常难以确定,但如果你很幸运,SVM会找到正确的模式。

以上每个动作都可以分配一个权重,然后您需要找到一种良好的方法来获取训练数据来训练您的SVM。也许可以从手机流式传输信号到Web服务器,并同时手动记录用户的动作。

您最好的起点是苹果的示例代码:CoreMotionTeapot。

或者,您可以分析GPS信号。这将为您提供非常好的方法来确定用户的较大规模运动,比如行走/移动或改变方向等。


感谢所有的建议,我会尝试其中一些。不幸的是,我从未使用过 SVM,所以我认为 5 天时间不足以设置一个可工作的 SVM 模式识别。因此,我将不得不采用更粗略和直接的方法来解决坐和转身的部分。无论如何,我必须专门使用加速度计,因此不能使用陀螺仪或 GPS 信号。 - reese
是的,5天不足以学习SVM。你也无法仅通过加速度计确定转向。如果你能使用板载指南针,你将轻松地完成转向。 - twerdster
当快速转动时,x轴会略微改变,但似乎不太可靠。所以,我可以得出结论,使用加速度计识别行走时的左/右转弯是不可行的,这样做是安全的吗?为什么会这样呢?而且没有指南针。 - reese
加速度计可以检测平移运动,陀螺仪可以检测旋转运动。如果你有 iPhone 3G 或以上型号,则拥有 GPS 功能。3GS 及以上型号带有指南针。iPhone 4 带有陀螺仪。 - twerdster
你有没有想过如何解决坐姿识别的问题?我在考虑收集从站立到坐下以及相反情况下的数据,然后观察哪些轴发生了数值变化,但是情况更加复杂,因为iPhone的初始位置是未知的。 - reese
也:你认为能否识别爬楼梯的动作? - reese

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接