stillsereneflow/traffic-data-engine

GitHub: stillsereneflow/traffic-data-engine

面向自动驾驶数据的轻量级自动标注与场景理解流水线,专为 6GB 显存设计,覆盖检测、分割、交通场景标注、伪标签质量评测与长尾挖掘。

Stars: 1 | Forks: 0

# traffic-data-engine [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad5834178f7599af9fdda11629d49cae07f2997beec49821b2920eff5bfd50e7.svg)](https://github.com/stillsereneflow/traffic-data-engine/actions/workflows/ci.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](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)
标签:凭据扫描, 场景理解, 数据流水线, 自动标注, 自动驾驶, 视觉语言模型, 计算机视觉, 逆向工具