feat(v2): add fall event regression engine

This commit is contained in:
ila
2026-07-22 16:18:16 +08:00
parent 258fa49259
commit 1298369054
22 changed files with 1214 additions and 92 deletions
+9
View File
@@ -487,3 +487,12 @@
- 阻塞:无代码阻塞。任务验收将明确区分“提交的合成契约回归 / 本机 demo 无报警回放”与“需本机正例录像才能证实的录像级确认事件、延迟”。
- 决策:不复制或提交客户录像;先忠实复现 V1 的纯领域合约,并让回归工具接收外部本机录像和基线 JSON。
- 下一步:先为 Go Pose 后处理与事件状态机编写失败测试。
## 【2026-07-22】T-303 实现与无报警录像回归(部分完成)
- 状态:PARTIAL(代码与无报警回归完成;真实正例录像回归待本机素材)
- 变更:新增 `v2/internal/pose`(114 补边、双线性缩放后 uint8 量化、BGR→RGB/CHW、YOLOv8 Pose NMS、17 点与坐标还原)、`v2/internal/fall`(归一化中心点跟踪、姿态质量/几何证据、倒地策略、四态状态机、事件 ID)和 `v2/cmd/regression`(FFmpeg 回放→ONNX Pose→事件引擎)。`spike` 的预处理现委托给同一正式实现,ONNX Runtime session 可跨帧复用。
- 验证:Go 单元测试覆盖 letterbox 补边/通道布局、NMS 坐标还原、输入长度、事件确认、缺帧中断和持续站立不报警;`CGO_ENABLED=1 go test ./...` 通过。本机 317 帧回放:V1 为 253 个有人帧、263 人次、0 个 CONFIRMED;Go 为 255 个有人帧、265 人次、0 个 CONFIRMED。二者无报警结论一致。合成正例以同一 V1 策略/状态机合约在 1.81 秒生成一个 CONFIRMED,Go 测试同样通过。
- 阻塞:无客户或正例录像被提交;仓库也没有经同意的正例回放素材。因此不能把合成契约或无报警录像表述为真实正例的 Go/V1 等价,也不能把 T-303 标为 DONE。
- 决策:保持 T-303 为 DOING;回归命令接受本机路径,不把录像、截图、事件 JSONL、RTSP 地址或凭证写进仓库。解码器差异造成同一无报警录像的人次计数轻微差异,事件而非逐帧检测人次是当前验收基线。
- 下一步:提供或指定一段经同意、无敏感信息的本机正例录像及其 V1 输出后,运行同一命令比对确认事件与 1–3 秒延迟;通过后才可完成 T-303,继而领取 T-304。