# LAB E3 — K1 rectified segmentation baseline

Date: 2026-07-20
Completed at: 2026-07-20T18:57:23.215Z
State: completed, model draft, not ground truth
Ops card: MISSIONCOR-17

## Objective

Compare an adult Cityscapes semantic model on the same immutable XGRIDS K1
evaluation pack under three input profiles:

1. valid-FOV fisheye image;
2. valid-FOV fisheye image with CLAHE;
3. factory-calibrated KB4 five-view perspective rectification with CLAHE and
   fusion back into the original fisheye coordinate system.

The experiment answers whether calibration-derived rectification is technically
valid, how much it costs, and whether it is a credible next baseline. It does not
measure accuracy because no reviewed ground truth exists yet.

## Immutable inputs and provenance

- Evaluation pack:
  `evaluation-pack-7a983bba75d46c7c260252cb2d461e1384dcb92cda9e164397e841e6ebb37789`
- Session: `20260720T065719Z_viewer_live`
- Frames: 64, image IDs 1–64, resolution 800×600
- Source: `sensor.camera.right`
- Factory calibration slot: `camera_1`
- Factory calibration content SHA-256:
  `05f3ad9b38b3a4fc95388a8ec83da83c745e217709e51787b3d5aad0969f6fa9`
- Valid-FOV generation:
  `valid-fov-mask-b4dd8ddf2b87c1d520ee8a0868c4fea062d7c14d1bae73ccabd3abe1f3acbac2`
- Valid pixels per frame: 270,606
- LAB E2 comparison draft:
  `evaluation-prelabels-4ba26bbf6eb8a49631f5caf984267e0445958540aeda2b5b0d82ca6440835cf1`

The LAB E2 draft has a legacy provenance inconsistency. Its declared identity
SHA-256 is `4ba26b…`, while a fresh canonical hash of the stored identity document
is `33292c85eb8281d68c1b444baaf0d7931c7aa84938ac1d329b89e93f3b525099`.
LAB E3 did not alter LAB E2. It independently verified the evaluation-pack
binding, the declared result/directory relationship, and the size and SHA-256 of
every one of the 64 consumed semantic artifacts. Both hashes and
`e2_prelabel_identity_consistent=false` are preserved in the LAB E3 identity.

## Calibration and preprocessing configuration

Camera-1 intrinsics (`fx, fy, cx, cy`):

```text
194.59817287616025
194.57531427932872
396.31861150187996
301.49644357408005
```

Kannala–Brandt KB4 coefficients:

```text
-0.023164451386679667
-0.0014974198594105452
-0.001039213149441563
-0.000035237331915978814
```

Rectification profile:

- projection: five perspective gnomonic views;
- views: front, left, right, up, down;
- yaw/pitch: `0/0`, `-90/0`, `90/0`, `0/90`, `0/-90` degrees;
- tile size: 768×768;
- horizontal and vertical FOV: 100 degrees;
- RGB interpolation: OpenCV linear remap;
- fused-label sampling: nearest pixel;
- overlap winner: maximum optical-axis cosine;
- contrast: CLAHE on LAB luminance, clip limit 2.0, grid 8×8.

Measured geometry coverage:

- valid pixels covered: 270,606 of 270,606;
- coverage: 100%;
- views covering one valid pixel: minimum 1, maximum 3, mean 1.190099259;
- uncovered valid pixels: 0.

## Model and software identity

- Model: `tue-mps/cityscapes_semantic_eomt_large_1024`
- Architecture: `EomtForUniversalSegmentation`
- Revision: `8d6b6d1a3f7b50d441afd7d247c2ed10db186e8f`
- Precision: FP16 autocast
- Batch size: 1
- Model weights: 1,276,175,488 bytes, SHA-256
  `c265da9a74f58f5c3f4826d23ca4ca78beac0b106cca5842beca61580de5b782`
- Config SHA-256:
  `7f4aa94fa4e43c0dbd79a5420edb511120aef62bd82bfbcbcece79948286a650`
- Preprocessor SHA-256:
  `97e2fbf7f0bdba2cfc90251c5133bae9c27ddc9c4410509f40670be2332854e7`
- OpenCV distribution: `opencv-python-headless==4.13.0.92`
- OpenCV runtime module: `4.13.0`
- Transformers: `4.57.6`
- PyTorch: `2.13.0+cu130`
- CUDA runtime: `13.0`
- Container: existing `nvcr.io/nvidia/tritonserver:26.06-py3`; no image pull
- Profile SHA-256:
  `ea583966bc3409f5cf563cbf4fad05e366907e67187082eb692aff53d9f5d875`
- Dependency identity SHA-256:
  `4eb1f8d33236806e74f9e5bb96b7dce2ac37623dc39b2184be2aa8d7d00e983e`
- Final runner SHA-256:
  `01881862d4eaa218955f776a948124bf19c34be2b5ec282115daeacb15c53ae6`

The Cityscapes labels were mapped into the existing Mission Core 0–15
perception taxonomy. Outputs outside the admitted K1 valid FOV were forced to
category 0.

## Execution topology

The comparison was deliberately sequential so each profile has isolated timing:

```text
frame
  -> EoMT on fisheye mask
  -> CLAHE -> EoMT on fisheye mask
  -> KB4 remap of five views -> CLAHE -> five sequential EoMT calls
  -> nearest-label fusion into the raw fisheye coordinates
  -> masks, preview, metrics, and telemetry
```

There were seven model evaluations per frame and 448 evaluations for the full
pack. No software GPU-utilization or power cap was applied. The experiment did
not batch or parallelize the five rectified views; that is a future optimization,
not part of the present baseline.

## Full-run results

Immutable result:
`e3-segmentation-01bd497c44c2b940add145ec784d3418010327bce0baddd4420b0925317e8a16`

| Variant | Mean end-to-end/frame | Mean forward | Approx. standalone throughput | Mean change vs E2 draft |
|---|---:|---:|---:|---:|
| EoMT fisheye mask | 121.02 ms | 98.64 ms | 8.26 FPS | 16.44% pixels |
| EoMT fisheye + CLAHE | 127.41 ms | 99.10 ms | 7.85 FPS | 16.51% pixels |
| EoMT KB4 cubemap5 + CLAHE | 341.97 ms | 267.39 ms across 5 views | 2.92 FPS | 18.13% pixels |

Additional timing facts:

- full comparison wall time: 46.170785 seconds;
- average full comparison time: 721.42 ms/frame including all three variants,
  preview/mask encoding, metrics, and telemetry;
- five-view rectification preprocessing: 22.60 ms/frame mean;
- five-view label fusion: 3.03 ms/frame mean;
- one rectified tile forward: 53.48 ms mean, 65.85 ms p95;
- raw-vs-cubemap pixel disagreement: 8.24% mean, 5.80% median, 24.66% p95,
  36.76% maximum.

The largest raw/cubemap difference occurs at image 59 / frame 4224. The
near-structure temporal clip (images 60–63, frames 4433–4436) contributes four
of the next five largest differences. This is the correct area to prioritize in
human review: extreme distortion and nearby planar structures are precisely
where projection choice changes the model most.

## GPU, CPU, memory, and disk

Worker GPU: NVIDIA GeForce RTX 4090, compute capability 8.9.

- process CUDA peak allocated: 2,099.8 MiB;
- process CUDA peak reserved: 2,840.0 MiB;
- total board memory used, including pre-existing services: 13,406 MiB max,
  13,396.9 MiB mean;
- GPU utilization: 72.34% mean, 91% max;
- GPU memory-controller utilization: 27.38% mean, 41% max;
- GPU power: 288.88 W mean, 334.09 W max;
- GPU temperature: 55.94°C mean, 61°C max;
- process peak RSS: 2,097.14 MiB;
- GPU telemetry samples: 47 at one-second intervals.

All task-controlled persistent artifacts are on `D:\NDC_MISSIONCORE`:

| Artifact group | Bytes | MiB |
|---|---:|---:|
| Pinned E3 model cache | 1,276,294,838 | 1,217.17 |
| Pinned OpenCV environment | 211,776,082 | 201.97 |
| Four-frame pilot | 2,040,795 | 1.95 |
| Full 64-frame result | 7,924,484 | 7.56 |
| Total | 1,498,036,199 | 1,428.64 |

Final D: free space was 414,903,472,128 bytes (386.409 GiB), 26.409 GiB above
the enforced 360 GiB floor. No task-controlled C: path was created or mounted.
The report does not claim to measure incidental internal writes by Windows or an
already configured Docker Desktop engine.

## Visual findings

1. The factory KB4 geometry is usable now. The five views are upright, have the
   expected content, and fuse back without missing valid pixels.
2. EoMT produces visibly cleaner road, grass, building, person, and vehicle
   regions than the LAB E2 BEiT draft on the inspected samples.
3. CLAHE changes the global result very little while adding about 6.4 ms/frame.
   It is not justified as the default from this unreviewed proxy alone.
4. Cubemap5 often improves separation of people, cars, and rectified planar
   surfaces, especially where raw fisheye distortion is severe.
5. Hard winner-take-all fusion creates local seam/checker artifacts, most visible
   near the lower rim, the sun/sky, and close structures. Cubemap5 should not be
   promoted to the default without seam-aware fusion and reviewed accuracy.
6. Cityscapes has no explicit dirt, animal, or general other-background output in
   this mapping. That limits this model as a complete forest/off-road taxonomy.

## Integrity and acceptance status

- 211 of 211 listed output artifacts were rehashed successfully after transfer.
- 192 of 192 semantic masks were checked.
- Every semantic value was within categories 0–15.
- Every pixel outside the valid-FOV mask was category 0.
- Four-frame pilot and full-run outputs are immutable and separately identified.
- Outputs remain `ground_truth=false`.
- No mIoU, AP, distance accuracy, 3D geometry, tracking, or safety claim is made.

## Engineering gates encountered

The following preflight failures happened before a result was accepted and are
preserved as part of the laboratory history:

- Git revision and SHA-256 were initially treated as the same hash shape;
- the OpenCV package version `4.13.0.92` differs from runtime `cv2` version
  `4.13.0`;
- Hugging Face snapshot files are symlinks into a content-addressed blob store;
- the initially recorded weight SHA was replaced by the independently measured
  blob SHA-256 `c265…`;
- EoMT processor output includes a non-tensor `task_inputs` field;
- LAB E2 contains the identity inconsistency documented above;
- a PowerShell full-run expected-frame lookup initially read the wrong JSON
  level. That technical run was stopped, its exact transient container was
  removed, its staging was cleaned, and no result was published.

These were fail-closed contract checks, not model failures.

## Decision and next gate

The current evidence supports this decision:

- keep plain EoMT fisheye-mask as the speed/quality control baseline;
- keep cubemap5 as the calibration-derived challenger;
- do not make CLAHE the default yet;
- do not select a production winner from proxy disagreement or visual inspection;
- review the high-disagreement and temporal frames in CVAT, export reviewed masks,
  and calculate class-wise IoU, boundary IoU, temporal stability, and object-class
  recall before changing the default pipeline;
- if cubemap5 survives reviewed accuracy, replace hard view selection with
  overlap-aware/logit fusion and then test batched five-view inference.

3D cuboids, LiDAR association, distance accuracy, and point-cloud segmentation
remain outside LAB E3 and should use the reviewed 2D baseline as an input to the
next dedicated experiments rather than being mixed into this result.

## CVAT review handoff

The control and challenger were converted into deterministic CVAT Segmentation
Mask 1.1 packages and imported into the existing D-hosted CVAT v2.70.0 instance.
The original 64-frame image archive is reused and was not duplicated.

- Workspace:
  `e3-cvat-review-ca599521e345446ca8e9af5a9013062099278e7317f83ff89740c6b092ddc52f`
- Workspace manifest SHA-256:
  `5e1b318d31431c2081c169235ec877693591ef2b05bbebab61c72061bc1621d9`
- CVAT import report SHA-256:
  `fe0933efc3a5bb1bcb7b995bb1241b308e7a860113cd7a97351aedfbd43c9b64`
- [Task 3 — EoMT fisheye control](http://localhost:18080/tasks/3): 64 frames,
  5,284 imported shapes.
- [Task 4 — EoMT KB4 cubemap5 challenger](http://localhost:18080/tasks/4): 64
  frames, 5,762 imported shapes.
- Both task pages returned HTTP 200 through the existing SSH tunnel.
- Both tasks remain model drafts and `ground_truth=false`.
- Review priority by measured raw/cubemap disagreement: image IDs
  `59, 63, 62, 61, 60, 64, 50, 30, 17, 29`.
- Review bundle size on D: 1,390,051 bytes.
- Post-import D: free space: 414,762,061,824 bytes (386.277 GiB), 26.277 GiB
  above the enforced floor.

The required human sequence is still two passes: correction/completeness first,
then independent consistency review. Importing the drafts does not complete that
gate and does not convert either task into ground truth.

## Durable paths

Worker full result:

```text
D:\NDC_MISSIONCORE\runtime\derived\e3-segmentation\e3-segmentation-01bd497c44c2b940add145ec784d3418010327bce0baddd4420b0925317e8a16
```

Local evidence copy:

```text
.runtime/compute-experiments/e3/full/e3-segmentation-01bd497c44c2b940add145ec784d3418010327bce0baddd4420b0925317e8a16
```

The `result.json`, `run-report.json`, 16 comparison previews, rectification
atlas, 192 semantic masks, and GPU telemetry are contained in that result.
