stillsereneflow/traffic-data-engine
GitHub: stillsereneflow/traffic-data-engine
面向自动驾驶数据的轻量级自动标注与场景理解流水线,专为 6GB 显存设计,覆盖检测、分割、交通场景标注、伪标签质量评测与长尾挖掘。
Stars: 1 | Forks: 0
# traffic-data-engine
[](https://github.com/stillsereneflow/traffic-data-engine/actions/workflows/ci.yml)
[](LICENSE)
一个面向驾驶数据的自动标注与场景理解 pipeline,专为在单张消费级 GPU(6 GB 显存)上运行而设计。输入原始驾驶图像;输出可审查的伪标签、交通领域场景标签以及标签质量指标。
[中文简介](#中文简介)
## Pipeline
```
images ──> detect ──> segment ──> tag ──────> Frame JSON ──> eval (vs GT)
(Grounding (SAM, (Qwen2.5-VL └─> mine (CLIP
DINO, boxes -> + taxonomy embedding
open-vocab) masks) prompts) search)
```
| 阶段 | Backbone | 状态 |
| --- | --- | --- |
| 核心数据模型、从零实现的 mAP、标签体系与 prompt | 仅使用 numpy | ✅ M1 |
| `detect` — 开放词汇检测 | Grounding DINO (tiny) | 🚧 M2 |
| `segment` — 基于 box prompt 的掩码 | SAM (ViT-B) | 🚧 M3 |
| `tag` — 场景/意图/违规标注 | Qwen2.5-VL 3B (4-bit) | 🚧 M4 |
| `mine` — 长尾检索 | CLIP ViT-B/32 | 🚧 M5 |
架构与里程碑:[docs/DESIGN.md](docs/DESIGN.md)。
## 差异化特性
**经过审校的交通领域标签体系,而非临时的 prompt。** 场景标签集([configs/taxonomy.yaml](configs/taxonomy.yaml))的编写考虑了交通工程实践——道路功能分类、交叉口控制类型、弱势道路使用者交互以及违规类别——并且每个标签都包含了 VLM 在选择它之前必须看到的视觉证据:
```
- name: pedestrian_about_to_cross
zh: 行人欲穿越
hint: pedestrian at the curb facing traffic, waiting or stepping off
```
VLM 的响应必须是严格的 JSON,并会根据标签体系进行验证;无效的标签会被*拒绝并报告*,从而确保自动标签保持可审计性。
**透明的指标。** 平均精度(Average precision)使用纯 numpy 从零开始实现(贪心匹配,101 点插值),并针对手工计算的精确率-召回率用例进行了单元测试——这些伪标签质量数据您可以在调试器中单步调试查看。
## 快速开始
```
pip install -e .[dev]
pytest -q # 30 tests, no GPU or model downloads required
ruff check .
```
GPU pipeline 阶段通过 `pip install -e .[models]`(PyTorch, transformers)安装,并在首次使用时下载其 checkpoint。
## 项目布局
```
configs/ taxonomy.yaml — the reviewed tag set
src/traffic_data_engine/
schema.py Frame/Detection JSON data model
boxes.py, rle.py numpy box ops and COCO-style RLE masks
evaluate.py from-scratch AP / mAP
taxonomy.py taxonomy loading + validation
prompts.py VLM prompt builder + response validation
tests/ unit tests for everything above
```
## 中文简介
面向自动驾驶数据闭环的自动标注与场景理解流水线,为单张消费级显卡(6GB 显存)设计。流水线分五级:开放词汇检测(Grounding DINO)→ 框转掩码(SAM)→ 场景/意图/违规标签(Qwen2.5-VL + 交通领域标签体系)→ 伪标签质量评测(纯 numpy 手写 mAP,手算用例验证)→ 长尾场景挖掘(CLIP 检索)。
本仓库的差异化在于**标签体系是一份经过交通工程视角审校的工件**(`configs/taxonomy.yaml`,双语):场景类型对应道路功能分类、交通控制对应交叉口控制方式、弱势交通参与者与风险行为对应安全分析中的交互/违法分类,每个标签都定义了 VLM 必须看到的视觉证据;模型输出经严格校验,非法标签会被拒绝并记录,保证自动标注可审计。
## License
[MIT](LICENSE)
标签:凭据扫描, 场景理解, 数据流水线, 自动标注, 自动驾驶, 视觉语言模型, 计算机视觉, 逆向工具