Crowd Counting
Crowd counting estimates how many people fill a scene by predicting a density map and adding it up, which survives overlap that breaks box counting.
Why Does This Exist?
Boxes fail in crowds: heads overlap, bodies hide, and non maximum suppression deletes neighbors. Event staff, transit hubs, and safety teams still need totals and hot spots. Guessing from one doorway view risks crushes.
Crowd counting exists for dense scenes. Input is an image or frame. Output is a count plus a density map that shows where. Detection skills are object detection; across frames the tracker is multi-object tracking. The video frame is video understanding.
Use it when overlap is heavy and positions can be soft. Use boxes when people are few, separated, and identities matter.
Think of It Like This
Weighing a jar of coins instead of stacking them
You cannot stack glued coins to count them, so you weigh the jar and divide by one coin weight. The scale reading is the total, and shaking the jar shows where weight clusters.
Density is the weight per pixel. The map sum is the scale reading. The analogy stops at identity: weight never tells which coin is which, and density never re identifies a person.
How It Actually Works
Annotate one point per head, blur points into a ground truth density whose sum equals the headcount. Train a fully convolutional net to predict that density with multiscale features for near and far heads. Contract is image in, density plus sum out. Count . A plaza frame with true heads predicts density summing to , an error of . Box counting on the same frame finds clean boxes and misses the rest to overlap.
Worked example
A platform image holds heads. The model outputs a density map. Corner cells hold each, center packs per cell. Summing all cells gives . Absolute error . Mean over such scenes is , which the operator reads as plus or minus a bench row, good enough for gate staffing.
Watch Out For
Scale collapse from door to horizon
Near heads span pixels, far heads span . One fixed blur target teaches the wrong size at one end. The symptom is undercount far plus overcount near. Fix it with perspective aware sigmas or multiscale heads, and validate per depth band.
Background texture counted as heads
Scaffolds and tree blobs mimic head texture at low resolution. The symptom is phantom counts on empty plazas. Fix it with negative scenes in training and by masking non walkable zones before summing.
The Quick Version
- Crowd counting predicts density whose sum is the headcount .
- Point annotations plus blur make training targets that tolerate overlap.
- The fixture sums to against true while boxes find .
- Multiscale features span near pixel heads and far pixel ones.
- Mask dead zones or texture becomes phantom people.