Detection of a cycle of a repetitive physical activity

What is a good way to formulate the problem of detecting when the user completes a cycle of a repetitive activity that involves several steps?

Context/Use case:
Imagine a physical exercise that involves several steps and different motions. The user is repeating the exercise over and over, but each cycle lasts anywhere from 8 seconds to a few minutes depending on the exercise. I can record accelerometer, microphone, and gyroscope data sampled sufficiently frequently.

I want to detect the moment the cycle has finished. The first idea is to classify all moments before as “unfinished” and all moments after as “finished”. Intuition says this is not a great approach.
What other approaches should I investigate?

Hello @mlexpress,

If you are not sure how long it will take to complete in advance, my suggestion would be to try to classify if the movement is running or stopped like you suggested.
Maybe people here have other ideas.



I didn’t mean to suggest the movement stops. The next cycle begins immediately afterwards.
I can manually label the moments when a cycle completes, but it’s still not clear how to formulate the ML problem.

The only idea that comes to mind is to use a very large sliding window, longer than the cycle period, and then label windows that contain the cycle finish as “finished”.