62 lines
2.9 KiB
Markdown
62 lines
2.9 KiB
Markdown
# Silver Pose
|
|
|
|
Silver Pose 是一个面向固定机位大厅或走廊的本地摔倒事件演示系统。目标是向客户演示“RTSP 实时视频 → 人体姿态与人员跟踪 → 突发倒地事件 → 红色画面、声音、弹窗和事件截图”的完整闭环。
|
|
|
|
> 当前阶段是重新建立工程化 V1。旧代码保留在 `demo/` 作为可运行基线;`v1/` 将存放 Python 正式实现;`v2/` 将在 V1 验收后存放 Go 部署实现。
|
|
|
|
## 项目结构
|
|
|
|
```text
|
|
silver_pose/
|
|
├── demo/ # 旧 Python 演示基线,含 best.pt 与样例视频
|
|
├── v1/ # Python V1(待任务 T-101 创建)
|
|
├── v2/ # Go V2(V1 验收后才开始)
|
|
├── docs/ # Harness Coding 文档
|
|
├── AGENTS.md # AI coding agent 入口
|
|
├── CLAUDE.md # Claude 薄入口
|
|
├── init.ps1 # Windows 统一启动与基础验证入口
|
|
└── progress.md # 只追加执行流水
|
|
```
|
|
|
|
## V1 启动与验证
|
|
|
|
在 Windows PowerShell、仓库根目录运行:
|
|
|
|
```powershell
|
|
./init.ps1
|
|
```
|
|
|
|
它会检查当前 Python 环境、编译旧 `demo/` 基线并运行 V1 测试。首次部署先安装锁定依赖:
|
|
|
|
```powershell
|
|
python -m pip install -r v1/requirements.txt
|
|
```
|
|
|
|
将 `v1/config.release.example.json`(发布包中生成)或 `v1/config.example.json` 复制为未跟踪的 `v1/config.local.json`,仅在本机填写摄像头来源与凭证。然后启动 V1:
|
|
|
|
```powershell
|
|
python -m v1.app
|
|
```
|
|
|
|
运行 GUI 或 RTSP 演示前,必须在本机准备已安装的 PyQt5、OpenCV、NumPy、Ultralytics 与 Pillow 环境。真实 RTSP 凭证、客户视频、截图和 JSONL 事件工件不得提交。
|
|
|
|
## 客户演示与发布包
|
|
|
|
客户演示步骤、证据复查和适用边界见 [docs/demo-runbook.md](docs/demo-runbook.md)。构建发布包时,模型必须提供受控 SHA-256;脚本只复制 V1 代码、公开示例、运行手册和锁定模型,不复制本地配置或事件工件:
|
|
|
|
```powershell
|
|
$modelSha = (Get-FileHash -Algorithm SHA256 demo/best.pt).Hash.ToLower()
|
|
pwsh -File v1/scripts/build-v1-release.ps1 -ModelPath demo/best.pt -ModelSha256 $modelSha -Output dist/SilverPose-V1
|
|
python -m v1.release verify --package dist/SilverPose-V1
|
|
```
|
|
|
|
发布包和现场演示仅覆盖固定俯视、全身大部分可见、单路大厅或走廊;`best.pt` 是人体姿态模型,不是摔倒分类器,也不构成医疗级或全场景可靠性承诺。
|
|
|
|
## 文档入口
|
|
|
|
所有 agent 从 [docs/00-ai-start-here.md](docs/00-ai-start-here.md) 开始。人类可从 [docs/README.md](docs/README.md) 查看完整导航。
|
|
|
|
## 模型说明
|
|
|
|
`demo/best.pt` 是与 `D:\PythonP\fall_detection` 训练工程中 `best.pt` 哈希一致的 YOLOv8 Pose 权重:1 个 `person` 类,17 个 COCO 关键点。它提供姿态,不提供“摔倒”标签;摔倒由 V1/V2 的质量门控、跟踪和时序状态机判定。
|