Parallax Metrology
Parallax Metrology · working draft
Technical white paper · learned success judges

Confidence without correctness

A frontier vision-language model, asked to verify whether a robot manipulation succeeded, returns the wrong verdict at a fixed high confidence. It fails not because it cannot locate the objects, but because its internal representation smooths over the sub-threshold physical change that decides the outcome. This paper documents that decoupling, isolates its representational cause on a public robotics corpus, and shows that an independent pixel measurement recovers exactly the evidence the learned judge discards.

0

Why a wrong "success" is the expensive kind of wrong

Background for the general reader — the setting, the stakes, and what is new here

Modern robot policies are trained on their own experience. A robot attempts a task many times, and each attempt has to be labeled: did it succeed or not? At scale, a human cannot label every rollout, so a learned model is put in the labeling seat. That model's verdicts become the training signal for the next, better policy.

This is the loop that matters. When the learned judge is right, the loop improves. When it is wrong in the cautious direction, flagging a success as a failure, the cost is a discarded good example: wasteful, but visible and self-correcting. When it is wrong in the confident direction, certifying a failure as a success, the cost is different in kind. A mislabeled failure is silently poured into the training set as if it were a thing to imitate. Nothing downstream flags it, because everything downstream trusts the label. A judge that occasionally cries wolf can be tuned. A judge that occasionally waves through a failure at high confidence poisons the well and leaves no fingerprint.

That the learned judges in this seat are imperfect is already established. An independent benchmark, RoboTwin 2.0, reports a vision-language success detector at precision 0.208 on curated execution sequences [4]. Google's own Gemini Robotics-ER, the model examined here, is marketed for exactly this function, "progress estimation" among its named capabilities [3]. So the reliability gap is not in dispute. What has been missing is a precise account of why a judge that can clearly describe a scene still misjudges it, and whether anything cheaper than a better model can recover the lost signal.

This paper supplies both, on public data, under a self-audited protocol. It makes one diagnostic claim and one constructive claim, and it is careful to be nothing more:

Diagnostic
the judge's confidence does not move when it is wrong, because its representation discards the deciding evidence
Constructive
an independent pixel measurement recovers that evidence, and abstains rather than guess when its own view is invalid

Terms used in this paper

success judge
a learned model asked to output whether a commanded task succeeded, typically with a confidence value.
collateral motion
an object that was supposed to stay still moving during the task. A common, easy-to-miss failure.
preservation complement
everything in the scene that the task did not command to change, and therefore must be checked for having stayed put.
registration
aligning two frames so the camera's own small shifts are removed before anything is called "motion."
role-local support
counting the actual visible pixels belonging to one named object, rather than trusting a box drawn around it.
abstain
the instrument's third output, beside pass and fail: "my evidence here is not valid, so I decline to rule." Not a guess.
calibration / validation split
freezing a threshold on one set of no-motion pairs, then testing it on a held-out set never used to set it.

The corpus. All public-data results use Language-Table [1], a Google release of a robot arm pushing eight colored blocks on a smooth board, with human-selected behavior endpoints. It was chosen because its planar, line-of-sight layout gives an object-measuring instrument a clear view. Its labels are hindsight descriptions of what happened, not contracts about what had to stay fixed, a distinction that bounds the claims in Section V.

The finding in one panelall figures from sealed, hashed runs

Across sealed layouts the judge false-passed named physical violations, always reporting the same confidence whether right or wrong. On the public corpus the cause is measurable: the learned box for an object moves 2.4% while that object's true visible extent moves 67.7%. When the model calls every object "clear," usable metric coverage falls to zero. An independent measurement, gated to abstain when its own evidence is invalid, recovers the discarded signal.

0.95
judge confidence, constant across right and wrong verdicts
2.4%
learned box change while object's visible extent moves 67.7%
0 / 5
usable metric verdicts when the judge calls all objects clear
0 / 6
held-out false alarms from the independent measurement
I

The phenomenon: confident, wrong, and unmoved by being wrong

A judge whose confidence carries no information about its correctness

The starting observation is not that a learned model makes mistakes. It is that its confidence does not change when it is mistaken. In a task-success setting, that is the dangerous shape: a wrong verdict that looks exactly as certain as a right one gives a downstream pipeline nothing to filter on.

The judge is Gemini Robotics-ER [3]. It is shown a before and after frame and asked, in neutral language, whether the commanded manipulation succeeded while everything else stayed put. Across two prospectively frozen layouts, with collateral moves as small as one centimeter and on both textured and smooth surfaces, it returned confident false passes at a single repeated confidence value.

Direct-judge results across sealed runstask-scored judgments
Sealed runScene familyFalse passesFalse failsAbstentionsReported confidence
prospective A2 new layouts, textured9 / 16000.95, every time
prospective Btextured + smooth, 1 cm moves9 / 20000.95, every time
related set5-object photo sets2 / 1400both collateral-bowl cases
replicated set32 hashed sources, 4 layouts0.95, moved object named yet "unchanged"

Two details make this more than ordinary unreliability. First, in the replicated set the model named the object it then certified as unchanged: it reported the moved bowl in the scene and still passed the layout. The error is not a failure to perceive the object; it survives perception. Second, the confidence is flat. It sits at 0.95 on the passes it should have failed and 0.95 elsewhere. A number that does not move cannot be a filter.

0.0 0.5 0.95 REPORTED CONFIDENCE → every verdict lands here →
Confidence does not separate right from wrong. Each dot is one task-scored verdict from a sealed run; red is a false pass, green is correct. They occupy the same value. A confidence signal that never varies with correctness cannot be thresholded to catch the errors.

An older, unrelated capture shows the same shape in a different modality: on a legacy real-frame subset the same class of judge scored 17 of 27, with ten flat printouts certified as real three-dimensional objects. Different scene, different failure trigger, same decoupling of stated certainty from physical fact.

Scope, stated up front

Every direct-judge number here comes from one model family. This section establishes the phenomenon for that judge, rigorously. It does not yet establish a law about learned judges in general. The graduation step is explicit in Section V: repeat on two or three more models.

II

The cause: the representation low-passes the deciding evidence

Where the signal lives, and why a smooth representation cannot hold it

The interesting question is not that the judge is wrong but why it is wrong while still describing the scene correctly. The answer, made measurable on Language-Table, is that the learned representation is smooth exactly where the physical evidence is fine-grained. The change that decides success is below the resolution the representation preserves.

The clean case is a single episode, labeled P18. The robot pusher completes its commanded move and, in doing so, gradually uncovers a second block it had been occluding. Two instruments watch the same pixels.

Language-Table episode P18 · six frames · green = learned boxes, magenta = robot/actor
Six frames of the P18 episode showing the robot arm moving and a yellow block being progressively uncovered, with learned detection boxes overlaid
The reveal the learned box misses. As the pusher (magenta) clears the upper area, a non-target block is progressively uncovered: its true visible pixels grow sharply across the sequence. The learned box drawn around it barely changes. The judge reasons over the box, so it never sees the change.
P18 — same object, two representationsas the block is uncovered
learned box change
+2.4%
true visible extent
+67.7%

The learned bounding box registers the object as essentially static. Its actual number of visible pixels grows by roughly two-thirds. The representation the judge reasons over has already erased the change.

Scale that from one episode to a set and the effect becomes a coverage collapse. Handed frozen no-motion pairs, the judge validates every row and calls all eight objects "clear" in every pair. Yet its boxes are so quantized that any honest metric threshold built from them is degenerate: a zero-percent area-change threshold, a held-out control that false-alarms at a tenth of a pixel. Applied without tuning, the learned surface returns zero usable verdicts across five episodes. Categorical coverage is total; metric coverage is nothing.

8 / 8
objects the judge calls "clear" per pair
0%
area-change threshold its own boxes support
0 / 5
metrically usable verdicts, applied unchanged

This reframes the received wisdom. The familiar statement is "vision-language models are unreliable judges of physical success." The sharper, testable statement is: the learned representation acts as a low-pass filter over the physical nuisance channel, and task success lives in that channel. The model is not blind to the object. It is smooth where the object's story is written in fine strokes. Its boxes remain genuinely useful for binding a name to a region. They cannot certify their own metric support, and they should not be asked to.

III

The recovery: independent pixels hold authority, and abstain when blind

A measurement that distinguishes "changed" from "became visible," and refuses when it cannot

If the learned representation discards the deciding evidence, the remedy is not a better-prompted judge. It is a second, independent measurement over the raw pixels that never delegates its metric authority to the model, and that says nothing when its own evidence is invalid.

The arrangement keeps each part in its lane. The learned model does what it is good at, naming objects and pointing to roughly where they are. A system-owned policy, not the model, states what the task permits to change. An independent measurement audits everything else. A validity layer decides whether that measurement can be trusted at all. Missing or compromised evidence produces an abstention, never a learned guess.

The measurement itself is deliberately ordinary: standard feature-based image registration and color-component pixel counting, no bespoke geometry and no learned metric. That is a design choice, not a limitation. An effect that shows up under textbook computer vision is not an artifact of some exotic operator. The exact operations are given in Methods.

learned model names + rough region system policy what may change independent measurement validity gate is the read valid? PASS FAIL ABSTAIN
Authority is separated on purpose. The learned model grounds symbols but never sets the verdict. The metric decision belongs to an independent measurement, and the right to make that decision belongs to the validity gate. When the gate finds the evidence invalid, the output is ABSTAIN, not a fabricated pass.

The discipline is where the result lives. Return to P18. A naive difference sees the uncovered block move and would call it a 7.11 px collateral violation, a false fail. But the same measurement sees that the block's visible support is growing as it is revealed, not translating. A prospectively frozen support-stability gate reads that growth and returns abstain, not a verdict. The instrument distinguishes an object that changed from an object that merely became visible. That distinction is the whole game, and the learned judge never makes it.

P18 — reveal is not motionthree instruments, one episode
InstrumentReads P18 asVerdict
direct learned judgeall objects clear, task passedfalse pass
naive pixel difference7.11 px shift on a non-target objectfalse fail
support-gated measurementvisible extent grows 161→499 px: a revealabstain

The abstention is disciplined, not evasive. Its threshold is calibrated before it meets the task episodes: on a fresh corpus shard, on natural no-motion pairs split into calibration and validation ahead of measurement. The held-out result is zero false alarms in six validation pairs at a 0.911 px maximum, under a calibration ceiling of 1.264 px. The gate earns the right to speak by first proving it stays quiet when nothing moves.

Language-Table episode P10 · before / after · a same-color role split
Two frames of the P10 episode: before, with a yellow hexagon at upper right and a yellow heart at lower left; after, with the target moved and the yellow heart unchanged
Recovered coverage, cleanly. The commanded yellow hexagon moves under the pusher (right); the protected yellow heart stays at lower left. Two objects share a color, so a name alone cannot tell them apart. Role-local pixel support isolates the stationary one and confirms it did not move, a preservation pass the global learned surface could not make.

A denser version of the same measurement recovers coverage without surrendering the discipline. Sealed before it ran, with a 1.225 px centroid and 7.06% support threshold, it clears all six held-out controls and returns two clean preservation passes, zero fails, three abstentions, and it still abstains on P18. That is the shape you want: coverage rising while the hard case stays correctly unresolved. The authority that decides admissibility is the independent measurement's own validity, never the model's confidence and never the persistence of a learned box.

IV

Why the small numbers hold: the record was built to survive a hostile read

Pre-registration, blind cross-checks, and a self-caught leak

The claims above rest on few episodes. What makes them trustworthy rather than anecdotal is that the discipline meant to prevent self-deception was run against the author, out loud, and it caught something.

Three practices carry the weight. Every threshold is frozen with a hash of the protocol, the code, the input, and the policy before the measurement it governs, so no number can be quietly retuned once the answer is visible. A blind second model, given a neutral packet with the answer key withheld, was used to cross-check visibility: the two instruments agreed on 293 of 336 object-window decisions (87.2%), and where they disagreed the disagreement was asymmetric, which argued for the conservative reading rather than promoting either model's estimate to ground truth.

The most telling event is a correction the project made against itself. A hash-group audit of the no-motion calibration set found two pairs that were byte-identical to calibration pairs and had leaked across the calibration/validation boundary. The denominators were corrected from 16/7 to 15 unique calibration and 6 unique validation pairs, a convenient "coincidental equal maximum" explanation was withdrawn, and the thresholds and task results were re-checked and held. A record that finds its own leak and reports the corrected, slightly less tidy numbers is a record that was not reverse-engineered from its conclusion.

What this buys the reader

Small N plus anti-self-deception discipline is a different object than small N alone. The findings are modest in scope and specified precisely enough that a hostile reviewer can attack each one on its own terms. That is the intended posture: claims narrow enough to be exposed, and exposed on purpose.

V

Boundaries, and what would falsify each claim

The edges named as edges, with the experiment that would break each finding

The contribution is a documented, mechanistically explained failure mode of a learned success judge, plus an independent measurement that recovers the evidence the judge discards, shown on public data under adversarial self-audit. It is deliberately not more than that. Four boundaries define where it currently stops.

None of these require a new idea. Each requires more subjects, or a corpus with a different property, applied to the instrument as it already stands. That is the honest state of the work: a finding on firm ground, with its next four experiments already named, and none of them a rescue.

The claim, exactly

A frontier learned judge certifies physical failures it can name, at a confidence that does not move when it is wrong, because its representation smooths over the sub-threshold change that decides the outcome. An independent, validity-gated pixel measurement recovers that change and abstains rather than guess when its own evidence is invalid. Demonstrated for one judge on a public corpus, under pre-registered thresholds and a self-audited record.

M

Methods: what the instrument actually computes

The exact pipeline, and an explicit inventory of what is not in it

Every measurement in this paper is produced by standard computer-vision primitives. There is no learned metric, and no bespoke geometric operator. A reader should be able to reconstruct the pipeline from a general vision library and the description below.

The only learned component is the grounding model. Gemini Robotics-ER returns, per object, a name-bound bounding box and a visibility label (clear, partial, or occluded). It supplies identity and a rough location. It is never asked for, and never trusted with, a metric quantity.

The v3.2 measurement pipelinefrozen candidate instrument
StageOperationOutput
1 · grounding (learned)Gemini Robotics-ER localizationper-object name, box, visibility flag
2 · registrationORB features, Hamming matcher with 0.72 ratio test, RANSAC homography; rejected below 20 inliers or 0.35 inlier ratiobefore→after alignment; inlier ratio as a validity signal
3 · role-local supportHSV color threshold, morphological close, same-color pixels split by nearest expanded learned boxper-object visible pixel count and centroid
4 · displacementmap before-centroid through the homography, compare to observed after-centroidregistered centroid displacement (px)
5 · support change|before − after| / max(before, after) on the pixel countsvisible-support change fraction
6 · calibrationno-motion pairs, split into calibration/validation before measurement; thresholds frozen as the calibration maximaa motion threshold and a support-stability threshold

The verdict audits only the preservation complement, the target object set aside, and the tests run in a fixed order. The ordering is the mechanism, not an implementation detail:

  1. any complement object not measured in both endpoints → abstain;
  2. else any complement object whose support change exceeds the support threshold → abstain (it is being revealed or occluded, not reliably measurable: the P18 gate);
  3. else any complement object whose registered displacement exceeds the motion threshold → fail;
  4. else → pass.

The support-stability test runs before the motion test. That single ordering is what converts a reveal into an abstention instead of a false fail. The protocol, code, input manifest, and policy are hashed and frozen before each measurement is run.

What is deliberately not in the pipeline

No component of the original composition kernel is used: none of its displacement, void-ratio, packing-density, mass-intensity, peripheral-pull, orientation, or structural-thickness terms appear in this path. Nor does the two-view parallax depth cue, which belongs to a separate line of work. An earlier structural mass-residual variant (ISR) was implemented, tested against these ordinary methods, and gated out for being slower and less sensitive. The contribution is the authority separation and the validity-gated abstention, not a novel geometry. The primitives underneath are commodity on purpose.

T

Traceability: every number to its source

Each headline figure and the primary result file it comes from

No figure in this paper is a summary estimate. Each traces to a single frozen result file in the lab record, listed below. Every entry was re-checked against its source file before publication.

Figure crosswalkRelational Auditor lab record
Claim in this paperFigurePrimary source file
Confidence flat, false passes at 0.959 / 16RESULTS_SPEC_EXECUTION_V2.1.md
Replicated at smaller motion, smooth + textured9 / 20RESULTS_SPEC_EXECUTION_V2.2.md
Related set, both collateral-bowl cases missed2 of 14RESULTS_PROSPECTIVE_CONFIRMATION_V0.9.md
Replicated real, four confident false passes24 / 28, 4×RESULTS_PROSPECTIVE_CONFIRMATION_V0.9.md
Legacy flat prints certified as real 3D17 / 27, 10 flatRESULTS_LEGACY_REAL_V0.3.md
Learned box vs true visible extent (P18)2.4% vs 67.7%RESULTS_LANGUAGE_TABLE_LEARNED_SURFACE_V3.0.md
All objects "clear", zero usable metric verdicts8/8 clear; 0/5RESULTS_LANGUAGE_TABLE_LEARNED_SURFACE_V3.0.md
Held-out false alarms, frozen validity gate0/6 at 0.911 px (ceiling 1.264)RESULTS_LANGUAGE_TABLE_VALIDITY_V2.9.md
P18 reveal converted to abstain7.11 px; support 161→499 pxRESULTS_LANGUAGE_TABLE_VALIDITY_V2.9.md
Dense-support recovery, hard case still abstains6/6 quiet; 2/0/3; 1.225 px / 7.06%RESULTS_LANGUAGE_TABLE_DENSE_SUPPORT_V3.2.md
Blind second-model visibility cross-check293/336 (87.2%); 12/13RESULTS_LANGUAGE_TABLE_SURFACE_V2.7.md
Self-caught calibration/validation leak16/7 → 15/6ADVERSARIAL_CHECKPOINT_V3.3.md

Files are named for reference only; the lab record is the authority for exact context and denominators. Rows highlighted are the three figures a skeptic is most likely to test first: the representational mismatch, the held-out false-alarm rate, and the leak the audit caught in its own calibration set.

R

References

Every citation below was checked against its primary source before inclusion

  1. C. Lynch, A. Wahid, J. Tompson, T. Ding, J. Betker, R. Baruch, T. Armstrong, P. Florence. Interactive Language: Talking to Robots in Real Time. arXiv:2210.06407, 2022. Source of the Language-Table dataset and simulator. arxiv.org/abs/2210.06407 verified
  2. A. Khazatsky et al. DROID: A Large-Scale In-The-Wild Robot Manipulation Dataset. arXiv:2403.12945, 2024. The real-trajectory corpus referenced as the offline boundary. arxiv.org/abs/2403.12945 verified
  3. Google DeepMind. Gemini Robotics-ER (embodied-reasoning vision-language model). Named capabilities include spatial understanding and progress estimation. ai.google.dev/gemini-api/docs/robotics-overview verified
  4. T. Chen et al. RoboTwin 2.0: A Scalable Data Generator and Benchmark with Strong Domain Randomization for Robust Bimanual Robotic Manipulation. arXiv:2506.18088, 2025. Reports a VLM success detector at precision 0.208 on curated execution sequences. arxiv.org/abs/2506.18088 verified

On the two P18 figures. The same reveal is measured at two pipeline stages. The learned-surface evaluation reports the change as a fraction of the object's extent: box +2.4% against visible support +67.7%. The support-stability gate reports it as a raw pixel count over its frame window: 161 → 499 px (a later dense-support pass reads 161 → 673 px). All three agree in direction and magnitude class; they differ because the frame window and the measurement method differ. A reader cross-referencing the lab record should expect the count and the percentage to describe the same event, not two events.