cmvr_edge_ai/models/detection/people-talking-yolov8x/v1/README.md
2026-07-21 16:35:37 +08:00

4.0 KiB
Raw Blame History

People Talking YOLOv8x v1

注册信息

字段
Model ID people-talking-yolov8x@1
注册名称 People Talking YOLOv8x
Backend ultralytics-yolo
任务 画面中人员正在打电话的行为检测
权重 models/detection/people-talking-yolov8x/v1/best.pt
权重格式 PyTorch/Ultralytics .pt checkpoint
权重大小 136694313 bytes
SHA256 86cd63926de1c69f70dd7f8755e4de9e382bbdeb0668821b7c3846b826471526
基础模型 YOLOv8x约 6815 万参数)
checkpoint Ultralytics 8.0.196
当前部署 Ultralytics 8.4.31

Model ID 的 @1 与本目录的 v1 对应。权重从用户提供的 /home/xtkuang/Projects/cmvr/changan_robot/call_phone/best.pt 复制;复制前后的大小和 SHA256 必须一致。不兼容的新权重应使用新版本目录和注册 ID不能覆盖本文件记录的 v1

有序标签

checkpoint 的类别编号必须与下表严格一致:

ID 标签 部署用途
0 label 上游 checkpoint 中含义不清的通用类别;当前 Pipeline 不选择
1 talking on phone 电话使用行为告警

label 不是背景类,不能从注册信息中删除,否则类别编号会错位并导致模型加载失败。 生产配置通过 detect_labels: [talking on phone] 只请求 class 1。

输入与运行参数

  • 输入必须是已经解码的 BGR8RGB8 三通道图像;
  • checkpoint 训练参数记录的 imgsz640
  • 当前 CPU 部署从 max_fps: 5confidence: 0.50 开始;
  • 该权重由带 dill 的环境序列化,项目的 yolo/yolo-cpu extra 已显式包含 dill,不能依赖 Ultralytics 运行时临时联网安装;
  • .pt 由 PyTorch pickle loader 读取,只应部署经过校验的可信制品。

配置示例:

phone_detector:
  uses: detection.model@1
  with:
    model: people-talking-yolov8x@1
    detect_labels:
      - talking on phone
    confidence: 0.50
    max_fps: 5
    attach_frame: true
    model_options:
      weights: models/detection/people-talking-yolov8x/v1/best.pt
      device: cpu
      imgsz: 640
      iou: 0.70
      half: false
      max_det: 100

来源与许可

  • 上游项目:Anidipta/People-Talking
  • 上游仓库根 LICENSE 标记为 Apache-2.0,但 README 的许可段落写为 MIT
  • 上游没有在模型卡中单独说明训练数据和权重的再分发许可。

因此在外部发布或商业部署前,需要进一步确认代码、权重和训练数据各自的授权范围, 不能把仓库 README 的一句许可描述直接当成全部资产的授权结论。仓库中的 .pt 作为 普通 Git blob 保存,克隆后会直接获得完整权重。

限制

  • 这是视觉行为检测,不读取手机屏幕、通话音频或运营商状态;它不能判断来电/去电、 是否真正接通,也不能区分普通手持手机与真实通话的全部边界情况;
  • 上游只提供曲线图片,未给出可复核的逐类 AP/precision/recall 数值;当前没有把 未知测试集上的指标写成部署承诺;
  • 手部和手机被遮挡、远距离小目标、侧后视角、弱光以及相似手势都可能导致漏检或误检;
  • 当前 adapter 是逐帧检测,不跟踪具体人员。repeat_gatescope: source 只能表示 同一相机连续命中,不能证明连续命中来自同一个人;
  • YOLOv8x 在 CPU 上较重,必须在目标设备测量推理延迟、内存和实际 FPS 后再调高 max_fps

验证

从仓库根目录执行:

sha256sum models/detection/people-talking-yolov8x/v1/best.pt
uv run --no-sync cmvr-edge-ai models
uv run --no-sync cmvr-edge-ai validate \
  --config configs/edge_ai.yaml \
  --pipeline detection

validate 只检查配置和 DAG不加载权重。发布前还必须执行真实模型加载和单帧推理 smoke test确认日志或测试结果中模型 ID、标签顺序和推理输出均正确。