In October 2020, an automated Pixellot camera covering an Inverness Caledonian Thistle match spent the game tracking a linesman's bald head instead of the ball. Under the stadium floodlights the shine on the head read to the detector as a ball at roughly 98% confidence, and a camera built to follow the highest-confidence detection did exactly that, for a full match (WP43 solution page, 2026).
The reflex is to call that a detector problem and wait for a better model. We built a runnable demo, Plumbline, to argue the opposite. This is a physics problem, and a better detector does not make it go away. Plumbline is a deterministic, detector-agnostic physics gate that sits downstream of whatever detector you run and decides which candidate detections to accept, rejecting a physically impossible high-confidence ball while staying on the real one. You can run it at veriprajna.com/demos/physics-constrained-computer-vision. Physics overrules pixels.
Frame-independence is the vulnerability
An object detector scores each frame on its own. It reads texture and shape in a single image with no memory of where a real object could be next. That frame-independence is exactly what the shining head exploits. A bald head under floodlights and a ball share a bright, round texture, so on the pixels alone the head can outscore the ball. Improve the detector and it still carries no notion of continuity between frames, because continuity was never its job.
This is not a solved corner of the field. SoccerNet's tracking benchmark calls multi-object soccer tracking "far from solved," with severe failures in fast motion and heavy occlusion, and notes that no physics-aware tracking has been integrated into benchmark methods yet, a clear gap (SoccerNet tracking benchmark, 2026). The economics make that gap expensive. Our WP43 research review found that 95% of computer-vision projects never reach production. In that same review, edge cases account for "80% of engineering time, 90% of support costs, and 100% of liability exposure" (WP43 research review, 2026).
A physically impossible detection is wrong at any detector accuracy. A ball cannot hold a constant height while it drifts at three miles per hour, so a layer that enforces that fact keeps its value even against a perfect future detector.
What the gate actually rejects
Plumbline applies three deterministic gates to every candidate the detector emits, each one plain numpy and scipy outside any model. The kinematic gate runs a Kalman/UKF filter that predicts where a real ball can be and turns each candidate's error into a Mahalanobis distance: accept under 3σ, reject beyond 5σ, flag 3 to 5σ for review. The optical-flow gate checks that the candidate's local pixel motion matches the track. The geometric gate uses a pinhole model to ask whether a 22 cm ball could subtend the candidate's apparent size at its implied depth.
On the synthetic bald_linesman scenario (frame 38), the live gate feed rejects the 97%-confidence bald head on all three gates: kinematic 53.3σ past the 5σ line, optical flow flags a stationary object in mid-play, and geometry rules a ~50 px head impossible as a 22 cm ball at [3,11] px. Rather than lock the impostor, the physics-gated tracker (top right) coasts on its prediction.
Across the 44-frame bald_linesman clip the detector emits 18 high-confidence false balls on the head, and the gates reject all 18. The worst single impostor scores 82.3σ on the kinematic gate, far beyond the 5σ reject line. When the detector reports the real ball cleanly, it passes all three gates at 0.87 confidence and 0.4σ and the tracker locks on. On the frame shown above, a 53.3σ impostor, rather than accept the 97% head the tracker coasts on its own prediction and re-acquires the ball moments later (Plumbline audit, bald_linesman, seed 7). The bald-head impostor is an author-injected reproduction of the documented 2020 incident, scripted onto the synthetic scene, so what the demo proves is that the gate rejects a physically impossible high-confidence detection, not that it fires on organic detector noise. None of that decision is a confidence score being tuned. It is three physical facts about a ball being enforced.
The wrong knob
The standard industry fix for a false positive is to raise the confidence threshold. Our WP43 research review calls this the wrong knob, and the demo shows why (WP43 research review, 2026). The threshold is a blunt instrument that trades false positives for false negatives.
Baseline B2 with a raised confidence threshold. The left pane now reports "No detection" and has dropped the real ball entirely, while the physics-gated tracker on the right stays on the ball at 92%.
On the synthetic clean set, raising the threshold drops 43.2% of the real, low-confidence balls, and it still grabs the impostor whenever the impostor is the highest-confidence detection. Plumbline holds its clean-set miss to 2.3%, which is a one-frame acquisition latency rather than a dropped ball (synthetic clean set, seed 7). The physics constraints work orthogonally to the confidence threshold. Across the three synthetic scenarios the gate holds 97.7% time-on-target against 80.3% for follow-highest-confidence and 40.2% for the raised threshold (synthetic aggregate, seed 7).
The honest version, on real footage
A demo that only ran on a scene we rendered ourselves would prove very little, so the same gate code runs on real YOLO11x detections extracted from a real broadcast clip.
The same three gates on a real broadcast clip with real YOLO11x detections. The naïve tracker (left) is locked on the linesman at 96%; the physics-gated tracker (right) reads "On the ball" at 91%. The gate feed rejects the head at 41σ and 108 px against a 30 to 68 px window, and accepts the ball at 0.1σ.
On that 240-frame clip the gates hold the ball 68.3% of frames against 43.8% for follow-highest-confidence and 30.0% for the raised threshold (real broadcast clip, YOLO11x). That is honestly lower than the 97.7% synthetic ceiling, and it should be, because real footage is harder. The path is also honestly image-space. A single uncalibrated broadcast clip carries no metric depth, so the kinematic gate runs there as a 2-D Kalman filter in the image plane rather than the world-space UKF. Faking a 3-D filter on that clip would have been dishonest, and the resulting number would have been a lie. The direction holds on real detections and not only simulated ones: physics beats both baselines.
A physics reason on file for every decision
Every decision Plumbline makes carries its reason. Export the decision log and you get a record with the seed, the scenario, the detector id, and the gate thresholds in the header, then every candidate per frame with each gate's numeric verdict and a plain-English reason.
The exported decision log for the bald_linesman scenario, seed 7: the scoreboard, an incident summary, and a per-frame, per-candidate table giving each gate's numeric verdict and plain-English reason for every decision.
This is the part that does not age out. A better detector next year still produces detections that a downstream action system has to trust or reject, and the reason for each choice still has to be inspectable by whoever carries the liability.
The gates are plain, inspectable code outside any model. Trust does not depend on an LLM's self-report, and these are tracking-quality metrics, detector-quality-independent, so the value holds no matter how good the underlying detector gets.
There is an optional narrator that turns the gate telemetry into a plain-English incident summary, but it only explains after the fact, and with no key it falls back to a deterministic template. It advises. The gates have already decided. EU AI Act traceability expectations for automated decisions are part of why a per-decision physics trail matters (WP43 research review, 2026), though the log is filable evidence by design, not a compliance certificate.
If you run automated cameras, or any vision system that acts on its own detections, the useful question is which of your failures are physics failures wearing a confidence score. The bald head is easy to name after the fact. The costly ones are the detections that look right on the pixels and are impossible in the world: a ball at a fixed height, a ball the wrong size for its depth, a ball that does not move when the play does. A downstream physics gate is built to catch exactly those. The demo runs the real broadcast clip and the three synthetic scenarios at veriprajna.com/demos/physics-constrained-computer-vision, decision log included, so the rejections are yours to check.