9 findings from 4 videos (18:23 of 4K footage, 5,129 tracklets). Each links to the chart that shows it.
F2highdominant flowsmediumsingle direction cells
Two main traffic flows, the same in every video
The far carriageway runs right to left, away from the camera; the near carriageway runs from top left to bottom right, towards it. In each video 12 to 20 cells of the direction map have low coherence but still get a heading, and flow numbers such as F1 mean different carriageways in different videos.
Consequence: wrong_way should use the direction map only where coherence and sample support are high, and lanes should be named by geometry, not by flow number.
Direction map, C3896Trajectories, C3905
F3mediumC3905, C3902unknowndaylight
Vehicle signal heads are readable from pixel colour in dusk and evening video
The vehicle head L1 shows clean red, amber and green phases in C3905 and C3902. The automatic analysis picked the pedestrian head as the vehicle signal in C3896 and C3902, so that choice is wrong there. In daylight (C3897) the colour thresholds are not met for most samples, which may be calibration rather than real washout.
Consequence: Each signal head must be mapped by hand to the approach it controls, lamps read from calibrated regions, and readings checked against human-labelled samples.
Signal, C3905Signal, C3902Signal in daylight, C3897
F4high
Cars are parked at the far left edge in every video
They are visible in the frames of all four videos. Other long-standing vehicles (far kerb, bus stop) appear only in some videos, and their durations are track lifetimes, not verified uninterrupted stops.
Consequence: stopped_vehicle must exclude the left-edge parking bay. The bus stop area should not be excluded as a whole: a car standing there for 10 s or more may be a real stopped vehicle.
Vehicle heatmap, C3905Stop map, C3896
F5low
Stop line position is only roughly known
Queue fronts during red in C3905 suggest a stop line just before the main zebra, but the automatic estimate disagrees with points read by hand, and the method pools stops over time without requiring a queue at the same moment.
Consequence: The painted stop line will be drawn by hand on the reference frame.
Stop map, C3905
F6lowas a jaywalking measure
People on vehicle lanes is not a jaywalking rate
19 to 27% of person tracklets enter cells used by moving vehicles, but those cells include the zebra crossings, kerbs and frame edges. The count of people outside the popular crossing corridors depends on thresholds.
Consequence: Jaywalking needs hand-drawn crossing and sidewalk polygons and continuous occupancy, then validation against labels.
Pedestrians on lanes, C3902Pedestrian heatmap, C3897
F7highthat it changesunknowncause
Brightness changes within a clip
In C3905 brightness rises about 35% between 0:52 and 1:07. Whether this is camera auto exposure or sunlight is not established; the top and bottom of the frame change by different amounts.
Consequence: Any brightness-based rule, such as fire_smoke, must normalise per frame.
Brightness, C3905
F8mediumstop statistics
The stationary threshold is loose
A vehicle counts as stationary below 25 px/s (4K) anywhere in the frame. That allows visible creeping near the camera and ignores perspective.
Consequence: Stop maps are indicative only. Rules that depend on standing still need a perspective-aware threshold.
Stop map, C3905Speed per track, C3905
F9medium
Detector size matters for pedestrians
On C3905, YOLO11m produced 2.0x more small person boxes per frame and 1.4x more person boxes overall than YOLO11n at the same input size. These are detection counts, not measured recall.
Consequence: The tracks on this page use the medium model at input size 1280. A hand-counted sample is needed before we state recall.
Detector comparisonObject size, C3905