Files
silver_pose/docs/current-state.md
T

55 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 当前实现状态
> 本文是可覆盖的当前快照;历史执行记录见 [../progress.md](../progress.md)。
## 当前快照
- 日期:2026-07-21
- 阶段:V1 工程化起步;T-105 进行中。
- 已验证环境:Windows PowerShell;Python 3.8.10;Ultralytics 8.3.205;PyQt5 可导入。
- 旧生产基线:`demo/main.py`、`demo/fall_detection_gui.py`、`demo/detect_fall.py`、`demo/best.pt`。
- V1 代码:已建立安全配置、视频源与 Pose 适配器,以及 `v1/tracking.py` 的稳定人员 ID 和 `v1/evidence.py` 的质量/几何证据;状态机和 GUI 尚未实现。
- V2 代码:`v2/` 目录存在但尚无实现。
- 非代码设计工件:docs/ui/silver-pose-ui-ux-spec.md、docs/ui/2026-07-20-html-prototype-plan.md、docs/ui/silver-pose-v1-prototype.html 与 docs/ui/silver-pose-v2-prototype.html 已建立。v2 HTML 是符合正式浅色 Windows 规范的当前视觉参考:浅灰蓝底、白色卡片,红色只表示确认摔倒、其弹窗和事件证据;文件名中的 v2 只表示原型设计修订,不能理解为 Go V2 实现已开始。v1 HTML 保留为历史深色对照。两者均使用顶部双 Tab、设置草稿与状态交互,且画面、事件和时间都是模拟数据,不连接真实摄像头、模型或网络,也不改变 Phase 1 任务顺序。
- 测试:`python -m compileall -q demo` 已通过;`python -m pytest v1/tests -v` 当前有 14 项配置/视频源/Pose/跟踪/证据测试并已通过。`demo/1.mp4` 的首两帧回放时间戳已验证为 0.000000 与 0.033333 秒,首帧 Pose smoke 得到 2 名人员、每人 17 点。`init.ps1` 会检查运行时依赖、编译旧基线并运行 V1 测试,但不会安装软件包。
- 模型:`demo/best.pt` 可加载为 YOLO Pose,类别 `person`,`kpt_shape=[17, 3]`;与 `D:\PythonP\fall_detection\best.pt` 哈希一致。
- 当前标准启动:`./init.ps1`。
- 当前标准验证:`python -m compileall -q demo`。
- 当前 blocker:回归录像及事件标签尚未创建;真实海康 RTSP 流尚未接入。
全局环境的 `pip check` 存在其他项目的包冲突,因此它不是 Silver Pose 的验收命令。`init.ps1` 只检查本项目实际导入的 OpenCV、NumPy、Ultralytics 与 PyQt5,并在命令非零退出时失败。
## 当前目录要点
| 路径 | 状态 | 说明 |
| --- | --- | --- |
| `demo/` | 已有 | 旧 Python GUI、Pose 模型与样例视频;当前单帧规则不适合作为正式事件逻辑。 |
| `v1/` | 待开发 | 新 Python V1 的正式实现目录。 |
| `v2/` | 待开发 | Go V2 目录;V1 验收前不实现功能。 |
| `docs/` | 已有 | Harness Coding 文档、任务和计划。 |
| `tests/` | 不适用 | V1 测试将在 `v1/tests/` 下创建。 |
| `artifacts/` | 待创建 | 本地事件截图和 JSONL,不提交。 |
## 任务状态
- 已完成:T-000(Harness 文档与旧基线快照)、T-101(V1 安全配置基线)、T-102(视频源与录像回放)、T-103(Pose 适配器与模型校验)、T-104(跟踪与姿态质量证据)。
- 正在进行:T-105(实现按 ID 的时序摔倒状态机)。
- 下一个可领取:完成 T-105 后为 T-201。
## 当前可运行内容
```powershell
./init.ps1
Set-Location demo
python main.py
```
## 已知事实和限制
- 当前 `demo/` 的摔倒判定来自单帧、硬编码阈值和任意规则短路;界面部分阈值不会传入实际逻辑。
- 当前模型是通用 person Pose 模型,不是摔倒事件分类模型。
- 当前机器在无 GPU 条件下,对 848×480 本地样例以 640 输入运行 Pose 的测量均值约为 64.5 ms/帧;这仅是模型推理,不是端到端 RTSP/GUI 性能承诺。
- V1 的客户演示范围限于固定俯视大厅/走廊、全身大部分可见、单路本地视频。
更新本文件时,必须同步 `06-tasks.md` 的任务状态,并向 `../progress.md` 追加真实验证记录。