55 lines
3.8 KiB
Markdown
55 lines
3.8 KiB
Markdown
# 当前实现状态
|
||
|
||
> 本文是可覆盖的当前快照;历史执行记录见 [../progress.md](../progress.md)。
|
||
|
||
## 当前快照
|
||
|
||
- 日期:2026-07-21
|
||
- 阶段:V1 工程化起步;T-103 已验收,等待 T-104。
|
||
- 已验证环境: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 代码:已建立安全配置基线、OpenCV 回放/重连适配器,以及 `v1/pose.py` 的 SHA-256 锁定 Pose 适配器;真实模型 smoke 已验证首帧输出 person box 和 17 点。跟踪、证据、状态机和 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` 当前有 9 项配置/视频源/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。
|
||
|
||
## 当前可运行内容
|
||
|
||
```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` 追加真实验证记录。
|