Ultralytics YOLOv8
æŠèŠ
YOLOv8 ã¯ããªã¢ã«ã¿ã€ã ç©äœæ€åºåšYOLO ã·ãªãŒãºã®ææ°çã§ã粟床ãšé床ã®é¢ã§æå 端ã®æ§èœãæäŸããŸããYOLO ã®æ§ããŒãžã§ã³ã®é²åãããŒã¹ã«ãYOLOv8 ã¯æ°æ©èœãšæé©åãå°å ¥ããå¹ åºãã¢ããªã±ãŒã·ã§ã³ã«ãããããŸããŸãªç©äœæ€åºã¿ã¹ã¯ã«çæ³çãªéžæè¢ãæäŸããŸãã
èŠããã ïŒ Ultralytics YOLOv8 ã¢ãã«æŠèŠ
äž»ãªç¹åŸŽ
- é«åºŠãªããã¯ããŒã³ãšããã¯ã¢ãŒããã¯ãã£: YOLOv8 ã¯æå 端ã®ããã¯ããŒã³ãšããã¯ã¢ãŒããã¯ãã£ãæ¡çšããç¹åŸŽæœåºãšç©äœæ€åºã®ããã©ãŒãã³ã¹ãåäžãããŠããŸãã
- ã¢ã³ã«ãŒããªãŒã®ã¹ããªãããããUltralytics : YOLOv8 ã¯ãã¢ã³ã«ãŒããªãŒã®ã¹ããªãããããUltralytics ãæ¡çšããŠãããã¢ã³ã«ãŒããŒã¹ã®ã¢ãããŒããšæ¯èŒããŠãããé«ã粟床ãšå¹ççãªæ€åºåŠçã«è²¢ç®ããŠããŸãã
- æé©åããã粟床ãšé床ã®ãã¬ãŒããªãïŒç²ŸåºŠãšé床ã®æé©ãªãã©ã³ã¹ãç¶æããããšã«éç¹ã眮ããYOLOv8 ãããŸããŸãªå¿çšåéã«ããããªã¢ã«ã¿ã€ã ã®ç©äœæ€åºã¿ã¹ã¯ã«é©ããŠããã
- æ§ã ãªäºååŠç¿æžã¿ã¢ãã«: YOLOv8 ã¯ãæ§ã ãªã¿ã¹ã¯ãããã©ãŒãã³ã¹èŠä»¶ã«å¯Ÿå¿ããæ§ã ãªäºååŠç¿æžã¿ã¢ãã«ãæäŸããŠãããç¹å®ã®ãŠãŒã¹ã±ãŒã¹ã«é©ããã¢ãã«ãç°¡åã«èŠã€ããããšãã§ããŸãã
ãµããŒããããã¿ã¹ã¯ãšã¢ãŒã
YOLOv8 ã·ãªãŒãºã¯ãã³ã³ãã¥ãŒã¿ããžã§ã³ã«ãããç¹å®ã®ã¿ã¹ã¯ã«ç¹åãããå€æ§ãªã¢ãã«ãæäŸããŠããŸãããããã®ã¢ãã«ã¯ãç©äœæ€åºãããã€ã³ã¹ã¿ã³ã¹ã®ã»ã°ã¡ã³ããŒã·ã§ã³ãããŒãº/ããŒãã€ã³ãæ€åºãæåæ§ç©äœæ€åºãåé¡ãªã©ã®è€éãªã¿ã¹ã¯ãŸã§ãããŸããŸãªèŠä»¶ã«å¯Ÿå¿ããããã«èšèšãããŠããŸãã
YOLOv8 ã·ãªãŒãºã®åããªãšãŒã·ã§ã³ã¯ãããããã®ã¿ã¹ã¯ã«æé©åãããŠãããé«ãæ§èœãšç²ŸåºŠãä¿èšŒããŸããããã«ããããã®ã¢ãã«ã¯ãæšè«ãæ€èšŒããã¬ãŒãã³ã°ããšã¯ã¹ããŒããªã©ãããŸããŸãªæäœã¢ãŒãã«å¯Ÿå¿ããŠãããå±éãéçºã®ããŸããŸãªæ®µéã§ã®äœ¿çšã容æã«ãªã£ãŠããŸãã
ã¢ãã« | ãã¡ã€ã«å | ã¿ã¹ã¯ | æšè« | ããªããŒã·ã§ã³ | ãã¬ãŒãã³ã° | èŒžåº |
---|---|---|---|---|---|---|
YOLOv8 | yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.pt |
æ€åº | â | â | â | â |
YOLOv8-ã»ã° | yolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.pt |
ã€ã³ã¹ã¿ã³ã¹ã®ã»ã°ã¡ã³ããŒã·ã§ã³ | â | â | â | â |
YOLOv8-ããŒãº | yolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.pt |
ããŒãºïŒããŒãã€ã³ã | â | â | â | â |
YOLOv8-ãªãã | yolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.pt |
æåæ§æ€åº | â | â | â | â |
YOLOv8-clsïŒã¯ã«ã¹ | yolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.pt |
åé¡ | â | â | â | â |
ãã®è¡šã¯ãYOLOv8 ã¢ãã«ããªã¢ã³ãã®æŠèŠãæäŸããç¹å®ã®ã¿ã¹ã¯ã«ãããé©çšå¯èœæ§ãšãæšè«ãæ€èšŒããã¬ãŒãã³ã°ããšã¯ã¹ããŒããªã©ã®ããŸããŸãªåäœã¢ãŒããšã®äºææ§ã匷調ããŠããŸãããã®è¡šã¯ãYOLOv8 ã·ãªãŒãºã®å€çšéæ§ãšå ç¢æ§ã瀺ããŠãããã³ã³ãã¥ãŒã¿ããžã§ã³ã®ããŸããŸãªã¢ããªã±ãŒã·ã§ã³ã«é©ããŠããŸãã
ããã©ãŒãã³ã¹ææš
ããã©ãŒãã³ã¹
80ã®èšç·Žæžã¿ã¯ã©ã¹ãå«ãCOCOäžã§èšç·Žããããããã®ã¢ãã«ã®äœ¿çšäŸã«ã€ããŠã¯ãDetection Docsãåç §ããŠãã ããã
ã¢ãã« | ãµã€ãº (ãã¯ã»ã«) |
mAPval 50-95 |
é床 CPU ONNX (ms) |
é床 A100 TensorRT (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv8n | 640 | 37.3 | 80.4 | 0.99 | 3.2 | 8.7 |
YOLOv8s | 640 | 44.9 | 128.4 | 1.20 | 11.2 | 28.6 |
YOLOv8m | 640 | 50.2 | 234.7 | 1.83 | 25.9 | 78.9 |
YOLOv8l | 640 | 52.9 | 375.2 | 2.39 | 43.7 | 165.2 |
YOLOv8x | 640 | 53.9 | 479.1 | 3.53 | 68.2 | 257.8 |
Open Image V7ã§èšç·Žããããããã®ã¢ãã«ã®äœ¿çšäŸã«ã€ããŠã¯ãDetection Docsãåç §ããŠãã ããã
ã¢ãã« | ãµã€ãº (ãã¯ã»ã«) |
mAPval 50-95 |
é床 CPU ONNX (ms) |
é床 A100 TensorRT (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv8n | 640 | 18.4 | 142.4 | 1.21 | 3.5 | 10.5 |
YOLOv8s | 640 | 27.7 | 183.1 | 1.40 | 11.4 | 29.7 |
YOLOv8m | 640 | 33.6 | 408.5 | 2.26 | 26.2 | 80.6 |
YOLOv8l | 640 | 34.9 | 596.9 | 2.43 | 44.1 | 167.4 |
YOLOv8x | 640 | 36.3 | 860.6 | 3.56 | 68.7 | 260.6 |
COCOã§èšç·Žããããããã®ã¢ãã«ã®äœ¿çšäŸã«ã€ããŠã¯ãSegmentation Docsãåç §ããŠãã ããã
ã¢ãã« | ãµã€ãº (ãã¯ã»ã«) |
mAPbox 50-95 |
mAPmask 50-95 |
é床 CPU ONNX (ms) |
é床 A100 TensorRT (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|---|
YOLOv8n-ã»ã° | 640 | 36.7 | 30.5 | 96.1 | 1.21 | 3.4 | 12.6 |
YOLOv8s-ã»ã° | 640 | 44.6 | 36.8 | 155.7 | 1.47 | 11.8 | 42.6 |
YOLOv8m-ã»ã° | 640 | 49.9 | 40.8 | 317.0 | 2.18 | 27.3 | 110.2 |
YOLOv8l-ã»ã° | 640 | 52.3 | 42.6 | 572.4 | 2.79 | 46.0 | 220.5 |
YOLOv8x-ã»ã° | 640 | 53.4 | 43.4 | 712.1 | 4.02 | 71.8 | 344.1 |
ImageNetã§èšç·Žããããããã®ã¢ãã«ã®äœ¿çšäŸã«ã€ããŠã¯ãClassification Docsãåç §ããŠãã ããã
ã¢ãã« | ãµã€ãº (ãã¯ã»ã«) |
acc top1 |
acc top5 |
é床 CPU ONNX (ms) |
é床 A100 TensorRT (ms) |
params (M) |
FLOPs (B) at 640 |
---|---|---|---|---|---|---|---|
YOLOv8n-clsïŒã¯ã«ã¹ | 224 | 69.0 | 88.3 | 12.9 | 0.31 | 2.7 | 4.3 |
YOLOv8s-clsïŒã¯ã«ã¹ | 224 | 73.8 | 91.7 | 23.4 | 0.35 | 6.4 | 13.5 |
YOLOv8m-clsïŒã¯ã«ã¹ | 224 | 76.8 | 93.5 | 85.4 | 0.62 | 17.0 | 42.7 |
YOLOv8l-clsïŒã¯ã«ã¹ | 224 | 76.8 | 93.5 | 163.0 | 0.87 | 37.5 | 99.7 |
YOLOv8x-clsïŒã¯ã«ã¹ | 224 | 79.0 | 94.6 | 232.0 | 1.01 | 57.4 | 154.8 |
COCOã§èšç·Žããããããã®ã¢ãã«ã®äœ¿çšäŸã«ã€ããŠã¯ãPose Estimation Docsãåç §ããŠãã ããã
ã¢ãã« | ãµã€ãº (ãã¯ã»ã«) |
mAPpose 50-95 |
mAPpose 50 |
é床 CPU ONNX (ms) |
é床 A100 TensorRT (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|---|
YOLOv8n-ããŒãº | 640 | 50.4 | 80.1 | 131.8 | 1.18 | 3.3 | 9.2 |
YOLOv8s-ããŒãº | 640 | 60.0 | 86.2 | 233.2 | 1.42 | 11.6 | 30.2 |
YOLOv8m-ããŒãº | 640 | 65.0 | 88.8 | 456.3 | 2.00 | 26.4 | 81.0 |
YOLOv8l-ããŒãº | 640 | 67.6 | 90.0 | 784.5 | 2.59 | 44.4 | 168.6 |
YOLOv8x-ããŒãº | 640 | 69.2 | 90.2 | 1607.1 | 3.73 | 69.4 | 263.2 |
YOLOv8x-pose-p6 | 1280 | 71.6 | 91.2 | 4088.7 | 10.04 | 99.1 | 1066.4 |
DOTAv1ã§èšç·Žããããããã®ã¢ãã«ã®äœ¿çšäŸã«ã€ããŠã¯ãOriented Detection Docsãåç §ã®ããšã
ã¢ãã« | ãµã€ãº (ãã¯ã»ã«) |
mAPtest 50 |
é床 CPU ONNX (ms) |
é床 A100 TensorRT (ms) |
params (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
YOLOv8n-ãªãã | 1024 | 78.0 | 204.77 | 3.57 | 3.1 | 23.3 |
YOLOv8s-ãªãã | 1024 | 79.5 | 424.88 | 4.07 | 11.4 | 76.3 |
YOLOv8m-ãªãã | 1024 | 80.5 | 763.48 | 7.61 | 26.4 | 208.6 |
YOLOv8l-ãªãã | 1024 | 80.7 | 1278.42 | 11.83 | 44.5 | 433.8 |
YOLOv8x-ãªãã | 1024 | 81.36 | 1759.10 | 13.23 | 69.5 | 676.7 |
䜿çšäŸ
ãã®äŸã§ã¯ãåçŽãªYOLOv8 ãã¬ãŒãã³ã°ãšæšè«ã®äŸãæäŸããŸãããããã®ã¢ãŒããä»ã®ã¢ãŒãã«é¢ããå®å šãªããã¥ã¡ã³ãã¯Predict,Train,ValandExportdocs ããŒãžãåç §ããŠãã ããã
以äžã®äŸã¯ãYOLOv8 ãªããžã§ã¯ãæ€åºã®ããã®Detectã¢ãã«ã§ããããšã«æ³šæããŠãã ããããã®ä»ã®ãµããŒããããã¿ã¹ã¯ã«ã€ããŠã¯ãSegmentãClassifyãOBBããã¥ã¡ã³ããPoseããã¥ã¡ã³ããåç §ããŠãã ããã
äŸ
PyTorch ãã
ããããã *.pt
ã¢ãã«ããã³æ§æ *.yaml
ãã¡ã€ã«ã«æž¡ãããšãã§ããã YOLO()
ã¯ã©ã¹ã䜿çšããŠãpython ã«ã¢ãã«ã®ã€ã³ã¹ã¿ã³ã¹ãäœæããŸãïŒ
from ultralytics import YOLO
# Load a COCO-pretrained YOLOv8n model
model = YOLO("yolov8n.pt")
# Display model information (optional)
model.info()
# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference with the YOLOv8n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")
CLI ã³ãã³ãã§ã¢ãã«ãçŽæ¥å®è¡ã§ããïŒ
åŒçšãšè¬èŸ
Ultralytics YOLOv8 åºç
Ultralytics ã¯ãæ¥éã«é²åããã¢ãã«ã®æ§è³ªäžãYOLOv8 ã®æ£åŒãªç 究è«æãçºè¡šããŠããªããç§ãã¡ã¯ãéçãªããã¥ã¡ã³ããäœæããããããæè¡ãé²æ©ããã䜿ããããããããšã«éç¹ã眮ããŠããŸããYOLO ã®ã¢ãŒããã¯ãã£ãæ©èœã䜿çšæ¹æ³ã«é¢ããææ°æ å ±ã«ã€ããŠã¯ãGitHub ãªããžããªãš ããã¥ã¡ã³ããåç §ããŠãã ããã
YOLOv8 ã¢ãã«ããŸãã¯ãã®ãªããžããªã«ãããã®ä»ã®ãœãããŠã§ã¢ãããªãã®ç 究ã§äœ¿çšããå Žåã¯ã以äžã®ãã©ãŒãããã§åŒçšããŠãã ããïŒ
DOIã¯ä¿çäžã§ãããå©çšå¯èœã«ãªã次第ãåŒçšã«è¿œå ãããããšã«ã泚æãã ãããYOLOv8 ã¢ãã«ã¯ã以äžã®ã©ã€ã»ã³ã¹ã§æäŸãããŸãã AGPL-3.0ããã³Enterpriseã©ã€ã»ã³ã¹ã§æäŸãããŠããŸãã
ããããã質å
YOLOv8 ã以åã®YOLO ããŒãžã§ã³ãšã®éãã¯ïŒ
YOLOv8 ã¯ãUltralytics YOLO ã·ãªãŒãºã®ææ°çã§ãé«åºŠãªæ©èœã«ãããªã¢ã«ã¿ã€ã ã®ç©äœæ€åºæ§èœãåäžãããããèšèšãããŠããŸãã以åã®ããŒãžã§ã³ãšã¯ç°ãªããYOLOv8 ã¯ãã¢ã³ã«ãŒããªãŒã®ã¹ããªããã»ãããïŒUltralytics ïŒãæå 端ã®ããã¯ããŒã³ãšããã¯ã»ã¢ãŒããã¯ãã£ãæèŒãã粟床ãšé床ã®ãã¬ãŒããªããæé©åããããšã§ãå€æ§ãªã¢ããªã±ãŒã·ã§ã³ã«çæ³çãªè£œåãšãªã£ãŠããŸãã詳现ã«ã€ããŠã¯ããæŠèŠããšãäž»ãªç¹é·ããã芧ãã ããã
ã³ã³ãã¥ãŒã¿ã»ããžã§ã³ã®ããŸããŸãªã¿ã¹ã¯ã«YOLOv8 ã
YOLOv8 ã¯ãç©äœæ€åºãã€ã³ã¹ã¿ã³ã¹åå²ãããŒãº/ããŒãã€ã³ãæ€åºãæåæ§ç©äœæ€åºãåé¡ãªã©ãå¹ åºãã³ã³ãã¥ãŒã¿ããžã§ã³ã¿ã¹ã¯ããµããŒãããŠããŸããåã¢ãã«ã®ããªã¢ã³ãã¯ãç¹å®ã®ã¿ã¹ã¯ã«æé©åãããŠãããæšè«ãæ€èšŒããã¬ãŒãã³ã°ããšã¯ã¹ããŒããªã©ã®ããŸããŸãªæäœã¢ãŒãã«å¯Ÿå¿ããŠããŸãã詳现ã«ã€ããŠã¯ãããµããŒããããã¿ã¹ã¯ãšã¢ãŒããã®ã»ã¯ã·ã§ã³ãåç §ããŠãã ããã
YOLOv8 ã¢ãã«ã®ããã©ãŒãã³ã¹ææšã¯ïŒ
YOLOv8 ã¢ãã«ã¯ãããŸããŸãªãã³ãããŒã¯ããŒã¿ã»ããã§æå 端ã®æ§èœãéæããŠãããäŸãã°ãYOLOv8n ã¢ãã«ã§ã¯ãCOCO ããŒã¿ã»ãã㧠37.3 ã® mAPïŒå¹³åå¹³å粟床ïŒãA100TensorRT 㧠0.99 ms ã®é床ãéæããŠããŸããããŸããŸãªã¿ã¹ã¯ãããŒã¿ã»ããã«ãããåã¢ãã«ããªã¢ã³ãã®è©³çŽ°ãªããã©ãŒãã³ã¹ã¡ããªã¯ã¹ã¯ãããã©ãŒãã³ã¹ã¡ããªã¯ã¹ã®ã»ã¯ã·ã§ã³ã§èŠãããšãã§ããŸãã
YOLOv8 ã¢ãã«ã®ãã¬ãŒãã³ã°æ¹æ³ã¯ïŒ
YOLOv8 ã¢ãã«ã®ãã¬ãŒãã³ã°ã¯ãPython ãŸãã¯CLI ã®ããããã䜿çšããŠè¡ãããšãã§ããŸãã以äžã¯ãCOCO8 ããŒã¿ã»ããäžã§ãCOCO-pretrainedYOLOv8 ã¢ãã«ã䜿çšããŠã100ãšããã¯ã®ã¢ãã«ããã¬ãŒãã³ã°ããäŸã§ãïŒ
äŸ
詳现ã«ã€ããŠã¯ããã¬ãŒãã³ã°ã®ããã¥ã¡ã³ããã芧ãã ããã
YOLOv8 ã¢ãã«ã®æ§èœããã³ãããŒã¯ã§ããŸããïŒ
ã¯ããYOLOv8 ã¢ãã«ã¯ãæ§ã ãªãšã¯ã¹ããŒããã©ãŒãããã«ãããŠãã¹ããŒããšæ£ç¢ºãã®èŠ³ç¹ããããã©ãŒãã³ã¹ã®ãã³ãããŒã¯ãåãããšãã§ããŸãããã³ãããŒã¯ã«ã¯ãPyTorch ãONNX ãTensorRT ãªã©ã䜿çšã§ããŸãã以äžã¯ãPython ãšCLI ã䜿çšãããã³ãããŒã¯çšã³ãã³ãã®äŸã§ãïŒ
äŸ
詳现ã«ã€ããŠã¯ãããã©ãŒãã³ã¹ã»ã¡ããªã¯ã¹ã®ã»ã¯ã·ã§ã³ãã芧ãã ããã