2.9 KiB
2.9 KiB
Detection 模型资产
本目录集中管理 cmvr-edge-ai 已注册的目标检测模型。Pipeline 仍统一使用
detection.model@1 节点;节点的 with.model 选择注册 ID,
with.model_options.weights 选择本目录中的具体权重。
当前模型
| 注册模型 ID | 版本目录 | Backend | 标签数 | 标签语义 |
|---|---|---|---|---|
construction-ppe-yolov8@1 |
construction-ppe-yolov8/v1 | ultralytics-yolo |
19 | PPE、PPE 缺失违规及部分现场设备 |
ppe-6classes-yolov8n@1 |
ppe-6classes-yolov8n/v1 | ultralytics-yolo |
6 | 画面中实际出现的六类 PPE |
people-talking-yolov8x@1 |
people-talking-yolov8x/v1 | ultralytics-yolo |
2 | 上游通用 label 类及 talking on phone 行为类 |
yolov8n-mobile-phone@1 |
yolov8n-mobile-phone | ultralytics-yolo |
1 | 画面中的 mobile_phone 手机物体 |
可通过以下命令查看运行时注册信息及有序标签:
uv run --no-sync cmvr-edge-ai models
配置规则
相对权重路径按启动进程的当前工作目录解析。本文档中的示例假定命令从仓库根目录执行:
nodes:
detector:
uses: detection.model@1
with:
model: construction-ppe-yolov8@1
model_options:
weights: models/detection/construction-ppe-yolov8/v1/best.pt
模型加载时会严格比较 checkpoint 的类别名称和顺序与注册信息。权重不匹配时节点会停止
启动,不能通过只修改 detect_labels 绕过类别校验。
当前生产 Pipeline 会从同一个 decoder 并行运行 Construction PPE 与 People-Talking
两个 detector。People-Talking checkpoint 的 class 0 名称是含义不清的 label;注册
表为保证 ID 对齐而保留它,但部署配置只选择 talking on phone。
configs/debug/detection_viewer.yaml 不改变生产告警链路,它使用
yolov8n-mobile-phone@1 替代 People-Talking,与 Construction PPE 同帧显示。该模型
只说明画面中检测到手机物体,不能直接判断人员正在通话。
新增版本
新增 Detection 模型或模型版本时:
- 新建独立的
<model-name>/v<version>/目录;已有的yolov8n-mobile-phone@1保留上游文件名和扁平目录,后续版本应恢复这一约定; - 把完整权重作为普通 Git 文件提交,并编写完整模型卡;
- 使用 SHA256 校验权重来源和复制结果;
- 在
DetectionModelRegistry中注册唯一的<model-name>@<version>; - 保证
supported_labels与 checkpoint 类别编号严格同序; - 更新部署 YAML,并先执行
cmvr-edge-ai models和cmvr-edge-ai validate。
数据集压缩包、训练集和训练过程缓存不属于部署资产,不应放入本目录。