One-sided occlusion residual results¶
Protocol frozen at a2e22ce5. All 36 fits completed.
All six original-scene symmetric result objects exactly reproduce the previous
metric-depth experiment. Scene layouts and saturation were not changed after scoring.
| Scene | Population | Seed | Symmetric deg / m | Pass | Asymmetric deg / m | Pass |
|---|---|---|---|---|---|---|
| original | exact_z_visible | +1 | 0.1415 / 0.0363 | True | 0.2116 / 0.0488 | True |
| original | exact_z_visible | -1 | 0.1433 / 0.0366 | True | 0.1985 / 0.0471 | True |
| original | exact_z_visible | +0 | 0.1414 / 0.0363 | True | 0.1986 / 0.0471 | True |
| original | exact_z_all | +1 | 0.7519 / 0.1054 | False | 0.2116 / 0.0487 | True |
| original | exact_z_all | -1 | 0.7518 / 0.1055 | False | 0.2118 / 0.0487 | True |
| original | exact_z_all | +0 | 0.7523 / 0.1054 | False | 0.1980 / 0.0469 | True |
| near_foreground | exact_z_visible | +1 | 0.2174 / 0.0380 | True | 0.1219 / 0.0336 | True |
| near_foreground | exact_z_visible | -1 | 0.2174 / 0.0380 | True | 0.1218 / 0.0336 | True |
| near_foreground | exact_z_visible | +0 | 0.2172 / 0.0380 | True | 0.1088 / 0.0319 | True |
| near_foreground | exact_z_all | +1 | 0.7523 / 0.0859 | False | 0.1318 / 0.0347 | True |
| near_foreground | exact_z_all | -1 | 0.7307 / 0.0870 | False | 0.1318 / 0.0347 | True |
| near_foreground | exact_z_all | +0 | 0.7244 / 0.0878 | False | 0.1318 / 0.0347 | True |
| staggered | exact_z_visible | +1 | 0.1095 / 0.0237 | True | 0.0684 / 0.0234 | True |
| staggered | exact_z_visible | -1 | 0.1084 / 0.0236 | True | 0.0637 / 0.0228 | True |
| staggered | exact_z_visible | +0 | 0.1090 / 0.0236 | True | 0.0623 / 0.0227 | True |
| staggered | exact_z_all | +1 | 0.4288 / 0.0521 | True | 0.0724 / 0.0237 | True |
| staggered | exact_z_all | -1 | 0.4476 / 0.0526 | True | 0.0715 / 0.0235 | True |
| staggered | exact_z_all | +0 | 0.4440 / 0.0526 | True | 0.0714 / 0.0236 | True |
Outcome¶
Perturbed recovery across both visibility populations improves 8/12 → 12/12. The key all-return subset improves 2/6 → 6/6, while oracle-visible controls remain 6/6. Reference-start controls improve 4/6 → 6/6 (all-return subset 1/3 → 3/3). Each asymmetric fit converges and retains support. No retry, failure omission or threshold relaxation was needed. The prior original-scene all-return ~0.752-degree error falls to ~0.20–0.21 degrees / 4.7–4.9 cm.
Passing a gate is not absence of bias. In the original visible-only population, asymmetric errors (~0.20–0.21 deg / 4.7–4.9 cm) are worse than the symmetric baseline (~0.14 deg / 3.6 cm). All truth-start outputs move away from exact truth, though within the declared limits. Saturation weakens genuine positive residuals as well as occluded returns; that tradeoff remains even without missing geometry. Do not state that this method is uniformly more accurate or unbiased.
Actual residual calls span 131–238 for asymmetric versus 111–341 for symmetric, below the fixed 800 cap. Total fit times for 18 cases per method are 5.71 s versus 5.53 s on this CPU. All points retain residual slots and missing-support penalties; reported >20 cm counts are geometric disagreement diagnostics, not inferred truth occlusion labels. The estimator never receives oracle visibility or reference extrinsics; oracle filtering exists only in the favorable input control.
Decision and next step¶
This is a positive controlled result for an experimental approximation. Keep it outside production: three sphere arrangements share the same analytic renderer, background plane, extrinsics and noiseless sensor assumptions. No real-data or SOTA claim follows. Prior metric-depth bias failure is not resolved by a test that contains only exact depth.
Next isolate camera-depth bias and extrinsic-translation confounding, keeping this visibility treatment fixed. Before adding a nuisance bias variable, measure whether known depth offsets can be distinguished from pose changes across these scenes and whether fitting a bias harms exact-depth recovery. Include positive/negative bias, zero-bias and reference-start controls; report bias and pose separately. Freeze settings and test observability/ambiguity, not just whether training residual falls. Do not add more saturation tuning or promote solely from the 12/12 synthetic count.
Full evidence and schema preserve all methods, statuses, support and signed population counts. Seven focused tests, repository Ruff, strict documentation build, source-hash/report/call validation and exact original baseline reproduction pass. Core code and defaults are unchanged.