Files
yovision/docs/02-requirements.md
T
QiuSW e18a1ea83b
Harness governance / validate (push) Has been cancelled
Harness governance / validate (pull_request) Has been cancelled
docs(design): apply Sense prototype review
2026-08-04 10:05:56 +08:00

124 lines
8.1 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.
# 需求
> 本文是 agent 实现入口,完整需求编号、推导和风险见 `docs/raw/01-需求收集.md` 与 `docs/raw/02-需求分析.md`。
## 1. MVP 范围
首个可交付 MVP 覆盖 M0–M3:
1. ONVIF/RTSP 摄像头批量接入、校时、探活、断线重连和设备台账。
2. MediaMTX 媒体路由与可收敛的控制面对账。
3. 默认 16 路的推理、规则、事件证据和预警闭环。
4. 多租户/RBAC 的最小隔离、事件不可变存储、审计。
5. 预警 ack、超时升级、双路径投递、限时静默和重启续跑。
6. 误报标记与样本回流。
交付边界已定为客户侧私有化部署的 S2 民办寄宿学校,默认 16 路高风险点位;代码保留 SaaS-ready 租户边界。M1–M3 只接 ONVIF/RTSP,只验证 NVIDIA x86/Jetson 主路径,不包含 GB/T 28181、信创适配、人脸或独立原生 App。
## 2. 当前 M0 验收
- 在隔离实验室运行 MiBeeNvr 等现成测试台,不改 `_reference/`,不接真实客户摄像头。
- 选择 3–5 款候选摄像头,逐款通过 `GetProfiles`、`GetStreamUri`、`SetSystemDateAndTime`。
- 记录断线恢复、认证失败、时间漂移、主/子码流和厂商差异,形成采购白名单。
- 执行 `raw/01-需求收集.md` §8 已批准的决策台账;只将明确记录的下游法务、客户、硬件和供应商门禁留到对应里程碑。
- M0 代码与临时配置可丢弃,不作为生产基线;可借鉴范围严格遵循 NVR 白名单。
## 3. P0 功能要求
### 3.1 接入与设备
- 支持标准 ONVIF/RTSP,不绑定摄像头品牌。
- 台账与管理端以“设备”为根实体,使用 `modality` 表达 video / radar / contact / button / wearable / other,并使用 `capabilities` 决定是否展示画面、媒体、空间配置、遥测等能力;M1~M5 只完整实现 video 适配器,M6 再接入非视频设备,但不得因此把数据模型和一级信息架构写死为摄像头。
- 支持 NAT 后的边缘主动推流;设备身份使用稳定序列号而非 IP。
- 批量开通不依赖逐路手工操作,支持待激活中间态。
- 探活、离线告警、开通校时、断线自动恢复。
- 容量写入时校验站点配额;配额服务不可用时拒绝新增/启用,但不影响已有流。
- 隐私准入策略属于 Area,使用 `capture_policy = video_allowed | non_imaging_only`;Sense 在设备新增/启用时依据设备成像能力校验。策略读取失败时拒绝新的成像设备变更并告警,已有链路不静默停用或伪装为已收敛。
### 3.2 分析与规则
- 检测能力与场景解耦;规则位于推理之后、告警之前。
- 支持目标类型、属性/身份、区域、时段、行为和持续时长组合。
- 支持多边形区域、方向性警戒线和租户/站点/设备三级覆盖。
- ReID 是默认同一性手段;人脸识别按租户授权、默认关闭,失败时降级而非漏报。
### 3.3 事件与证据
- 规则命中生成事件实例:结构化数据、抓拍和含 pre-roll 的视频片段。
- 事件与预警分离;事件不可变,误判只追加/更新处置结果,不改写事实。
- 支持设备冷却、站点聚合、已处置抑制和误报反馈。
- Brain → Bell 必须符合冻结的事件契约 v0.1 和代码级断言。
### 3.4 预警与处置
- 预警必须有 ack;未 ack 自动升级,进程重启后能续跑。
- 升级链、超时、联系人和时段可按租户/站点配置。
- 至少两条独立投递路径,其中一条可绕过互联网。
- 区分已发出、已送达、已看到;没有回执不能当成功。
- 静默必须限时且自动恢复,单次不超过 4 小时,无永久静默。
- 业务预警与运维告警使用不同通道和值班配置。
### 3.5 平台、安全与运维
- 多租户数据、账号、配置和存储隔离;最小 RBAC 为平台管理员、租户管理员、站点管理员、值班员、只读。
- 全链路审计,预警生命周期可追溯。
- Prometheus/Grafana 至少覆盖设备在线、流状态、推理延迟、事件量、未收敛项和投递 SLA。
- 断网时边缘缓存事件,恢复后补传。
- 不在代码、日志、证据文件名和工单中泄露摄像头凭据、客户名或敏感地址。
### 3.6 管理端与外部集成
- Bell 自研并持有事件、Alert、ack、升级链、租户和审计真相;客户既有平台不得成为这些状态的唯一真相源。
- 对外使用版本化 OpenAPI/Webhook;M3 客户端为值班室 Web + 响应式移动 H5,可嵌入客户系统。
- 投递层必须使用供应商无关的 provider 接口;试点至少有本地声光/Web 与一条短信或语音,生产前补齐两条独立路径及故障切换。
## 4. 容量与性能
| 维度 | 默认交付 | 本阶段上限 | 验收方式 |
| --- | ---: | ---: | --- |
| 站点视频配额 | 16 路 | 128 路 | 配置项 `site.max_video_channels`,Bell 持有、Sense 执行 |
| 媒体 | 1 个初始分片 | 建议 4 个起步 | 码率、连接、重连和单分片故障隔离实测 |
| 推理 | 1 个逻辑分片起步 | 最多 8 个 16 路逻辑分片 | 模型、分辨率、FPS、batch、硬件实测 |
| UI | 16 路默认视图 | 128 路站点 | 分页/虚拟列表/筛选/批量操作;不一次加载全部视频 |
硬约束:
- 16 是默认配额,不得写死到数据库约束、数组、循环、规则、分页或批量操作中。
- 128 路不等于单机能力。接入/录像带宽、同时解码、AI 推理、证据存储分别压测和验收。
- 默认由客户已有 NVR 承担常态录像,YoVision 优先保存事件证据,避免重复存储全量视频。
## 5. 场景优先级
- 首个场景为 S2 民办寄宿学校:客户侧 16 路高风险点位,先做越线、危险区域、聚集等匿名安全规则,不启用人脸。
- S1 居家养老、S3 社区仍是后续目标场景;S1 卧室/卫生间只能使用非成像传感器,该能力在 M6 实现。
- S4 工厂/园区在 M4 前不实现;首个人脸试点最早 M5,仅候选成人访客/承包商白名单且首库不超过 10,000 人。
- 高空抛物不进通用底座。
## 6. 合规门禁
- 家庭卧室、卫生间不安装摄像头,只能使用非成像传感器。
- 真实 S2 生产试点在 M3 上线前,客户/法务必须确认未成年人影像处理、公共安全视频法规适用性、告示/备案、角色权限和最终留存期限;不阻塞 M1 实验室 Sense 骨架。
- 首个人脸试点在 M5 上线前,必须完成必要性与个人信息保护影响评估、单独同意/替代方式、合法底库来源和撤回/删除流程;方向批准不等于法务批准。
- 人脸特征加密、独立审计、有效期必填、到期失效;原始人脸图不与普通事件证据混存。
- YOLO 商用必须取得 Ultralytics Enterprise License;未获批则走已记录的开源替代路线。
## 7. MVP 非目标
- 不使用完整 MiBeeNvr 作为生产系统。
- 不在 M1 开发完整管理端、人脸、异构传感器或多场景包。
- M1–M3 不实现 GB/T 28181、国产化信创适配和独立原生 App。
- 不为 128 路提前堆一套分布式平台,但所有边界必须可分片、可配置、可观测。
- 不承诺未经现场数据验证的检出率或误报率;先建立可重复测试集和基线。
## 8. 验收与证据留存
- M3 先 dry-run 不少于 2 周,冻结站点机位、规则版本、人工标注口径和现场标注集。
- 效果指标按规则分别报告召回率与每路每天误报数;现场基线形成后,在站点验收附件中签署数值阈值,不使用跨场景统一“准确率”。
- 事件片段默认存客户侧 MinIO/S3 兼容对象存储,常态录像留在客户 NVR。技术默认 30 天并在目的完成后删除;客户/法务确认最终期限。元数据、审计、人脸与训练样本使用独立策略。
## 9. 追溯
- 原始需求编号与优先级:[`raw/01-需求收集.md`](raw/01-需求收集.md)。
- 需求分层、状态机、数据模型与风险:[`raw/02-需求分析.md`](raw/02-需求分析.md)。
- 技术落地与 NVR 选型:[`raw/03-通用场景应用方案.md`](raw/03-通用场景应用方案.md)。