Files
silver_pose/docs/06-tasks.md
T
ilaandClaude Opus 4.8 6e69518742 feat(v1): latest-frame-only reader thread for low-latency RTSP
Adds _FrameGrabber which decodes in a background thread and keeps only the
newest frame; VideoSource drop_stale (STREAM only) returns the latest frame
so a slow consumer never builds a backlog. app enables it for streams.
REPLAY is unchanged. 82 tests pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-22 00:04:00 +08:00

6.0 KiB
Raw Blame History

任务看板

一次只领取第一个依赖满足的 TODO。任务标为 DONE 前必须有真实验证命令和 progress.md 证据。

状态:TODO 待开始 · DOING 进行中 · DONE 已验收 · BLOCKED 受阻

已完成的基线

ID 任务 依赖 验收要点 状态
T-000 建立 Harness Coding 文档与旧基线快照 - demo/ 编译通过;模型任务与关键点格式已检查;文档记录真实范围与下一步。 DONE

Phase 1 · Python V1 地基与最高风险

ID 任务 依赖 验收要点 状态
T-101 创建 V1 包、依赖清单、示例配置和忽略规则 T-000 v1/ 可导入;真实 RTSP 凭证被拒绝提交;pytest 能运行。 DONE
T-102 实现可重连的视频源与录像回放适配器 T-101 有效本地录像可按时间戳产帧;无效源进入连接错误状态且不崩溃。 DONE
T-103 实现 Pose 适配器与模型来源校验 T-102 输出 person box、17 点和置信度;错误模型或哈希不符时给出明确错误。 DONE
T-104 实现人员跟踪与姿态质量门控 T-103 连续人员维持 ID;低质量、缺失膝踝或空帧不会产生倒地候选。 DONE
T-105 实现按 ID 的时序摔倒状态机 T-104 正例在配置秒数内确认;坐下、弯腰、短时低姿态回到 NORMAL;事件副作用只触发一次。 DONE
T-106 装配事件管线与固化事件契约 T-105 Pose → 跟踪 → 质量/几何证据 → 领域规则 → 按 ID 状态机可回放运行;缺失/低质量证据会中断确认;全部公开事件参数生效;事件可追溯运行配置版本;录像 EOF 不会重放。 DONE

Phase 2 · V1 演示闭环

ID 任务 依赖 验收要点 状态
T-201 实现 PyQt 顶部双 Tab 的监控与设置界面 T-106 实时监控 Tab 显示视频、骨架、ID、NORMAL/SUSPECT/CONFIRMED 和连接状态;设置 Tab 只编辑非敏感草稿并明确下次启动生效;UI 不直接执行事件计算。 DONE
T-202 实现本地报警、弹窗、截图和 JSONL 日志 T-201 CONFIRMED 产生一次声音、一次弹窗、一张带标注截图和一条事件日志。 DONE
T-203 接入海康 RTSP 与断流恢复 T-202 现场有效流可预览;断流状态明确、可重连且不报警。 DONE
T-204 建立正反例录像回归与现场验收记录 T-203 摔倒、行走、坐下、弯腰、捡物和持续倒地都有预期结果;报警延迟记录在 1–3 秒。 DOING
T-205 固化客户演示脚本与 V1 发布包 T-204 可按文档完成演示脚本,所有证据可复查,适用边界显示给操作员。 BLOCKED
T-206 结构化摄像头配置、连接测试与设置页预览 T-201 配置支持 host/端口/通道/账号/密码 结构化来源并拼出 RTSP(凭证百分号编码);公开示例保持无凭证、config_version 不含凭证;设置页可掩码输入、点击测试连接,连通后抓拍一帧显示在预览区。 DONE
T-207 抓流低延迟参数进配置与设置页 T-206 配置支持 transport(tcp/udp)/连接超时/低延迟,程序拼 OPENCV_FFMPEG_CAPTURE_OPTIONS 并在开流前注入;设置页用下拉/数字/勾选而非原始字符串;启动可不依赖 run 脚本设环境变量。 DONE
T-208 每帧摔倒判定诊断叠加 T-201 管线暴露每人策略证据;实时画面角落叠加每人 accepted/horizontal/角度/rapid/candidate/state(拒绝时显示原因),便于定位真实摔倒未确认卡在哪一步;诊断字符串构建 Qt-free 可测。 DONE
T-209 放宽俯视场景摔倒判定灵敏度(可配置) T-208 判定灵敏度参数化:require_rapid_drop(默认关)、require_lower_body(默认关)、horizontal_angle_threshold_degrees(默认放宽);默认下持续水平即可进入疑似,仅靠确认窗防误报;参数进 config 与 config_version,逻辑可测。 DONE
T-210 修复截图标注乱码(cv2 ASCII 文字) T-202 截图标注文字改为纯 ASCII(cv2.putText 只支持 ASCII),去掉非 ASCII 分隔符导致的乱码;实时画面标签不变;ASCII 标签逻辑可测。 DONE
T-211 检测灵敏度参数进设置页 T-209 设置页可编辑 require_rapid_drop/require_lower_body/horizontal_angle_threshold_degrees/confirm_window_seconds(下拉/数字/勾选),保存写回未跟踪 config.local.json、下次启动生效;写回逻辑可测。 DONE
T-212 实时流只处理最新帧降延迟 T-203 STREAM 后台读帧只保留最新帧、丢弃积压,实时延迟不随推理速度增长;REPLAY 逐帧不丢;最新帧保留逻辑可测。 DONE
T-213 截图中文标注(Pillow) T-210 CONFIRMED 截图可用中文标注(如“确认摔倒 P-0001”);缺 Pillow/字体时回退 ASCII 不崩溃;标签与回退逻辑可测。 TODO

Phase 3 · Go V2 迁移门槛与实现

ID 任务 依赖 验收要点 状态
T-301 锁定 V1 模型并导出 ONNX 一致性工件 T-205 记录 .pt 与 ONNX 哈希、输入尺寸、导出命令;同一帧关键点与 Python 在约定容差内。 TODO
T-302 完成 Go 推理与视频/UI 技术 Spike T-301 Windows 上可读取录像和 ONNX Pose;选定运行时与 UI 方案并记录取舍。 TODO
T-303 实现 Go 的事件引擎与 V1 回归对比 T-302 同一录像的确认事件、无报警案例和延迟满足 V1 基线。 TODO
T-304 完成 Go 实时演示、报警和打包 T-303 实时 RTSP、红色画面、声音、弹窗和截图可运行;新环境按文档启动。 TODO

Backlog

  • V3 多摄像头管理、远程通知和事件中心。
  • 海康俯视场景数据评测后决定 Pose 微调或时序模型训练。
  • GPU / TensorRT 等硬件专用优化,仅在 V2 CPU 结果不能满足验收时评估。