Examples like
- swinging both of their hands
- squat
- walking around
- jump around
- etc
Is it possible to perform this in real time under crowded scene without depth information?
I can find out the "action level" if I knew what kind of action the person are doing, but can't find a fast solution to find out their action level if I don't know what kind of action they are doing.
Method I tried
First
Use adaptive background segmentation solutions like mog and mog2 of opencv, count the proportions of the foreground, but this solution cannot measure how fast the person is doing. There exist some frequencies patterns for the change of the foreground proportions, but it is hard to measure the wave of the frequencies reliable since the patterns may from A to Z.
Second
Use the multi-pose algorithm and tracking algorithm to compare the different positions of each pose. I measure out the pose of the person, and then compare the difference of the last keypoints, not good enough to measure how fast the people moving their body either.
pseudo codes
total_diff = abs(kpts_1 - kpts_2).sum()
Third(Just an idea, haven't tried)
Store n images(ex: 100), classify the action of the person by a cnn model, then measure their action level. This should work, but it can't work with crowded scenes.
Fourth(Just an idea, haven't tried)
Collect clips of different movement, give the activity level for different video clips manually, train a 3D/2D convolution models to classify the activity level. This will need a lot of videos, not a practical solution.
Do any research paper trying to solve this issue? What are the keywords I should try? Thanks
The keywords I tried:
Computer vision, measure human action speed