RFC AI — Model Training Dashboard

generated 2026-07-13 จาก data/models/registry.json (10 runs) — retrain แล้วเติม registry + รัน scripts/gen_dashboard.py

Detection — Box mAP50

YOLO11s164 เฟรม · 2026-07-11
0.940* ถูกแทน
YOLO26s1,373 เฟรม · 2026-07-12
0.931 ถูกแทน
YOLO11s1,373 เฟรม · 2026-07-12
0.918 ถูกแทน
YOLO26s1,373 เฟรม · 2026-07-12
0.917* production

Segmentation — Mask mAP50

YOLO11s-seg164 เฟรม · 2026-07-11
0.850* ถูกแทน
YOLO26s-seg1,373 เฟรม · 2026-07-12
0.743* production
YOLO26s-seg1,373 เฟรม · 2026-07-12
0.738 ถูกแทน
YOLO11s-seg1,373 เฟรม · 2026-07-12
0.692 ถูกแทน

Pose — Pose mAP

YOLO11s-pose450 เฟรม · 2026-07-13
0.645* production
YOLO11n-pose35 เฟรม · 2026-07-12
0.395* ถูกแทน
⚠ แท่งลายทแยง / ตัวเลขติด * : valid set ยังเปลี่ยนตาม dataset ทุกรอบ — ตัวเลขต่าง dataset version เทียบตรงไม่ได้ จนกว่าจะมี frozen benchmark set (TODO)

Registry ทุก run

Runวันที่ArchTrain dataValid MetricsPer-classHW / เวลา / costสถานะหมายเหตุ
det_v1_yolo11s2026-07-11YOLO11s164 · C1 เท่านั้น (export_v2)ชุดเล็ก*box map50 0.94MPS · —ถูกแทนvalid set เล็ก/ง่าย — ตัวเลขสูงเกินจริง ห้ามเทียบข้ามรุ่น
seg_v1_yolo11s2026-07-11YOLO11s-seg164 · C1 (SAM2 auto-mask)ชุดเล็ก*box map50 0.94 · mask map50 0.85chicken_mask 0.975MPS · —ถูกแทนvalid set เล็ก ห้ามเทียบข้ามรุ่น
det_v2_yolo11s2026-07-12YOLO11s1,373 · C1-C4 + D20 + คู่ที่2 (dataset v2)159 รูปbox map50 0.918 · box map5095 0.553glove_blue 0.885MPS · —ถูกแทนแพ้ YOLO26s ทุก metric ใน benchmark
det_v2_yolo26s2026-07-12YOLO26s1,373 · dataset v2 (ชุดเดียวกับ v2-11s)159 รูปbox map50 0.931 · box map5095 0.609chicken 0.955 · glove_blue 0.908 · glove_red 0.92RTX3090 (RunPod) · 14 นาที · $0.10ถูกแทนper-class จาก val ซ้ำ 2026-07-12 (overall 0.928) — docs/runpod-training.md; ถูกแทนด้วย det_v3 (label fixes)
det_v3_yolo26s2026-07-12YOLO26s1,373 · dataset v3 = v2 + label fixes (Roboflow ver.3)159 รูป (label แก้แล้ว)*box map50 0.917 · box map5095 0.587chicken 0.954 · glove_blue 0.877 · glove_red 0.92L4 (RunPod) · 25 นาที · $0.16productionground truth valid เปลี่ยนจากการแก้ label — เทียบตัวเลขกับ v2 ตรงๆ ไม่ได้; per-class จาก yolo val บน MPS
seg_v2_yolo11s2026-07-12YOLO11s-seg1,373 · dataset v2204 รูปbox map50 0.926 · mask map50 0.692chicken_mask 0.934 · blue_mask 0.557MPS · —ถูกแทนแพ้ YOLO26s-seg ทุก metric
seg_v2_yolo26s2026-07-12YOLO26s-seg1,373 · dataset v2204 รูปbox map50 0.938 · mask map50 0.738blue_mask 0.648L4 (RunPod) · 22 นาที · $0.18ถูกแทนmask นวมยังเป็นจุดอ่อน (blue 0.648 vs chicken 0.93+); ถูกแทนด้วย seg_v3 (label fixes)
seg_v3_yolo26s2026-07-12YOLO26s-seg1,373 · dataset v3 (SAM2 auto-mask จาก box ที่แก้แล้ว)213 รูป (hash split ใหม่)*box map50 0.941 · mask map50 0.743chicken_mask 0.957 · blue_mask 0.63 · red_mask 0.642L4 (RunPod) · 30 นาที · $0.20productionvalid split ต่างจาก v2 (204→213, label fixes) เทียบตรงไม่ได้; chicken mask 0.957 แข็งแรงมาก
pose_v0_yolo11n2026-07-12YOLO11n-pose35 · CVAT rfc-pose (C1) skeleton 13 จุดชุดเล็ก*box map50 0.985 · pose map 0.395local CPU · —ถูกแทนกรอบแม่นแต่จุดหยาบ = ปัญหาปริมาณ label (เป้า 200-300 เฟรม) ไม่ใช่ arch; ถูกแทนด้วย pose_v1
pose_v1_yolo11s2026-07-13YOLO11s-pose450 · CVAT rfc-pose-task + pose-mix-01..08 (คละคลิป, กรองคนแล้ว)73 รูป/147 instances*box map50 0.955 · box map5095 0.606 · pose map 0.645RTX3090 (RunPod) · 7 นาที · $0.05productionPose mAP50 0.395→0.645 จาก data 35→450 เฟรม; pose mAP50-95 0.249 ยังต่ำ — จุดยังหยาบ เพิ่ม data ต่อ