Moonlight Analytica Request demo
Floor intelligence

94% model confidence: how Janus knows when not to trust its own numbers

Every Janus metric ships with a confidence score. The coverage math decides when a camera angle's data gets trusted, and when it gets quietly down-weighted.

Moonlight AnalyticaField notes June 24, 20266 min read

Ask a vision-analytics vendor how confident their model is, and most will hand you an accuracy figure from a lab benchmark, measured on footage picked to look good, under lighting nobody's stockroom actually has. That number describes how the model performed once, in conditions it will rarely see again. It says nothing about the camera bolted above your back entrance, half-blocked by a shelving unit and washed out every afternoon when the sun crosses the lot for twenty minutes. Janus reports something narrower and more useful: a confidence score computed per zone, per reading, on the floor it is actually watching. The headline figure attached to a typical deployment is 94%. The more interesting fact is what happens to the readings that don't clear that bar.

A camera that can't see everything, honestly

Every camera on a retail or transit floor has a coverage problem before a single model runs on its footage. An angle that looks complete on an installation diagram turns out to be partial once shelving or a crowd of shoppers sits between the lens and the zone it's meant to watch. A May 2022 arXiv benchmark, "The Impact of Partial Occlusion on Pedestrian Detectability", tested seven pedestrian-detection models across occlusion levels from a clean view to nearly full occlusion and found what holds for any system tracking people on video: detection performance degrades steadily as occlusion rises, with false negatives climbing right alongside it. That curve is a slope, and a model that doesn't track where it sits on it reports the same tidy confidence at 10% occlusion as it does at 80%.

Lighting runs the same problem on a different axis. A camera aimed at a set of double doors reads clean at 10 a.m. and washes out under direct afternoon sun, and a model trained on the morning footage has no built-in reason to flag its afternoon readings as worse. Coverage shifts hour to hour and zone to zone, whatever an installation diagram claims about what a camera can see.

Scoring the blind spot instead of assuming it away

Janus scores that movement. Every zone on a floor carries its own coverage score, built from how many cameras actually see it, the angle and distance each one sees it at, and how stable the lighting has held across that deployment's own history. The map below is a stand-in for a live customer floor, but the shape of it is real: the center aisle sits at 91% because two camera angles overlap on it, while the back corner sits at 58% because a shelving unit clips one camera's line of sight and the other never reaches it at all.

Back corner58% Stockroom threshold79% Center aisle91% Promo endcap84% Front register96% CAM A CAM B
90%+ trusted as-is 78–89% partial weight below 78% down-weighted
IllustrativeA generic five-zone floor standing in for a live customer deployment. Confidence per zone reflects how well cameras cover it and how stable the lighting has been; Cam A and Cam B's fields of view intersect over the center aisle, which is exactly why it reads highest.

The gap between 96% and 58% on the same floor is the difference between a reading Janus reports on its own and one that needs help from the rest of the floor before it goes anywhere near a dashboard.

A model that reports the same confidence with a clean line of sight and with a shelving unit in the way has stopped measuring the floor and started measuring its own blind spot.

Down-weighting instead of discarding

The obvious fix, throwing out low-coverage readings, creates its own problem: a back corner or a backlit entrance never gets measured at all, right where a customer is most likely to linger unseen. Janus does something closer to what any careful analyst does with a shaky data source. It keeps the reading and shrinks its influence.

Coverage scoring produces a weight applied continuously, turned down for weak zones and never clicked off entirely. A zone reading at 96% coverage carries close to full weight into whatever metric it's feeding, whether that's dwell time or a congestion count. A zone at 58% still counts, just less, blended against nearby zones and recent history until the aggregate output can carry an honest confidence figure. Average the five zones on the map above with no weighting at all and the result lands in the low 80s, not 94%. That flat average is the wrong math: it treats a rarely relevant back corner the same as the register lane doing the actual counting. Weight each zone by how much it matters to the metric being reported, discount the ones with weak coverage, and the math produces the number that reaches a dashboard: 94%.

Anatomy of one reading, zone to dashboard
01

Raw reading

Every zone reports a raw presence or dwell reading each cycle, at 42ms latency.

02

Coverage score

Camera overlap, angle, distance, and lighting history score that zone's reading, 0–100%.

03

Weight applied

High-coverage zones carry near-full weight. Low-coverage zones still count, just at a discount.

04

Blended output

The metric a dashboard shows ships with its own confidence figure attached.

That distinction matters because vision models have a well-documented habit of reporting more certainty than their accuracy earns. Guo, Pleiss, Sun, and Weinberger's widely cited 2017 ICML paper on neural network calibration showed that modern deep networks are, by default, poorly calibrated: the probability a model assigns to a prediction routinely overstates how often that prediction turns out to be right. Coverage weighting exists partly to correct for that tendency before it ever reaches a customer's dashboard.

Why a number with a band beats a number without one

None of this is free. A confidence-weighted system will sometimes tell an operator less than a flat accuracy claim would, and a flat claim is the easier one to put in a sales deck. But an operator who only ever sees one average dwell number for a whole floor has no way to know whether that number came from a well-covered aisle or a blind corner behind the shelving. A convenience-store deployment that reported +53% promo dwell earned that number only because Janus's coverage scoring on the promo zone had already cleared its own threshold. Run the same math on a zone that hadn't cleared it, and the honest output is a wider confidence band and a flag to fix the camera angle.

94%
Confidence score shipped with a typical reading
42ms
Inference latency, same floor model
+53%
Promo dwell lift, reported once coverage cleared threshold

Ninety-four percent comes out of a scoring layer that runs before every metric Janus reports. That layer quietly decides which zones get to speak for themselves and which ones get blended in at a discount. A single confident-sounding number with no idea how sure it should be is the version of this product nobody should want to buy.

Janus · Physical-space intelligence

See your own floor's coverage map.

Janus scores confidence zone by zone and down-weights what a camera can't reliably see, so the number on your dashboard comes with an honest confidence band.