1
$\begingroup$

I was wondering if anyone knows of any algorithms or projects that can detect the frequency of a motion from a video clip.

Like if I had a video of a bouncing ball with constant frequency, could an algorithm tell me the approximate frequency (e.g. 1 bounce/s)

Cheers,

$\endgroup$
1
$\begingroup$

I think you should take a look at "Eulerian Video Magnification", a method for magnifying imperceptibly small motions in a video that was invented by the CSAIL lab at MIT. In the process of doing this, they use a variety of signal processing techniques that may be useful to you. By using this technique, the researchers have been able to extract things like pulse rate and breathing rate of people simply by processing a video of the subject.

The code to use their algorithm is posted in the link below.

http://people.csail.mit.edu/mrub/vidmag/

$\endgroup$
1
$\begingroup$

Have a look at OpenCV.

It includes motion analysis and tracking, so depending on how complicated your setup is, it might be as simple as taking one of the sample programs, using it to compute the ball's motion and then looking for sharp changes in direction.

$\endgroup$
0
$\begingroup$

The reference Tyler Olsen gave in his answer is the one I would have proposed too. Nevertheless I would complement or propose an alternative which consists in a decomposition of the optical flow into oscillating and piecewise constant flow fields. Similarly to the Eulerian approach, you could build a sort of scale space capturing motion a different frequencies by using different regularization parameters in the optimization proposed in

http://link.springer.com/chapter/10.1007%2F978-3-642-03641-5_10#page-1

Good luck

$\endgroup$

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.