Ask Your Question

Best method to track multiple objects?

asked 2012-07-10 16:32:25 -0500

ChadReitsma gravatar image

updated 2012-07-11 02:42:57 -0500

Kirill Kornyakov gravatar image

Hi everyone, I realize this questions is a pretty broad one but I was wondering what in your opinion is the best method to track multiple objects simulteaneously? My goal is to track 12 Objects independently of eachother and translate their positions into X/Y coordinates.

I've been trying to do HSV matching with Camshift, but I realize that with a limited number of colours to choose from I might not be able to reach my 12 Object goal...

Any guidance would be greatly appreciated!!

Cheers, Chad

edit retag flag offensive close merge delete

3 answers

Sort by ยป oldest newest most voted

answered 2012-07-11 02:38:07 -0500

Kirill Kornyakov gravatar image

You should provide more information about your objects, conditions and performance requirements. Here is very extensive survey on Object Tracking: You will probably find something for your case.

Here are some possible approaches:

  1. If you're going to track 12 color balls which can't intersect and be occluded (view from the top), you can use some foreground/background segmentation algorithm, i.e. BackgroundSubtractorMOG. Having the motion mask you can filter noise with morphological operations, detect blobs and track them between frames.
  2. If your objects are planar textures objects, you can use some feature-based approach. Here is a short video showing how you can track a book or logo. Sample is in Python, but you can easily convert it to any other language.
  3. If your objects are not planar (have different view from different angles, i.e. people), you can think about something like TLD (aka Predator).

So, the best approach really depends on the type of your objects and the view from camera.

edit flag offensive delete link more


THANK-YOU Kirill, I will be using Coloured LED's, so I believe #1 is the best option - I will see what I can come up with based on your suggestions :)

ChadReitsma gravatar imageChadReitsma ( 2012-07-13 04:31:59 -0500 )edit

That's perfect, thanks!

ChadReitsma gravatar imageChadReitsma ( 2012-07-13 13:52:37 -0500 )edit

answered 2012-07-11 02:07:58 -0500

Niu ZhiHeng gravatar image

I think Particle Filter method is a method worth trying.

And I've found this implementation SMCTC is very easy to use and customize.

edit flag offensive delete link more


Thank-you Niu! I'll try that out as well.

ChadReitsma gravatar imageChadReitsma ( 2012-07-13 04:32:25 -0500 )edit

do you have some example for particle filter in multiple-object tracking?

nkint gravatar imagenkint ( 2013-07-26 05:16:05 -0500 )edit

answered 2015-10-20 08:28:51 -0500

updated 2015-10-20 08:30:16 -0500

Actually you can do multiple object tracking using Camshift. It is also pretty efficient.
I suggest you to take a look at my post in the link below. It contains Executable+Binary of the multiple object tracker program written using Qt and OpenCV.

Let me know if you have any problems compiling the source code or running the binary.

edit flag offensive delete link more



Just a suggestion. It would be great if you put also your source code on a public repository like Github if the license fits you. It would allow us to easily fork the project and see the source code online.

Eduardo gravatar imageEduardo ( 2015-10-20 08:44:58 -0500 )edit

@Eduardo your suggestion is noted! I have no problem with the license and I'll share through GitHub next time! :)

amahta gravatar imageamahta ( 2015-10-20 09:14:36 -0500 )edit

I tried camshift, if move the object out of the frame, the object is still tracked(marked) within the frame(at some region). How to get the status of the tracker in Camshift ?

Suraksha gravatar imageSuraksha ( 2016-11-11 00:37:42 -0500 )edit

Question Tools



Asked: 2012-07-10 16:32:25 -0500

Seen: 20,210 times

Last updated: Oct 20 '15