From pixels to position.

A small local estimator looks for one known block in color and depth. This experiment measures when it can estimate a pose—and when it should say it cannot.

Static rendered fixtures. One orange, upright, 40 mm cube. No new learned manipulation, task success, or hardware qualification. “Available” means the estimator returned a pose; it does not mean that pose is correct.

Rendered PiPER workstation fixture

All confirmation conditions

160 px: gate failed; 320 px: clear-scene gate passed. Partial occlusion is reported separately and remains unsupported.

Each row contains 16 held-out pose groups. Variants and resolutions from one group are correlated; they are not extra independent examples. Error percentiles use available estimates only, so read them alongside the coverage.

Image widthConditionAvailablePosition error p95Yaw error p95Estimator time p95
160 pxclear12/162.34 mm11.31°7.73 ms
160 pxpartial occlusion0/16——1.79 ms
160 pxtilt150/16——1.62 ms
160 pxtilt300/16——1.51 ms
160 pxabsent0/16——0.19 ms
160 pxoccluded0/16——0.44 ms
160 pxambiguous0/16——0.26 ms
160 pxinvalid depth0/16——0.02 ms
160 pxstale0/16——0.01 ms
160 pxfuture0/16——0.01 ms
320 pxclear16/161.98 mm6.36°7.58 ms
320 pxpartial occlusion0/16——6.10 ms
320 pxtilt150/16——2.01 ms
320 pxtilt300/16——1.98 ms
320 pxabsent0/16——0.52 ms
320 pxoccluded0/16——0.49 ms
320 pxambiguous0/16——0.79 ms
320 pxinvalid depth0/16——0.01 ms
320 pxstale0/16——0.01 ms
320 pxfuture0/16——0.01 ms

What this measures

RGB and depth come from the same paused native renderer. The estimator receives pixels, optical-Z depth, declared camera calibration and timing metadata. Native object pose enters only the offline evaluation after predictions are saved. Occlusion cards and duplicate objects are explicit render-only challenge geometry; these are perception fixtures, not physical manipulation trials.

Cube yaw is scored modulo 90°. Tilted objects are outside the estimator’s upright profile. Uncertainty values are geometric heuristics, not calibrated confidence bounds. Synthetic stale/future timestamps test the data contract; measured compute time does not establish sensor delivery latency or a real-time robot deadline. The renderer’s depth-accuracy limitation remains explicit.