👤 Person Detection — YOLO11n v20260502

YOLO11n det cvat2 project 1 重訓 取代 person_seg_yolo11n 訓練日期:2026-04-29 | 來源:cvat2 project 1(572 tasks,30K imgs / 154K bbox)

📊 主要指標(Test split)

Test mAP50
0.873
Test mAP50-95
0.675
Test Precision
0.913
Test Recall
0.784
參數量
2.59 M
推論
0.3 ms

🎯 取代舊版 person_seg_yolo11n_v20260421

舊版是 segmentation 模型,但下游 cascade pipeline(PPE / safety_rope / forklift_ppe)只需要 person bbox。 本版改成 detection only — 速度更快、精度更高,已部署到 model_viewer 取代 PPE21 / SafetyRope / ForkliftPPE 三個 handler 共用的 person 偵測器。

📦 資料集

cvat2 project 1(person_v20260423):572 個 tasks,跨 GUANXI / CPC_OIL / RAICVAT P2 P26 / forklift_persons 等多種來源(包含 user 已 curate 過的高品質標注)。 本次訓練只取 bbox(polygon 自動轉 bbox)。

SplitImgsBBoxes
Train22,131114,844
Validation3,50819,061
Test4,39620,203
合計30,035154,108

📈 訓練曲線

🚀 模型用法

單模型推論

from ultralytics import YOLO
model = YOLO("person_yolo11n_v20260502.pt")
results = model("image.jpg", conf=0.35)
for r in results:
    for box in r.boxes:
        x1, y1, x2, y2 = box.xyxy[0].tolist()
        print(f"person {float(box.conf[0]):.2f}  ({x1:.0f},{y1:.0f},{x2:.0f},{y2:.0f})")

用作 cascade pipeline 的 person 偵測器

本模型取代之前 model_viewer 中三個 handler 共用的 person YOLO:

Live RTSP 整合

已部署 http://192.168.53.21:7860/。 選任一 person-attr 模型(ppe21 / safety_rope / forklift_ppe)就會用本模型偵測 person。

🛠️ 訓練指令

yolo detect train \
  data=/mnt/ssd/cvat2/external/person_yolo_v20260502/data.yaml \
  model=yolo11n.pt \
  epochs=80 imgsz=640 batch=32 device=1 \
  project=/home/ubuntu/person_runs name=v20260502 \
  patience=15

📋 Hyperparameters

BackboneYOLO11n(pretrained on COCO)
OptimizerSGD(ultralytics 預設)
Batch32
Image size640 × 640
Epochs run80 / 80(patience=15 未觸發)
Best epoch79(mAP50-95=0.468)
訓練時間~87 分鐘(1× RTX 5090)
AMPauto(fp16)
AugmentationHSV、flip、mosaic、close-mosaic last 10 epoch(ultralytics 預設)

📥 模型下載

R2 Bucket:rai-models / person_yolo11n_v20260502 / best.pt(待上傳)
本機:/Users/davidyang/code/2026/模型訓練/scripts/model_viewer/models/person_yolo11n_v20260502.pt

Generated 2026-04-29 | 回到目錄