Multi Object detection and tracking: application to rolling stones in rivers
Hi OpenCV community,
Since a few year, I've developped an algorithm to detect and track moving stones in a water stream (see a typical HD video (~30Mo): 200 fps, 1280*256). Up to now, I've use simple methods such as median background subtraction, blob analysis and basic nearest distance association plus a post treatment (based on kalman filter and a minimization problem solved by hungarian algo) to reconstruct broken trajectories.
It performed ok (some example here and here) but I wonder if higher complexity methods, such as feature tracking, KLT (lucas kanade tracking), or TLD could help to improve performance (I have not constraint for the computation time !) and to overcome the difficulties of occlusion of stones, stones rolling over similar resting stones... For physical and mathematical purposes it is quite important to get entire trajectories, especially the exact beginning of motion as well as the exact time and position of stopping motion.
If you have some suggestions by looking at the video concerning the best method that should be used, or if you'ld like to try your own algo on the video, I would be very happy.
Thanks, Joris
Nice application! As to algorithms, if simple stuff works, then you better stick to that. But since FPS is not a point, I think that TLD tracker combined with your current segmentation could get you pretty far!