2
$\begingroup$

I have a glove that have 2 IMUs (Inertial Measurement Unit) attached to it. It can give the rotation value as Quaternion (x,y,z,w) and acceleration of the hand (x,y,z). I put it on my left hand and I want to predict the position of the hand relative to some fixed point on my body (e.g. my head).

When I collect the data, I just use the Vive controller to track my hand.

Right now I just feed the value into a simple model like SVM to predict (x,y,z) of the hand relative to my head. The problem is that the output is jumpy as the sensors are not stable enough. And because it doesn't take into account data in the previous timestep.

I want to utilize time series data as my data is time series in nature.

Which algorithms I should use if I'm treating my data as time series? You can suggest me things I should learn about too.

$\endgroup$
1
$\begingroup$

I will first list some examples of models you could look into.

You can suggest me things I should learn about too.

You can look at more classical regression type models, or go deeper in to deep neural networks, utilising Long Short Term Memory cells, which model relationships over time.

Classical

The main term that will help you search for related tutorials/documentation will be autoregressive, which is a fancy name for saying a target value is predicted from its recent history. How recent, is a parameter you can tune your model for, called lags.

Have a look at the options in the statsmodels module for Python. More specifically, you might want to try out the ARIMA model class. For more details on ARIMA, check out this thread.

There are many traditional models that you could use for a time-series problem. Terms you might consider searching for include:

Deep Learning

This is a much newer topic and is overall a fair bit complexer than the classical models discussed above. If you go this route, you would probably make progress quickest by using a Deep Learning framework such as Keras, which allows you to build complex models without too much time investment. It is a wrapper library that uses either Tensorflow, Theano or CNTK in the background (these are the available backends).

In a deep learning approach involving time-series analysis, you almost certainly want to start with an LSTM model. This stands for Long Short Term Memory, and uses a complex cell to monitor various states as you pass in your time-series data. It is a really big topic, so I will just provide:

If you decide to go this way (as opposed to classical models), then yes, you should understand backprop.


This is a really broad problem that you have described and there are many many approaches. It is also likey very active in research within the fields of (self-)localisation.

$\endgroup$
2
  • $\begingroup$ I do know about LSTM and deep learning but I'm not really sure if it's the way to go. I'm thinking of using a Kalman filter to apply to the input of ML models. Is this the way people apply Kalman? $\endgroup$
    – off99555
    Aug 29 '18 at 19:07
  • 1
    $\begingroup$ Kalman filters are very common for tracking tasks, yes. I am unsure how people connect them exactly, i.e. how the features are passed between stages. That'd be a good specific point to post as a new question! :) $\endgroup$
    – n1k31t4
    Aug 29 '18 at 21:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.