77 lines
5.1 KiB
Markdown
77 lines
5.1 KiB
Markdown
# 需求
|
|
|
|
> 本文描述用户要获得什么以及如何验收;实现细节见 [04-architecture.md](04-architecture.md)。
|
|
|
|
## 业务现状
|
|
|
|
| 项 | 当前事实 |
|
|
| --- | --- |
|
|
| 用户 | 售前人员需要在客户现场证明系统能实时发现突发倒地并给出可见报警。 |
|
|
| 摄像头 | 海康网络摄像头,可提供 RTSP 流。 |
|
|
| 场地 | 固定机位大厅或走廊;约 1.6 米安装高度、向下俯视。 |
|
|
| 可见性 | 演示区要求人员从站立到倒地后头、躯干、膝盖和脚踝大多在画面内。 |
|
|
| 模型 | `demo/best.pt` 为 17 点人体姿态模型,不带摔倒类别。 |
|
|
| 演示动作 | 可安排成年人安全模拟摔倒,并安排行走、坐下、弯腰、捡物等反例。 |
|
|
| 时延 | 从开始倒地到报警的目标是 1–3 秒。 |
|
|
| 合规 | 不保存真实 RTSP 凭证;演示人员与视频采集须获现场同意。 |
|
|
|
|
## 用户角色
|
|
|
|
- **演示操作员**:配置本机摄像头,开始和停止监控,向客户解释事件。
|
|
- **客户观察者**:观看实时画面、报警和截图,了解适用边界。
|
|
- **研发人员**:通过录像与测试验证模型、事件逻辑和迁移一致性。
|
|
|
|
## 第一版 MVP
|
|
|
|
| 功能 | 用户获得的结果 | 优先级 |
|
|
| --- | --- | --- |
|
|
| RTSP 实时监控 | 操作员可连接一个已配置的海康 RTSP 流并看到实时画面及连接状态。 | P0 |
|
|
| 姿态与人员跟踪 | 全身可见人员显示骨架和稳定人员 ID;质量不足时明确为不确定而非报警。 | P0 |
|
|
| 突发倒地事件 | 同一人员从正常姿态快速转为倒地且持续时,在 1–3 秒内确认事件。 | P0 |
|
|
| 本地报警 | 确认事件后画面变红、播放声音、弹出窗口并保存标注截图。 | P0 |
|
|
| 安全设置与配置版本 | 操作员可在设置页编辑非敏感事件参数,保存后仅在下一次开始监控时生效,监控与事件工件显示实际配置版本。 | P0 |
|
|
| 演示回归 | 同一组正反例录像可重复验证报警、无报警和延迟。 | P0 |
|
|
|
|
## 后续迭代
|
|
|
|
| 功能 | 描述 | 阶段 |
|
|
| --- | --- | --- |
|
|
| Go 部署版 | 用 Go 复现 V1 的 RTSP、ONNX、事件与报警行为。 | V2 |
|
|
| ONNX 一致性门槛 | 对相同录像验证 Python 与 Go 的关键点、事件和时延。 | V2 |
|
|
| 多摄像头与远程通知 | 多路管理、云端事件中心、远程告警。 | V3 |
|
|
| 特定场景模型适配 | 用海康俯视数据评测后再决定微调 Pose 或训练时序分类器。 | V3 |
|
|
|
|
## 核心用户故事
|
|
|
|
1. 作为演示操作员,我可以从本机安全配置中选择一个海康 RTSP 摄像头并开始预览。
|
|
2. 我可以看到每名全身可见人员的骨架、ID 与当前状态,而不是只有一帧“摔倒/正常”文字。
|
|
3. 当成年人安全模拟从站立或行走突然倒地时,系统在 1–3 秒内对该人员显示红色状态、播放声音、弹窗并保存截图。
|
|
4. 当人员坐下、弯腰、捡物或短暂停留时,系统不把该动作确认成摔倒事件。
|
|
5. 当同一人员持续倒地时,系统保持事件状态但不重复弹窗;恢复稳定站立后可回到正常状态。
|
|
6. 作为演示操作员,我可以在设置页检查来源环境变量是否就绪、调整非敏感事件参数,并知道这些改动会在下一次开始监控时生效。
|
|
|
|
## MVP 验收标准
|
|
|
|
- **RTSP**:有效流能在启动后显示画面;断流后在界面和日志中显示连接异常,不把断流误报为摔倒。
|
|
- **可见人员**:同一人员连续出现时保持同一 ID;关键关节质量不足时不进入确认报警。
|
|
- **突发摔倒**:每段经过批准的正例录像或现场动作,报警延迟记录在 1–3 秒范围内。
|
|
- **反例**:每段坐下、弯腰、捡物和短暂停留录像均不产生确认事件。
|
|
- **报警闭环**:每个确认事件只产生一次声音和弹窗,并保存一张含时间、ID、骨架和事件状态的截图。
|
|
- **配置可追溯**:设置页不显示真实来源地址或密码;保存的草稿与正在监控的配置版本明确区分,事件记录包含实际生效的配置版本。
|
|
- **可复现性**:验收录像、配置版本、事件结果和实际命令保存在项目约定位置或 `progress.md`,可在同一机器重复运行。
|
|
|
|
## 范围与风险
|
|
|
|
| 问题 | 决策 |
|
|
| --- | --- |
|
|
| V1 平台 | Windows 本地 PyQt5 桌面应用。 |
|
|
| 数据持久化 | 不建数据库;事件截图和 JSONL 日志保存在本机目录。 |
|
|
| 摄像头数量 | V1 单路 RTSP;多路管理不在范围内。 |
|
|
| 模型 | 使用已验证的 `best.pt` 或同一录像评测后选定的 Pose 权重。 |
|
|
| 报警方式 | 画面变红、Windows 本地声音、弹窗、截图;不含短信、电话、云端通知。 |
|
|
| V2 开始条件 | V1 事件级验收通过,且导出 ONNX 与 Python 输出完成一致性验证。 |
|
|
|
|
- 俯视角、远距离或遮挡会降低膝踝关键点可靠性;必须先以现场录像验证。
|
|
- `best.pt` 的 COCO Pose 指标不是摔倒事件指标;不能据此承诺公共场所全场景效果。
|
|
- 人员安全模拟摔倒要由现场负责人决定安全方式;系统演示不要求真实无保护跌倒。
|