Behavior Analysis
Behavior analysis reads tracks over seconds to name what people do, like loitering or queue jumping, where one frame alone says almost nothing.
Why Does This Exist?
One frame shows a person standing. Sixty frames show pacing, waiting, or guarding a door. Shops lose goods to patterns, not poses. Stations need to know when a crowd stops flowing.
Behavior analysis exists for that temporal reading. Input is person tracks with positions over seconds. Output is behavior labels with time spans. The short clip skill is action recognition; the track source is multi-object tracking. The clip frame is video understanding.
Use it when meaning lives in paths and dwell. Use single frame attributes when pose alone answers.
Think of It Like This
A librarian watching aisles, not books
A librarian ignores who holds which book and watches paths: quick grab and go, long browse in one bay, back and forth between the same two shelves. The third pattern hints at indecision or theft planning.
Tracks are aisle paths. Dwell is browse time. The analogy stops at intent: pacing can be a lost tourist, so the label is a prompt for a human check, never a verdict.
How It Actually Works
Link detections into tracks, then featurize motion: dwell seconds inside a zone, path length versus displacement, speed bursts, and neighbor gaps. Contract is tracks in, labeled intervals out with start, end, and zone. A shop doorway zone of m radius with a second loiter rule fires when one ID lingers seconds while pacing m inside. A queue jumper crosses m ahead while the line advances m.
Worked example
Track 7 enters the doorway zone at s and leaves at s. Path length sums to m but displacement is m, a pacing ratio of . Dwell s exceeds the s rule, so the interval labels loiter with score . Track 9 walks through in s with ratio and stays unlabeled. Staff review two clips, not two hours.
Watch Out For
Context free labels that accuse waiting
A delayed train fills every platform with second dwells. The model flags a crowd of loiterers. The symptom is alert storms during disruption. Fix it with context inputs like timetable state and by raising thresholds when density spikes.
Broken tracks that split one behavior in two
An occlusion cuts a second stay into plus second halves, both under the rule. The symptom is misses exactly where crowds thicken. Fix it with re identification stitching and by scoring merged tracklets before ruling.
The Quick Version
- Behavior labels multi second tracks, not single frames.
- Features are dwell, path versus displacement, and zone rules.
- The fixture flags s with ratio against a s rule.
- Labels are prompts for review, never verdicts on intent.
- Context and stitched tracks stop false loiter storms.