opencvcomputer-visiontrackingparticle-filter

Particle filter for multi object tracking


I'm on people tracking in computer vision. I have observations (blob as an output of blob detection after background subtraction) and I want to infer the objects that have produced these observations.

I have troubled with some Kalman filter code. And it's quite clear to me, but my problem is multi-object tracking: my problem is that sometimes the observations are incomplete/noisy. Let me explain better - In a test with clear observations, I have 1 blob for each person. Kalman filter can help me in smoothing the noisy path of the person into a smoothed curve. But, this is not my problem; The problem is that sometimes blob detection is not perfect and I have 2 blobs for 1 person (for example if the person I want to track is dressing a t-shirt of the same color of the background) or sometimes I have 1 blob for 2 persons (for example if the 2 persons are hugging themselves or are too near each other).

I have searched some theory and I have found a lot of papers that are solving the problem of object tracking with particle filter. So I studied Bayesian filter, Monte Carlo method, importance sampling and it is a little bit clear (I don't have math knowledge on probability to understand everything but the idea is clear).

Anyway, I don't still understand how particle filter can help me in detecting cases where 2 blobs correspond to 1 object or 1 blob correspond to 2 objects.

Can someone help in understanding this problem?


Solution

  • Kalman Filter are a background subtractor approach in this case. It can not handle data association and only gaussian noise.

    In the end I have re-implemented the histogram based particle filter activated by object detections.

    If anyone is interested in that just ask as a comment!