I am trying to recognise human activity gestures using hidden Markov model. I have created a dataset such that, when I do a particular gesture 10 observation arrays are generated with time. Each observation sequence has looks like this [timestamp, x_acc, y_acc, z_acc, x_gyro,y_gyro, z_gyro]. Hence my dataset for a particular gesture consists of observations when I do that particular gesture 10 times, thereby making total 100 arrays. I am confused how should I use this dataset to recognise the gesture using Hidden Markov model in python using pomegranate library. Or do I need to make any changes in the dataset for training hmm? I need to know how should be the format of my dataset in order to train hmm with it? I plan to use 1 discrete hmm for 1 gesture.
the way you are feeding seems appropriate, if you feel the dataset is getting huge for your problem, you could do a better feature engineering technique.
I have worked on predicting the UCI ML Daily and Sports Activities dataset from where they have five devices like you have and take it operates at 25Hz. So for each second, they have 25 readings from 5 devices. So it was a lot, and I implemented this paper:
K. Altun, B. Barshan, and O. Tunçel,
Comparative study on classifying human activities with miniature inertial and magnetic sensors,Pattern Recognition, 43(10):3605-3620, October 2010.
This is the above mentioned paper.
Where they do various feature engineering techniques from
DFT peaks etc. I did the same using Python, it's available on github repo.
sklearn mostly, and later went with
pytorch, but never tried HMM, but you should definitely check out HMM from
Try both with feature engineering and without feature engineering, and maybe reduce using PCA.
Hope that helps.