开发者

accelerometer - Movement pattern recognition (iphone)

开发者 https://www.devze.com 2023-02-20 15:40 出处:网络
I have to find the best approach for tackling a problem for trying to recognize physical movements - with an iPhone in a pocket - like waling, stopping, turning left/right, sitting.

I have to find the best approach for tackling a problem for trying to recognize physical movements - with an iPhone in a pocket - like waling, stopping, turning left/right, sitting.

I was thinking on just heuristically find the data corresponding to each action, then to check the incoming values against this data (with a threshold) and see what's happening. That's a very rough approach, of course, so maybe using something like the Support Vector Machine methods, bu开发者_如何学Pythont this seems too complicated for the amount of time I have to develop this.

Which approach would you suggest here?


Walking: Do an fft on the gravity direction signal. Measure its frequency response for walking at different speeds and then set a simple threshold.

Stopping: if the average power i.e. total energy in the signal over the last few seconds drops below a certain threshold then you can say the user has stopped.

Turning left,right: Use the gravity vector and the gyroscopes rotation speed vector to determine whether the user is rotating clockwise or counterclockwise

Sitting: This will be very hard to determine but if youre lucky the SVM will find the right pattern.

Each of the above can be given a weighting and then you will have to find a good way to obtain training data to train your SVM. Maybe stream the signals from the phone to a webserver and simultaneously record the users motions by hand.

Your best starting point is Apples Sample code: CoreMotionTeapot

Alternatively you could analyze the GPS signal. This will give you a very good way to determine the users larger scale motion like walking/moving or changing heading etc.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号