docs: plan v1.2 trajectory recognition workflow
This commit is contained in:
25
findings.md
25
findings.md
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user