feat: Unified Ingest SDK for DMS/ADAS promote, cuboid export and 3D fit

Replace subprocess build with promote_batch SDK, add ADAS cuboid export/fit/validate pipeline, stage normalization, and offline unit tests wired into smoke_labeling_api.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-16 09:58:35 +08:00
parent bc653d53a1
commit 0b8ade048e
42 changed files with 2074 additions and 104 deletions

60
docs/ADAS_MOON3D_PACK.md Normal file
View File

@@ -0,0 +1,60 @@
# ADAS MOON-3D 训练包 `adas_moon3d_v1`
## 目录结构
```text
datasets/adas/packs/adas_moon3d_v1/
├── sources/{batch}/
│ ├── images/
│ ├── calib/
│ └── labels/quaternion_json/
├── lists/
│ ├── train_stems.txt
│ └── val_stems.txt
└── manifests/
└── pack_index.yaml
```
## class_idBK2/MOON 顺序)
| ID | 类别 |
|----|------|
| 0 | pedestrian |
| 1 | car |
| 2 | truck |
| 3 | bus |
| 4 | motorcycle |
| 5 | tricycle |
| 6 | traffic cone |
定义于 [`data/送标/adas/adas.registry.yaml`](../../data/送标/adas/adas.registry.yaml) 与 [`datasets/labeling.registry.yaml`](../datasets/labeling.registry.yaml)。
## 管线
1. **labeling_export** — CVAT ls_annotations → `labels/quaternion_json/*.json`
2. **cuboid_fit_3d**(有 calib 时自动触发)— 补全 3D 字段
3. **build_adas**(审核)— `promote_batch` 复制到 pack + 刷新 stem 列表
## CLI
```bash
# 导出(平台 Job 或脚本)
PYTHONPATH=platform python3 -c "from as_platform.labeling.export_cuboid_batch import export_batch; ..."
# 3D 拟合
PYTHONPATH=platform python3 -c "from as_platform.labeling.fit_cuboid_batch import fit_batch; ..."
# 入包
python as.py build adas cuboid_7cls --batch val_front6mm_pilot --pack adas_moon3d_v1
```
## Smoke
```bash
bash scripts/smoke_adas_promote.sh
```
## 与 dms/packs/adas_v1 的区别
- `dms/packs/adas_v1`2D YOLO 历史包([`scripts/organize_adas.py`](../scripts/organize_adas.py)
- `datasets/adas/packs/adas_moon3d_v1`MOON-3D quaternion_json 3D GT

View File

@@ -10,8 +10,12 @@
|------|------|-----------------|
| `raw_pool` | 待标注原图 | 有 `images/`,无 `labels/` |
| `out_for_labeling` | 送标中 | 已 open Campaign |
| `returned` | 回传待入库 | 有 `images/` + `labels/`YOLO txt |
| `ingested` | 已入库 | 已进入 pack/sources 或 Lane gt |
| `returned` | 回传待 build | 有导出产物DMS: YOLO txtADAS: quaternion_json |
| `ingested` | 已入库 | 已进入 pack/sources`promote_batch` |
**协调员 QA 门禁路径(推荐):** 标完 → **提交质检** (`in_review`) → 质检通过 (`labeling_submitted`) → **执行导出**`returned`**提交 build**(审核)→ `ingested`
ADAS cuboid 详见 [ADAS_MOON3D_PACK.md](./ADAS_MOON3D_PACK.md):导出 → 可选 `cuboid_fit_3d``build_adas``adas_moon3d_v1`
**登记 meta**`更多操作` 内)只写入 `batch.meta.yaml`**不等于**已送标。