Visual vibrometry

tags: C++openCVwxWidgetsvideo magnificaitonsignal filteringfourier transformimage processinglaplacian pyramidphase based image processingButterworth filtering

[in process...] Main purpose of this article is to implement motion amplification algorithms to vibrometry focused on machine vibrations. Algorithm has already been applied using C++ with openCV library and hardware has been obtained. Currently I'm examining limitations of this technique. Once it is done following article will present the results. [in process...]

As it turns out uncompressed video recording contains a lot of information about motion of recorded objects even if they seem to stay still. Motion amplification technique can be used to reveal tiniest motion (eg. leaf vibration due to sound!). As far as vibrometry is concerned motion amplification can be used in order to reveal objects vibration and subsequently extract displacements and frequencies. To give readers a taste of result of this algorithm here are some sample videos I recorded and postprocessed:




160fps videos (slowed down by 6.5x) - unamplified/left and amplified/right. - postprocessing here



Car engine on 308fps video (slowed down by 12.3x) - unamplified/left and amplified/right. - postprocessing here

Such technique can supplement or even replace classic accelerometer measurements, its non-invasive, covers whole recorded object with milions of sensors (pixels) and additionally gives accurate visual representation of object's behavior.