docs: plan v1.2 trajectory recognition workflow

This commit is contained in:
Yoilun
2026-05-29 15:18:58 +08:00
parent ac6d368810
commit 5f518991bf
6 changed files with 290 additions and 0 deletions

View File

@@ -52,6 +52,31 @@
Use `阶段 x` only as a workflow stage inside the same `v1.1 优化改造` batch.
## v1.2 轨迹识别 Findings
## Architecture
- `main.py` 当前每轮从 RTSP 截一帧,调用 `ZoneOccupancyDetector.observe()` 得到 `zone_counts``trash_deposit_count``diagnostics`,再构造 `Observation``BatchEngine.process()`
- `vision.py` 当前只有区域占用和垃圾桶动作计数,没有从“来源区域到垃圾桶”的轨迹证据。
- `engine.py` 当前先处理 pending 过期和旧 trash deposit再处理区域转移最后对同帧剩余 trash deposit 做兜底;这为同帧 evidence 处理提供了插入点。
- `models.py``Observation` 是最适合扩展统一 evidence contract 的位置。
- v1.2 设计规格已保存并提交:`docs/superpowers/specs/2026-05-29-lightweight-trajectory-yolo-ready-design.md`commit `ac6d368`
## Constraints
- 第一版必须在无 YOLO 依赖下运行。
- 轨迹检测只应在区域变空后的短窗口活跃,避免持续 CPU 压力。
- 垃圾桶内部不可见;确认点是进入垃圾桶口 ROI不是看到桶内物品。
- 不能让一个来源区域的 evidence 关闭另一个区域的 pending batch。
- 远端部署必须继续排除 `config/example.toml`,以保留 RTSP 和现场标定。
## Decisions
- 新字段命名为 `disposal_evidence`,元素使用 `source_zone_id``target``confidence``method``track_points`、可选 `item_class``detector_score`
- `trash_deposit_count` 保留兼容和兜底,但 engine 先使用 zone-scoped evidence。
- 轨迹诊断必须记录 active、emitted、rejected、expired方便现场调参。
- 后续 YOLO 模型只作为 evidence 增强输入,不能修改 `BatchEngine` 的业务语义。
## Backend Planning Notes
- `EngineSettings.zone_ids` should remain config driven; numeric zones are preferred for new configs, but old `r1c1` style IDs should continue loading.