[D] Classifying high dimensional sequences using traditional machine learning methods
I’m a beginner in machine learning and I want to classify high dimensional sequences without using an LSTM or other deep learning methods, but using something simpler, to learn more about feature extraction.
I’m trying gesture recognition using OpenPose, with a couple of gestures (wave, swipe left, swipe right, circle) of varying length. Because of OpenPose, I have 67 features (body and hands) times 3 (x, y, c). The sequences go from 4 to 43 frames, so there is a lot of variation there.
First of all, how do I google this? Time series classification is all about long, usually one dimensional sequences, while these are shorter and highly multi dimensional sequences. I don’t know if this has been done before without deep learning?
Second of all, here is what I tried:
- Padding and clipping the sequences to the same length, then using an RBF SVC from sklearn.
- Extracting mean, median, std, max, min, and other statistics to obtain a fixed representation
- Performing Fourier transformations per keypoint/feature pair, so 67*3 transforms
All three of these overfit a lot (100 to 50 train/test accuracy), the Fourier one the most because of the high amount of features. PCA does not help a lot. Are Fourier transformations even useful here because there is no real periodicity in the gestures and the transformations look weird (normally you have these peaks in frequencies, but for me the Fourier transform just looks like a choppy sine wave for most cases)
I looked at DTW but I have way too much features???
How do I classify OpenPose sequences using machine learning and not deep learning? I can’t find a lot of info on google