Skip to content
AI360Xpert
Beta

Particle Filter Tracking

Particle filters track by keeping hundreds of simultaneous guesses alive, letting the good ones multiply and the bad ones die with each new frame.

A cloud of weighted guesses predicts forward, gets reweighted by the new frame, and resamples around the winners.
A cloud of weighted guesses predicts forward, gets reweighted by the new frame, and resamples around the winners.

Why Does This Exist?

The Kalman filter keeps one bell-curve belief, which works until the world refuses to be one bell curve. A person walks behind a pillar: are they continuing left or did they stop? That belief is two humps, and a Kalman filter averages them into the pillar itself. Cluttered backgrounds, multi-modal motion, and nonlinear dynamics all break the single-Gaussian story.

Particle filters (sequential Monte Carlo, CONDENSATION in vision) drop the closed form and represent belief as a cloud of weighted samples. Each particle is one hypothesis about the state. Predict moves them all through the motion model, update reweights them by how well each explains the new frame, and resample multiplies winners and kills losers. Any distribution shape survives, at the cost of computation per particle.

Think of It Like This

A search party spreading through woods

A hiker is lost and could have taken either fork. Instead of sending everyone down the average of both paths (into the trees between), the leader sends groups down each, proportional to the odds. Each hour, groups radio back how fresh the trail looks; promising groups get reinforcements, cold trails get recalled.

Particles are the search groups. Prediction walks them forward. The measurement update is the radio report. Resampling moves bodies from cold trails to hot ones. The party holds two hypotheses as long as both stay warm, which no single-point estimate can do.

How It Actually Works

1. Predict, weight, resample

Each step has three moves. Predict: push every particle through the motion model plus noise, x(i)←f(x(i))+noisex^{(i)} \leftarrow f(x^{(i)}) + \text{noise}. Weight: score each against the observation, w(i)∝p(z∣x(i))w^{(i)} \propto p(z \mid x^{(i)}), often a color-histogram or edge match. Resample: draw a fresh set of NN particles with probability proportional to weight, resetting all weights to 1/N1/N. The cloud flows toward likely states without any Gaussian assumption.

2. Worked resample

Five particles carry weights [0.1,0.1,0.5,0.2,0.1][0.1, 0.1, 0.5, 0.2, 0.1]. Expected copies after resampling are 5×w5 \times w: [0.5,0.5,2.5,1.0,0.5][0.5, 0.5, 2.5, 1.0, 0.5], so particle 3 spawns two or three children while particles 1, 2, and 5 likely vanish. The effective sample size ESS=1/∑w2=1/0.32≈3.1ESS = 1 / \sum w^2 = 1 / 0.32 \approx 3.1 of 55 says the cloud really holds about three particles' worth of belief: concentrated but not yet collapsed.

3. Report an estimate

The tracked position is the weighted mean (or the best particle) of the cloud. Uncertainty reads off as the cloud's spread: tight cloud, confident track; particles straddling a pillar, genuine ambiguity worth preserving rather than averaging away.

Watch Out For

Particle deprivation after resampling

Resample too aggressively and every particle becomes a clone of one winner; diversity dies and the tracker cannot recover when that winner is wrong. Resample only when ESSESS drops below half of NN, and keep process noise high enough that clones spread back out.

Too few particles in high dimensions

Ten particles track a 2D position fine and starve in a 6D articulated state, because volume grows exponentially. If the cloud looks healthy but the track still lags, dimensionality, not tuning, is the bottleneck: shrink the state, add a better proposal, or switch estimators.

The Quick Version

  • Particle filters hold belief as weighted samples, so multi-modal ambiguity survives intact.
  • Each cycle predicts particles forward, reweights by observation fit, and resamples winners.
  • Weights [0.1,0.1,0.5,0.2,0.1][0.1, 0.1, 0.5, 0.2, 0.1] give ESS≈3.1ESS \approx 3.1 of 55: concentrated, not collapsed.
  • Resample only when ESSESS sags, or cloning kills the diversity that justifies the method.
  • Any distribution shape works, costing compute per particle instead of Kalman elegance.