Ultralytics YOLO ãããã質åïŒFAQïŒ
ãã®FAQã»ã¯ã·ã§ã³ã¯ããŠãŒã¶ãŒããªããžããªã䜿çšããéã«ééããå¯èœæ§ã®ããäžè¬çãªè³ªåãšåé¡ãåãäžããŸãã UltralyticsYOLO ã玹ä»ããŸãã
ããããã質å
Ultralytics ãäœãæäŸããã®ãïŒ
Ultralytics ã¯ãYOLO (You Only Look Once) ãã¡ããªãŒãäžå¿ã«ãæå 端ã®ç©äœæ€åºãšç»åã»ã°ã¡ã³ããŒã·ã§ã³ã¢ãã«ãå°éãšããã³ã³ãã¥ãŒã¿ããžã§ã³AIäŒæ¥ã§ãããå瀟ã®è£œåã«ã¯ä»¥äžãå«ãŸããïŒ
- ã®ãªãŒãã³ãœãŒã¹å®è£ YOLOv5ãã㊠YOLOv8
- æ§ã ãªã³ã³ãã¥ãŒã¿ããžã§ã³ã¿ã¹ã¯ã«å¯Ÿå¿ããå¹ åºãäºååŠç¿æžã¿ã¢ãã«
- YOLO ã¢ãã«ããããžã§ã¯ãã«ã·ãŒã ã¬ã¹ã«çµ±åããããã®å æ¬çãªPython ããã±ãŒãžã
- ã¢ãã«ã®ãã¬ãŒãã³ã°ããã¹ããé åã®ããã®å€ç®çããŒã«
- è±å¯ãªããã¥ã¡ã³ããšååçãªã³ãã¥ããã£
Ultralytics ããã±ãŒãžã®ã€ã³ã¹ããŒã«æ¹æ³ã¯ïŒ
Ultralytics ããã±ãŒãžã®ã€ã³ã¹ããŒã«ã¯ãpipã䜿ã£ãŠç°¡åã«ã§ããïŒ
ææ°ã®éçºçã«ã€ããŠã¯ãGitHubãªããžããªããçŽæ¥ã€ã³ã¹ããŒã«ããŠãã ããïŒ
詳ããã€ã³ã¹ããŒã«æ¹æ³ã¯ã¯ã€ãã¯ã¹ã¿ãŒãã¬ã€ãã«èšèŒãããŠããŸãã
Ultralytics ã¢ãã«ãå®è¡ããããã®ã·ã¹ãã èŠä»¶ã¯äœã§ããïŒ
æå°èŠä»¶:
- Python 3.7+
- PyTorch 1.7+
- CUDAäºæGPU (GPU ã¢ã¯ã»ã©ã¬ãŒã·ã§ã³çš)
æšå¥šãããã»ããã¢ãã
- Python 3.8+
- PyTorch 1.10+
- NVIDIA GPU CUDA 11.2+ ã䜿çš
- 8GB+ RAM
- 50GB+ã®ç©ºããã£ã¹ã¯å®¹é(ããŒã¿ã»ããã®ä¿åãšã¢ãã«ãã¬ãŒãã³ã°çš)
ããããåé¡ã®ãã©ãã«ã·ã¥ãŒãã£ã³ã°ã«ã€ããŠã¯ãYOLO ãããããåé¡ãã®ããŒãžãã芧ãã ããã
ç¬èªã®ããŒã¿ã»ããã§ã«ã¹ã¿ã ã¢ãã«ïŒYOLOv8 ïŒããã¬ãŒãã³ã°ããã«ã¯ïŒ
ã«ã¹ã¿ã ããã¬ãŒãã³ã°ããã«ã¯ YOLOv8 ã¢ãã«ïŒ
- ããŒã¿ã»ããã®æºåå Žæ YOLO ãã©ãŒããã(ç»åãšå¯Ÿå¿ããã©ãã«ã®txtãã¡ã€ã«)ã
- ããŒã¿ã»ããã®æ§é ãšã¯ã©ã¹ãèšè¿°ãã YAML ãã¡ã€ã«ãäœæããŸãã
- 以äžã䜿çšããŸã Python ãã¬ãŒãã³ã°ãéå§ããããã®ã³ãŒã:
from ultralytics import YOLO
# Load a model
model = YOLO("yolov8n.yaml") # build a new model from scratch
model = YOLO("yolov8n.pt") # load a pretrained model (recommended for training)
# Train the model
results = model.train(data="path/to/your/data.yaml", epochs=100, imgsz=640)
ããŒã¿ã®æºåãé«åºŠãªãã¬ãŒãã³ã°ãªãã·ã§ã³ãå«ãããã詳现ãªã¬ã€ãã«ã€ããŠã¯ãå æ¬çãªãã¬ãŒãã³ã°ã¬ã€ããåç §ããŠãã ããã
Ultralytics ãã©ã®ãããªäºååŠç¿æžã¿ã¢ãã«ãå©çšã§ããŸããïŒ
Ultralytics ã¯ãæ§ã ãªã¿ã¹ã¯ã®ããã«äºåã«èšç·ŽãããYOLOv8 ã¢ãã«ã®å€æ§ãªç¯å²ãæäŸããŠããŸãïŒ
- ç©äœæ€åº: YOLOv8n, YOLOv8s, YOLOv8m, YOLOv8l, YOLOv8x
- ã€ã³ã¹ã¿ã³ã¹ã®ã»ã°ã¡ã³ããŒã·ã§ã³: YOLOv8n-ã¯ã³ã»ã° YOLOv8s-ã¯ã³ã»ã° YOLOv8m-ã¯ã³ã»ã° YOLOv8l-ã¯ã³ã»ã° YOLOv8x-ã¯ã³ã»ã°
- åé¡ïŒ YOLOv8n-clsã YOLOv8s-clsã YOLOv8m-clsã YOLOv8l-clsã YOLOv8x-cls
ãããã®ã¢ãã«ã¯ãµã€ãºãè€éããç°ãªããé床ãšç²ŸåºŠã®ãã¬ãŒããªããç°ãªããŸããäºååŠç¿æžã¿ã¢ãã«ã®å šç¯å²ã調ã¹ãŠããããžã§ã¯ãã«æé©ãªãã®ãèŠã€ããŠãã ããã
èšç·ŽãããUltralytics ã¢ãã«ã䜿ã£ãŠæšè«ãè¡ãã«ã¯ïŒ
ãã¬ãŒãã³ã°æžã¿ã®ã¢ãã«ã§æšè«ãå®è¡ããã«ã¯ã次ã®ããã«ããŸãã
from ultralytics import YOLO
# Load a model
model = YOLO("path/to/your/model.pt")
# Perform inference
results = model("path/to/image.jpg")
# Process results
for r in results:
print(r.boxes) # print bbox predictions
print(r.masks) # print mask predictions
print(r.probs) # print class probabilities
ãããåŠçããããªæšè«ãå«ãé«åºŠãªæšè«ãªãã·ã§ã³ã«ã€ããŠã¯ã詳现ãªäºæž¬ã¬ã€ããã芧ãã ããã
Ultralytics ã¢ãã«ã¯ããšããžã»ããã€ã¹ãçç£ç°å¢ã«å°å ¥å¯èœãïŒ
ãã¡ããã§ãïŒUltralytics ã¢ãã«ã¯ãããŸããŸãªãã©ãããã©ãŒã ã§å€ç®çã«å±éã§ããããã«èšèšãããŠããŸãïŒ
- ãšããžããã€ã¹ïŒNVIDIA Jetson ãIntel Neural Compute Stick ãªã©ã®ããã€ã¹ã§ãTensorRT ãONNX ãOpenVINO ã䜿çšããŠæšè«ãæé©åããŸãã
- ã¢ãã€ã«ïŒã¢ãã«ãTFLiteãŸãã¯Core MLã«å€æããããšã§ãAndroid ãŸãã¯iOS ããã€ã¹ã«ãããã€ã
- ã¯ã©ãŠãïŒTensorFlow ServingãPyTorch Serveã®ãããªãã¬ãŒã ã¯ãŒã¯ã掻çšããŠãã¹ã±ãŒã©ãã«ãªã¯ã©ãŠãã»ãããã€ã¡ã³ããå®çŸããã
- ãŠã§ãïŒONNX.js ãŸãã¯TensorFlow.js ã䜿ã£ãŠãã©ãŠã¶å æšè«ãå®è£ ããã
Ultralytics ã«ã¯ãã¢ãã«ãé åã®ããã«ããŸããŸãªåœ¢åŒã«å€æãããšã¯ã¹ããŒãæ©èœããããŸããå¹ åºãå±éãªãã·ã§ã³ããããŠãŒã¹ã±ãŒã¹ã«æé©ãªãœãªã¥ãŒã·ã§ã³ããæ¢ããã ããã
YOLOv5 ãšYOLOv8 ã®éãã¯ïŒ
äž»ãªéãã¯ä»¥äžã®éãïŒ
- ã¢ãŒããã¯ãã£ãŒïŒYOLOv8 ããã©ãŒãã³ã¹åäžã®ãããæ¹è¯ãããããã¯ããŒã³ãšãããèšèšãæ¡çšã
- ããã©ãŒãã³ã¹ïŒYOLOv8 ã¯äžè¬çã«ãYOLOv5 ã«æ¯ã¹ãŠåªãã粟床ãšã¹ããŒããæäŸããã
- ã¿ã¹ã¯:YOLOv8 ã¯ãçµ±äžããããã¬ãŒã ã¯ãŒã¯ã§ããªããžã§ã¯ãæ€åºãã€ã³ã¹ã¿ã³ã¹åå²ãåé¡ããã€ãã£ãã«ãµããŒãããã
- ã³ãŒãããŒã¹:YOLOv8 ã¯ãããã¢ãžã¥ãŒã«åãããæ¡åŒµå¯èœãªã¢ãŒããã¯ãã£ã§å®è£ ãããŠãããã«ã¹ã¿ãã€ãºãæ¡åŒµã容æã«ãªã£ãŠããŸãã
- ãã¬ãŒãã³ã°:YOLOv8 ã¯ããã«ãããŒã¿ã»ããã»ãã¬ãŒãã³ã°ããã€ããŒãã©ã¡ãŒã¿ã»ãšããªã¥ãŒã·ã§ã³ã®ãããªé«åºŠãªãã¬ãŒãã³ã°ã»ãã¯ããã¯ãåãå ¥ããçµæãåäžãããŠããã
æ©èœãšããã©ãŒãã³ã¹ææšã®è©³çŽ°ãªæ¯èŒã«ã€ããŠã¯ãYOLOv5 vsYOLOv8ã®æ¯èŒããŒãžãã芧ãã ããã
Ultralytics ãªãŒãã³ãœãŒã¹ã»ãããžã§ã¯ãã«è²¢ç®ããã«ã¯ïŒ
Ultralytics ã«è²¢ç®ããããšã¯ããããžã§ã¯ããåäžãããããªãã®ã¹ãã«ã䌞ã°ãçŽ æŽãããæ¹æ³ã§ããåå æ¹æ³ã¯ä»¥äžã®éãã§ãïŒ
- ããã©ãŒã¯ããŸãã Ultralytics ãªããžããªã«ãããŸãã
- æ©èœãŸãã¯ãã°ä¿®æ£çšã®æ°ãããã©ã³ããäœæããŸãã
- å€æŽãå ãããã¹ãŠã®ãã¹ãã«åæ Œããããšã確èªããŸãã
- å€æŽã®æ確ãªèª¬æãæ·»ããŠãã«ãªã¯ãšã¹ããéä¿¡ããŸãã
- ã³ãŒãã¬ãã¥ãŒããã»ã¹ã«åå ããŸãã
ãŸãããã°ãå ±åããããæ©èœãææ¡ããããããã¥ã¡ã³ããæ¹åãããããããšã§ãè²¢ç®ã§ããŸãã詳现ãªã¬ã€ãã©ã€ã³ãšãã¹ããã©ã¯ãã£ã¹ã«ã€ããŠã¯ãè²¢ç®ã¬ã€ããåç §ããŠãã ããã
Python ã«Ultralytics ããã±ãŒãžãã€ã³ã¹ããŒã«ããã«ã¯ïŒ
Python ã®Ultralytics ããã±ãŒãžã®ã€ã³ã¹ããŒã«ã¯ç°¡åã§ããã¿ãŒããã«ãŸãã¯ã³ãã³ãããã³ããã§ä»¥äžã®ã³ãã³ããå®è¡ããpipã䜿çšããŸãïŒ
æå 端ã®éçºçã«ã€ããŠã¯ãGitHubãªããžããªããçŽæ¥ã€ã³ã¹ããŒã«ããŠãã ããïŒ
ç°å¢å¥ã®ã€ã³ã¹ããŒã«æé ããã©ãã«ã·ã¥ãŒãã£ã³ã°ã®ãã³ãã«ã€ããŠã¯ãå æ¬çãªã¯ã€ãã¯ã¹ã¿ãŒãã¬ã€ããåç §ããŠãã ããã
Ultralytics YOLO ã®äž»ãªç¹åŸŽã¯ïŒ
Ultralytics YOLO ã¯ãé«åºŠãªãªããžã§ã¯ãæ€åºãšç»åã»ã°ã¡ã³ããŒã·ã§ã³ã®ããã®è±å¯ãªæ©èœã»ãããèªã£ãŠããŸãïŒ
- ãªã¢ã«ã¿ã€ã æ€åºïŒãªã¢ã«ã¿ã€ã ã®ã·ããªãªã§å¹ççã«ç©äœãæ€åºããåé¡ããŸãã
- äºååŠç¿æžã¿ã¢ãã«ïŒæ§ã ãªãŠãŒã¹ã±ãŒã¹ã«å¯Ÿå¿ãããã¹ããŒããšç²ŸåºŠã®ãã©ã³ã¹ãåããæ§ã ãªäºååŠç¿æžã¿ã¢ãã«ã«ã¢ã¯ã»ã¹ã§ããŸãã
- ã«ã¹ã¿ã ãã¬ãŒãã³ã°ïŒæè»ãªãã¬ãŒãã³ã°ãã€ãã©ã€ã³ã«ãããã«ã¹ã¿ã ããŒã¿ã»ããã§ã¢ãã«ãç°¡åã«åŸ®èª¿æŽã§ããŸãã
- å¹ åºãå±éãªãã·ã§ã³ïŒTensorRT ãONNX ãCoreML ãªã©ã®ããŸããŸãªåœ¢åŒã«ã¢ãã«ããšã¯ã¹ããŒãããŠãããŸããŸãªãã©ãããã©ãŒã ã«å±éã§ããŸãã
- è±å¯ãªããã¥ã¡ã³ãïŒå æ¬çãªããã¥ã¡ã³ããŒã·ã§ã³ãšãã³ã³ãã¥ãŒã¿ããžã§ã³ã®æ ãéããŠããªããã¬ã€ããããµããŒãã³ãã¥ããã£ã®æ©æµãåããããšãã§ããŸãã
YOLO ã®åããŒãžã§ã³ã®æ©èœãšã¢ãŒããã¯ãã£ã«ã€ããŠã¯ãYOLO ã®ã¢ãã«ããŒãžãã芧ãã ããã
YOLO ã¢ãã«ã®ããã©ãŒãã³ã¹ãåäžãããã«ã¯ïŒ
YOLO ã¢ãã«ã®ããã©ãŒãã³ã¹ãåäžãããã«ã¯ãããã€ãã®ãã¯ããã¯ãããïŒ
- ãã€ããŒãã©ã¡ãŒã¿ã®ãã¥ãŒãã³ã°ã¢ãã«ã®æ§èœãæé©åããããã«ããã€ããŒãã©ã¡ãŒã¿ã»ãã¥ãŒãã³ã°ã»ã¬ã€ãã䜿ã£ãŠããŸããŸãªãã€ããŒãã©ã¡ãŒã¿ãè©ŠããŠãã ããã
- ããŒã¿ã®æ¡åŒµïŒããªãããã¹ã±ãŒã«ãå転ãè²èª¿æŽãªã©ã®ãã¯ããã¯ãå®è£ ããŠããã¬ãŒãã³ã°ããŒã¿ã»ããã匷åããã¢ãã«ã®äžè¬åãåäžãããŸãã
- äŒéåŠç¿ïŒäºåã«ãã¬ãŒãã³ã°ãããã¢ãã«ã掻çšããTrainYOLOv8ã¬ã€ãã䜿çšããŠç¹å®ã®ããŒã¿ã»ããã§åŸ®èª¿æŽããŸãã
- å¹ççãªãã©ãŒããããžã®ãšã¯ã¹ããŒãïŒãšã¯ã¹ããŒãã¬ã€ãã䜿çšããŠãã¢ãã«ãTensorRT ãONNX ã®ãããªæé©åããã圢åŒã«å€æããããé«éãªæšè«ãå®çŸããŸãã
- ãã³ãããŒã¯ïŒãã³ãããŒã¯ã¢ãŒããå©çšããŠãæšè«ã¹ããŒããšç²ŸåºŠãäœç³»çã«æž¬å®ããæ¹åããã
Ultralytics YOLO ã¢ãã«ãã¢ãã€ã«ã»ããã€ã¹ããšããžã»ããã€ã¹ã«å±éã§ããŸããïŒ
ã¯ããUltralytics YOLO ã¢ãã«ã¯ãã¢ãã€ã«ããšããžã»ããã€ã¹ãå«ãå€ç®çãªå±éã®ããã«èšèšãããŠããŸãïŒ
- ã¢ãã€ã«ïŒAndroid ãŸãã¯iOS ã¢ããªã«ã·ãŒã ã¬ã¹ã«çµ±åããããã«ãã¢ãã«ã TFLite ãŸãã¯CoreML ã«å€æããŸãããã©ãããã©ãŒã åºæã®æé ã«ã€ããŠã¯ããTFLite çµ±åã¬ã€ããããã³ãCoreML çµ±åã¬ã€ãããåç §ããŠãã ããã
- ãšããžããã€ã¹ïŒTensorRT ãŸãã¯ONNX ã䜿çšããŠãNVIDIA Jetson ããã®ä»ã®ãšããžããŒããŠã§ã¢ã®ãããªããã€ã¹äžã§æšè«ãæé©åããããšããžTPU çµ±åã¬ã€ãã«ã¯ããšããžå±éã®ããã®è©³çŽ°ãªæé ãèšèŒãããŠããã
ããŸããŸãªãã©ãããã©ãŒã ã«ãããå±éæŠç¥ã®å æ¬çãªæŠèŠã«ã€ããŠã¯ãå±éãªãã·ã§ã³ã¬ã€ããåç §ããŠãã ããã
åŠç¿æžã¿ã®Ultralytics YOLO ã¢ãã«ã䜿ã£ãŠæšè«ãè¡ãã«ã¯ã©ãããã°ããã§ããïŒ
èšç·ŽãããUltralytics YOLO ã¢ãã«ã䜿ã£ãŠæšè«ãè¡ãã®ã¯ç°¡åã§ããïŒ
- ã¢ãã«ãããŒãããïŒ
- æšè«ãå®è¡ããïŒ
results = model("path/to/image.jpg")
for r in results:
print(r.boxes) # print bounding box predictions
print(r.masks) # print mask predictions
print(r.probs) # print class probabilities
ãããåŠçããããªæšè«ãã«ã¹ã¿ã ååŠçãå«ãé«åºŠãªæšè«æè¡ã«ã€ããŠã¯ã詳现ãªäºæž¬ã¬ã€ããåç §ããŠãã ããã
Ultralytics ã®äœ¿çšäŸããã¥ãŒããªã¢ã«ã¯ã©ãã«ãããŸããïŒ
Ultralytics ã«ã¯ãããŒã«ã䜿ãããªãããã®è±å¯ãªãªãœãŒã¹ãçšæãããŠããïŒ
- ðå ¬åŒããã¥ã¡ã³ãïŒå æ¬çãªã¬ã€ããAPIãªãã¡ã¬ã³ã¹ããã¹ããã©ã¯ãã£ã¹ã
- GitHubãªããžããªïŒãœãŒã¹ã³ãŒããã¹ã¯ãªããäŸãã³ãã¥ããã£ãžã®è²¢ç®ã
- âïžUltralytics ããã°ïŒè©³çŽ°ãªèšäºã䜿çšäŸãæè¡çãªæŽå¯ã
- ð¬ã³ãã¥ããã£ã»ãã©ãŒã©ã ïŒä»ã®ãŠãŒã¶ãŒãšã€ãªããã質åããçµéšãå ±æããŸãããã
- YouTubeãã£ã³ãã«ïŒæ§ã ãªUltralytics ãããã¯ã«é¢ãããããªãã¥ãŒããªã¢ã«ããã¢ããŠã§ãããŒã
ãããã®ãªãœãŒã¹ã¯ãã³ãŒãäŸãå®éã®äœ¿çšäŸãUltralytics ã¢ãã«ã䜿çšããæ§ã ãªã¿ã¹ã¯ã®ã¹ããããã€ã¹ãããã®ã¬ã€ããæäŸããŸãã
ããã«ãµããŒããå¿ èŠãªå Žåã¯ãé æ ®ãªãUltralytics ã®ããã¥ã¡ã³ããåç §ããããGitHub Issuesãå ¬åŒãã£ã¹ã«ãã·ã§ã³ãã©ãŒã©ã ãéããŠã³ãã¥ããã£ã«é£çµ¡ããŠãã ããã