Particle Filters for Object Tracking
A particle filter tracks an object by maintaining a cloud of possible states ('particles'), not one best guess. It's used to follow objects through clutter and occlusion, like tracking a face in a crowd.
WHY IT EXISTS Tracking an object in a video seems simple, but it's difficult when the environment is cluttered, the object is partially blocked (occluded), or its movement is unpredictable. Simple tracking models that maintain a single 'best guess' for the object's position can easily fail. For example, if an object goes behind two pillars, it could emerge from either side; a probabilistic approach is needed to handle this multi-modal uncertainty.
THE MENTAL MODEL Imagine you're trying to find a specific person in a large crowd using only blurry satellite photos updated every minute. Instead of tracking one dot, you could place a thousand tiny 'guess' dots (particles) on the map where you think they might be. With each new photo, you check which of your guess dots seem to be on top of someone matching the description. You then remove the bad guesses and create new ones clustered around your most promising old guesses. This is the core idea of a particle filter: survival of the fittest for a cloud of hypotheses.
HOW IT WORKS A particle filter operates in a predict-update cycle. Each 'particle' represents a complete hypothesis of the object's state (e.g., position, velocity, size). First is the PREDICT step: the algorithm moves all particles according to a motion model, like 'objects tend to continue in the same direction', adding some randomness to account for uncertainty. Second is the UPDATE step: each particle is assigned a weight based on how well its hypothesized state matches the actual sensor data (e.g., the current video frame). Particles that align well with the evidence get higher weights. Finally, in a step called RESAMPLING, a new set of particles is created by sampling from the old set, with high-weight particles being duplicated and low-weight ones dying off. This focuses the filter's attention on the most likely states.
WHEN TO USE IT Use particle filters for tracking problems with non-linear dynamics and non-Gaussian noise, which are common in the real world. This includes tracking a person walking, a vehicle on a winding road, or a robot's own position in a complex environment (a problem known as localization).
WHEN NOT TO USE IT For simple linear systems, a Kalman filter is more computationally efficient and often sufficient. Particle filters also suffer from the 'curse of dimensionality': they become very slow and require an enormous number of particles to work well if the state you're tracking has many variables.
ONE CANONICAL EXAMPLE The Condensation algorithm is a type of particle filter used to track the contour of a moving object. Here, each particle is not just a point, but a hypothesis for the object's entire boundary, often represented by a spline. The update step weights each proposed contour based on how well it aligns with edges detected in the image. This allows it to track non-rigid, deforming objects, not just simple bounding boxes.
Read the original → en.wikipedia.org
Get five bites like this every day.
Tezvyn delivers a daily feed of 60-second tech bites with quizzes to lock in what you learn.