docs(perception): record RF-DETR COCO parity evidence

This commit is contained in:
DCCONSTRUCTIONS
2026-08-26 00:45:32 +03:00
parent 62c8ed421a
commit 147a623df9
@@ -0,0 +1,111 @@
# M48T RF-DETR upstream и TensorRT parity gate
Дата: 2026-08-26
Режим: diagnostic shadow
Worker: `worker-006`, NVIDIA GeForce RTX 4090
Production acceptance: **нет**
## Решение
Полный официальный COCO val2017 gate принят. Закреплённый RF-DETR Large
checkpoint воспроизвёл опубликованное upstream-качество в официальном PyTorch
пути, а развёрнутый TensorRT engine сохранил это качество практически точно.
Диагноз: `upstream-and-tensorrt-parity-passed`.
Следовательно, наблюдавшиеся в Mission Core пропуски поведенчески значимых
объектов нельзя объяснять деградацией RF-DETR checkpoint, ONNX/TensorRT
конвертацией или декодированием TensorRT outputs. Следующий поиск должен быть в
downstream admission: class mapping, valid-FOV, confidence/area gates,
risk-class policy, temporal delivery и доменном покрытии городского источника.
## Строгий контракт
- dataset: все 5 000 изображений COCO val2017;
- categories: все официальные COCO categories;
- preprocessing: официальный RF-DETR Large, `704x704`;
- predictions: top 300, confidence prefilter `0.0`;
- custom area filtering: выключен;
- crowd handling: официальный `pycocotools.COCOeval`;
- published reference: AP@[.50:.95] `0.565`, AP50 `0.751`;
- upstream tolerance: `0.01`;
- PyTorch/TensorRT parity tolerance: `0.005`;
- navigation, safety, command и actuation authority: `false`.
## Результат
| Метрика | Официальный PyTorch | TensorRT/Triton | Абсолютная дельта |
|---|---:|---:|---:|
| AP@[.50:.95] | 0.565100 | 0.565133 | 0.000033 |
| AP50 | 0.751158 | 0.751285 | 0.000127 |
| AP75 | 0.613005 | 0.613402 | 0.000397 |
| AP small | 0.388411 | 0.389311 | 0.000900 |
| AP medium | 0.610420 | 0.610540 | 0.000120 |
| AP large | 0.740038 | 0.739485 | 0.000553 |
| Prediction count | 1 499 907 | 1 499 909 | 2 |
| Effective throughput | 35.094 FPS | 42.807 FPS | — |
| Image p95 | 36.858 ms | 30.792 ms | — |
Полный прогон занял `375.912 s`. Оба admission checks приняты:
- upstream reproduction: `passed`;
- TensorRT provider parity: `passed`.
## Immutable provenance
- profile: `m48t-rf-detr-large-upstream-coco-parity/v1`;
- report identity SHA-256:
`20a286d0190d1873d924260fc9b7c61288642e53b7206b2da81610da2989ef88`;
- result file SHA-256:
`48bb85081d733a0a839c7d1110fbf7f0da69234b45d38e5c4e85f28079883cbc`;
- checkpoint SHA-256:
`0f4e20e19a99c0f8a62b5685f57f6c8b5c371c59081feda6752a0561a79ccf38`;
- annotations SHA-256:
`e8c7f7908f1d7278341fae127d0da654f102f11bd7b21d8aeefa635b8c810b6f`;
- TensorRT engine SHA-256:
`986399ce706b7380472cf5e473232249fed6e628971d8007f6609e83128d46b8`;
- PyTorch predictions SHA-256:
`da5b895bf906ee8480405149d63a3d19f1d8af0179d9a457d5202d844dc07b9d`;
- TensorRT predictions SHA-256:
`bb3baa3997e303a467799eb0b8ed49005182d06495106d57575906087402709b`;
- runtime:
`nvcr.io/nvidia/tritonserver:26.06-py3@sha256:58df7489c3f2276f9591d500a012dee03e23d35543ce3c390b4c001e6bf90794`;
- packages: RF-DETR `1.9.4`, PyTorch `2.9.1+cu130`, torchvision
`0.24.1+cu130`, pycocotools `2.0.10`, Triton client `2.71.0`.
Worker evidence остаётся в
`D:\NDC_MISSIONCORE\runtime\results\m48t-upstream-parity\full-coco2017-val-20260825T213600Z`.
Компактная копия `result.json` и `progress.jsonl` сохранена локально в
`.runtime/worker-results/m48t-upstream-parity-coco2017-val-full-v1/`.
Канонический `ndc-mission-core-triton` до и после прогона сохранил тот же
container id и состояние `healthy`; его конфигурация не изменялась.
## Что этот gate не доказывает
- качество на RAVNOVES00 и будущих городских/полевых доменах;
- полноту классов вне COCO, включая отдельный класс самоката;
- корректность наших confidence, area и valid-FOV порогов;
- отсутствие потерь между detector output, tracker и world-state graph;
- безопасность navigation/actuation policy.
## Следующий gate
Провести downstream attribution replay на immutable RAVNOVES00: для каждого
кадра сохранить один и тот же TensorRT output и посчитать, сколько объектов и
каких risk-классов остаётся после каждой ступени:
1. raw top-300 output;
2. COCO class mapping;
3. confidence gate;
4. valid-FOV и area gates;
5. fixed risk-class qualification;
6. tracker/temporal/world-state delivery.
Это локализует конкретную ступень потери `person`, animal, light-road-user и
vehicle detections без добавления второй тяжёлой модели и без изменения FPS
critical path. После attribution можно менять только доказанно виновный gate и
повторять source-paced reference-graph load acceptance.