YOLOv10: Real-Time End-to-End Object Detection
YOLOv10㯠UltralyticsPython YOLOv10ã¯ã æž è¯å€§åŠã®ç 究è ã«ããããã±ãŒãžåããããªã¢ã«ã¿ã€ã ã®ç©äœæ€åºã«æ°ããã¢ãããŒããå°å ¥ãã以åã®ããŒãžã§ã³ïŒYOLO ïŒã§èŠãããåŸåŠçãšã¢ãã«ã¢ãŒããã¯ãã£ã®äž¡æ¹ã®æ¬ é¥ã«å¯ŸåŠããŠããŸããéæ倧æå¶ïŒNMSïŒãæé€ããæ§ã ãªã¢ãã«ã³ã³ããŒãã³ããæé©åããããšã§ãYOLOv10ã¯ãèšç®ãªãŒããŒããããå€§å¹ ã«åæžããªãããæå 端ã®æ§èœãéæããŠãããåºç¯ãªå®éšã«ãããè€æ°ã®ã¢ãã«ã¹ã±ãŒã«ã«ããã£ãŠããã®åªãã粟床ãšé 延ã®ãã¬ãŒããªããå®èšŒãããŠããŸãã
èŠããã ïŒ Ultralytics ïœRetail Datasetã䜿çšããŠSKU-110kããŒã¿ã»ããã§YOLOv10ããã¬ãŒãã³ã°ããæ¹æ³
æŠèŠ
ãªã¢ã«ã¿ã€ã ç©äœæ€åºã¯ãç»åäžã®ç©äœã®ã«ããŽãªãšäœçœ®ãäœé 延ã§æ£ç¢ºã«äºæž¬ããããšãç®çãšããŠãããYOLO ã·ãªãŒãºã¯ãæ§èœãšå¹çã®ãã©ã³ã¹ã®è¯ãããããã®ç 究ã®æåç·ã«ç«ã£ãŠãããããããNMSãžã®äŸåãšã¢ãŒããã¯ãã£ã®éå¹çæ§ããæé©ãªæ§èœã劚ããŠãããYOLOv10ã¯ãNMSã䜿çšããªããã¬ãŒãã³ã°ã®ããã®äžè²«ãããã¥ã¢ã«å²ãåœãŠãšãå šäœçãªå¹ç-粟床䞻å°ã®ã¢ãã«èšèšæŠç¥ãå°å ¥ããããšã§ããããã®åé¡ã«å¯ŸåŠããŠããŸãã
建ç¯
YOLOv10ã®ã¢ãŒããã¯ãã£ãŒã¯ãããã€ãã®éèŠãªé©æ°çæè¡ãå°å ¥ããªãããã以åã®ã¢ãã«ïŒYOLO ïŒã®é·æãåºã«æ§ç¯ãããŠãããã¢ãã«ã»ã¢ãŒããã¯ãã£ã¯ä»¥äžã®ã³ã³ããŒãã³ãã§æ§æãããŠããïŒ
- Backbone: Responsible for feature extraction, the backbone in YOLOv10 uses an enhanced version of CSPNet (Cross Stage Partial Network) to improve gradient flow and reduce computational redundancy.
- ããã¯ïŒç°ãªãã¹ã±ãŒã«ã®ç¹åŸŽãéçŽãããããã«æž¡ãããã«èšèšãããŠãããå¹æçãªãã«ãã¹ã±ãŒã«ç¹åŸŽãã¥ãŒãžã§ã³ã®ããã®PANïŒPath Aggregation NetworkïŒã¬ã€ã€ãŒãå«ãã
- One-to-Many Head: ãã¬ãŒãã³ã°äžã«ãªããžã§ã¯ãããšã«è€æ°ã®äºæž¬ãçæããè±å¯ãªç£èŠä¿¡å·ãæäŸããåŠç¿ç²ŸåºŠãåäžãããŸãã
- One-to-OneãããïŒæšè«äžã«ãªããžã§ã¯ãããšã«æè¯ã®äºæž¬ã1ã€çæããNMSãäžèŠã«ããããšã§ãåŸ ã¡æéãççž®ããå¹çãåäžãããã
äž»ãªç¹åŸŽ
- NMSããªãŒãã¬ãŒãã³ã°ïŒäžè²«ãããã¥ã¢ã«å²ãåœãŠãå©çšããŠNMSã®å¿ èŠæ§ãæé€ããæšè«ã®åŸ ã¡æéãççž®ã
- å šäœçãªã¢ãã«èšèšïŒè»œéåé¡ãããã空éãã£ã³ãã«åé¢ããŠã³ãµã³ããªã³ã°ãã©ã³ã¯ã¬ã€ãä»ããããã¯èšèšãªã©ãå¹çãšç²ŸåºŠã®äž¡é¢ããæ§ã ãªã³ã³ããŒãã³ããå æ¬çã«æé©åã
- ã¢ãã«æ©èœã®åŒ·åïŒå€§ããªã«ãŒãã«ç³ã¿èŸŒã¿ãšéšåçãªèªå·±ã¢ãã³ã·ã§ã³ã¢ãžã¥ãŒã«ãçµã¿èŸŒã¿ã倧ããªèšç®ã³ã¹ãããããã«ããã©ãŒãã³ã¹ãåäžã
ã¢ãã«ããªãšãŒã·ã§ã³
YOLOv10ã«ã¯ãããŸããŸãªçšéã®ããŒãºã«å¿ãããããããŸããŸãªã¢ãã«ã¹ã±ãŒã«ãããïŒ
- YOLOv10-NïŒãªãœãŒã¹ã極端ã«å¶éãããç°å¢åãã®ããããŒãžã§ã³ã
- YOLOv10-SïŒã¹ããŒããšç²ŸåºŠããã©ã³ã¹ãããå°åããŒãžã§ã³ã
- YOLOv10-MïŒæ±çšããã£ã¢ã ããŒãžã§ã³ã
- YOLOv10-BïŒç²ŸåºŠãé«ããããã«å¹ ãåºãããã©ã³ã¹ã»ããŒãžã§ã³ã
- YOLOv10-LïŒèšç®ãªãœãŒã¹ãå¢ãã代ããã«ç²ŸåºŠãé«ãã倧åããŒãžã§ã³ã
- YOLOv10-XïŒæé«ã®ç²ŸåºŠãšæ§èœãèªãç¹å€§ããŒãžã§ã³ã
ããã©ãŒãã³ã¹
YOLOv10ã¯ãYOLO ã®æ§ããŒãžã§ã³ãä»ã®æå 端ã¢ãã«ãã粟床ãšå¹çã®é¢ã§äžåã£ãŠãããäŸãã°ãYOLOv10-Sã¯ãCOCOããŒã¿ã»ããã«ãããŠãåæ§ã®APã§RT-DETR-R18ãã1.8åé«éã§ãããYOLOv10-Bã¯ãåãæ§èœã§YOLOv9-Cããã¬ã€ãã³ã·ã46%å°ãªãããã©ã¡ãŒã¿ã25%å°ãªãã
ã¢ãã« | å ¥åãµã€ãº | ãšãŒããŒãã« | ããããæ°ïŒGïŒ | åŸ ã¡æé (ms) |
---|---|---|---|---|
YOLOv10-N | 640 | 38.5 | 6.7 | 1.84 |
YOLOv10-S | 640 | 46.3 | 21.6 | 2.49 |
YOLOv10-M | 640 | 51.1 | 59.1 | 4.74 |
YOLOv10-B | 640 | 52.5 | 92.0 | 5.74 |
YOLOv10-L | 640 | 53.2 | 120.3 | 7.28 |
YOLOv10-X | 640 | 54.4 | 160.4 | 10.70 |
T4GPU äžã®TensorRT FP16 ã§æž¬å®ããã¬ã€ãã³ã·ã
æ¹æ³è«
NMSã䜿ããªããã¬ãŒãã³ã°ã®ããã®äžè²«ããäºéå²ãåœãŠ
YOLOv10ã¯ãè±å¯ãªç£èŠãšå¹ççãªãšã³ãã»ããŒã»ãšã³ãã®å±éãä¿èšŒããããã«ãåŠç¿äžã«äžå¯Ÿå€ãšäžå¯Ÿäžã®æŠç¥ãçµã¿åãããäºéã®ã©ãã«å²ãåœãŠãæ¡çšããŠãããäžè²«æ§ã®ãããããã³ã°ã¡ããªãã¯ã¯ãäž¡ã¹ãã©ããžãŒéã®ç£èŠãæŽåãããæšè«æã®äºæž¬å質ãåäžãããã
Holistic Efficiency-Accuracy Driven Model Design
å¹çæ§ã®åäž
- 軜éåé¡ãããïŒæ·±ãæ¹åã«åé¢å¯èœãªç³ã¿èŸŒã¿ã䜿çšããããšã§ãåé¡ãããã®èšç®ãªãŒããŒããããåæžã
- 空é-ãã£ã³ãã«åé¢ããŠã³ãµã³ããªã³ã°ïŒç©ºéçž®å°ãšãã£ãã«å€èª¿ãåãé¢ããæ å ±æ倱ãšèšç®ã³ã¹ããæå°éã«æããã
- ã©ã³ã¯èªå°åãããã¯èšèšïŒå åšããã¹ããŒãžã®åé·æ§ã«åºã¥ããŠãããã¯èšèšãé©å¿ããæé©ãªãã©ã¡ãŒã¿å©çšãä¿èšŒããŸãã
粟床ã®åäž
- ã©ãŒãžã«ãŒãã«ç³ã¿èŸŒã¿ïŒå容éãæ¡å€§ããŠç¹åŸŽæœåºèœåãé«ããã
- ããŒã·ã£ã«ã»ã«ãã¢ãã³ã·ã§ã³ïŒPSAïŒïŒã»ã«ãã¢ãã³ã·ã§ã³ã¢ãžã¥ãŒã«ãçµã¿èŸŒãããšã§ããªãŒããŒããããæå°éã«æããªããã°ããŒãã«è¡šçŸåŠç¿ãæ¹åã
å®éšãšçµæ
YOLOv10ã¯ãCOCOã®ãããªæšæºçãªãã³ãããŒã¯ã§åºç¯å²ã«ãã¹ããããåªããæ§èœãšå¹çãå®èšŒããŠããŸããYOLOv10ã¯ãæ§ã ãªããªãšãŒã·ã§ã³ã«ãããŠæå 端ã®çµæãéæããŠãããæ§ããŒãžã§ã³ãä»ã®ææ°ãã£ãã¯ã¿ãŒãšæ¯èŒããŠãã¬ã€ãã³ã·ãŒãšç²ŸåºŠãå€§å¹ ã«æ¹åãããŠããŸãã
æ¯èŒ
ä»ã®æå 端ã®æ€åºåšãšæ¯èŒããŠïŒ
- YOLOv10-S / Xã¯ãRT-DETR-R18 / R101ãšåçšåºŠã®ç²ŸåºŠã§ã1.8å / 1.3åé«éã§ããã
- YOLOv10-Bã¯YOLOv9-Cã«æ¯ã¹ãåã粟床ã§25%å°ãªããã©ã¡ãŒã¿ãš46%äœãã¬ã€ãã³ã·ãå®çŸã
- YOLOv10-L / Xã¯ãYOLOv8-L / Xã1.8å / 2.3åå°ãªããã©ã¡ãŒã¿ã§0.3AP / 0.5APäžåãã
ããã§ã¯ãYOLOv10ã®ããªãšãŒã·ã§ã³ãšä»ã®ææ°ã¢ãã«ã詳现ã«æ¯èŒããïŒ
ã¢ãã« | Params (M) |
FLOPs (G) |
mAPval 50-95 |
åŸ
ã¡æé (ms) |
ã¬ã€ãã³ã·ãŒ-ãã©ã¯ãŒã (ms) |
---|---|---|---|---|---|
YOLOv6-3.0-N | 4.7 | 11.4 | 37.0 | 2.69 | 1.76 |
ãŽãŒã«ãYOLO-N | 5.6 | 12.1 | 39.6 | 2.92 | 1.82 |
YOLOv8-N | 3.2 | 8.7 | 37.3 | 6.16 | 1.77 |
YOLOv10-N | 2.3 | 6.7 | 39.5 | 1.84 | 1.79 |
YOLOv6-3.0-S | 18.5 | 45.3 | 44.3 | 3.42 | 2.35 |
ãŽãŒã«ãYOLO-S | 21.5 | 46.0 | 45.4 | 3.82 | 2.73 |
YOLOv8-S | 11.2 | 28.6 | 44.9 | 7.07 | 2.33 |
YOLOv10-S | 7.2 | 21.6 | 46.8 | 2.49 | 2.39 |
RT-DETR-R18 | 20.0 | 60.0 | 46.5 | 4.58 | 4.49 |
YOLOv6-3.0-M | 34.9 | 85.8 | 49.1 | 5.63 | 4.56 |
ãŽãŒã«ãYOLO-M | 41.3 | 87.5 | 49.8 | 6.38 | 5.45 |
YOLOv8-M | 25.9 | 78.9 | 50.6 | 9.50 | 5.09 |
YOLOv10-M | 15.4 | 59.1 | 51.3 | 4.74 | 4.63 |
YOLOv6-3.0-L | 59.6 | 150.7 | 51.8 | 9.02 | 7.90 |
ãŽãŒã«ãYOLO-L | 75.1 | 151.7 | 51.8 | 10.65 | 9.78 |
YOLOv8-L | 43.7 | 165.2 | 52.9 | 12.39 | 8.06 |
RT-DETR-R50 | 42.0 | 136.0 | 53.1 | 9.20 | 9.07 |
YOLOv10-L | 24.4 | 120.3 | 53.4 | 7.28 | 7.21 |
YOLOv8-X | 68.2 | 257.8 | 53.9 | 16.86 | 12.83 |
RT-DETR-R101 | 76.0 | 259.0 | 54.3 | 13.71 | 13.58 |
YOLOv10-X | 29.5 | 160.4 | 54.4 | 10.70 | 10.60 |
䜿çšäŸ
YOLOv10ã§æ°ããç»åãäºæž¬ããããã«ïŒ
äŸ
ã«ã¹ã¿ã ããŒã¿ã»ããã§YOLOv10ããã¬ãŒãã³ã°ããïŒ
äŸ
ãµããŒããããã¿ã¹ã¯ãšã¢ãŒã
YOLOv10ã¢ãã«ã·ãªãŒãºã¯ãé«æ§èœãªç©äœæ€åºçšã«æé©åãããã¢ãã«ãåãæããŠããŸãããããã®ã¢ãã«ã¯ãããŸããŸãªèšç®ããŒãºã粟床èŠä»¶ã«å¯Ÿå¿ããå¹ åºãã¢ããªã±ãŒã·ã§ã³ã«å¯Ÿå¿ããŸãã
ã¢ãã« | ãã¡ã€ã«å | ã¿ã¹ã¯ | æšè« | ããªããŒã·ã§ã³ | ãã¬ãŒãã³ã° | èŒžåº |
---|---|---|---|---|---|---|
YOLOv10 | yolov10n.pt yolov10s.pt yolov10m.pt yolov10l.pt yolov10x.pt |
ç©äœæ€åº | â | â | â | â |
YOLOv10 ã®ãšã¯ã¹ããŒã
YOLOv10ã§å°å ¥ãããæ°ããæäœã®ãããUltralytics ãæäŸãããã¹ãŠã®ãšã¯ã¹ããŒã圢åŒãçŸåšãµããŒããããŠããããã§ã¯ãããŸããã以äžã®è¡šã¯ãYOLOv10ã§Ultralytics ãå€æã«æåãããã©ãŒãããã®æŠèŠã瀺ããŠããŸããYOLOv10ã§è¿œå ãã©ãŒãããã®ãšã¯ã¹ããŒããµããŒããè¿œå ããããã®è²¢ç®å€æŽãæäŸã§ããå Žåã¯ãé æ ®ãªããã«ãªã¯ãšã¹ããéããŠãã ããã
ãšã¯ã¹ããŒãåœ¢åŒ | Export Support | Exported Model Inference | åè |
---|---|---|---|
TorchScript | â | â | Standard PyTorch model format. |
ONNX | â | â | Widely supported for deployment. |
OpenVINO | â | â | Optimized for Intel hardware. |
TensorRT | â | â | Optimized for NVIDIA GPUs. |
CoreML | â | â | Limited to Apple devices. |
TF SavedModel | â | â | TensorFlow's standard model format. |
TF GraphDef | â | â | Legacy TensorFlow format. |
TF ã©ã€ã | â | â | Optimized for mobile and embedded. |
TF ãšããžTPU | â | â | Specific to Google's Edge TPU devices. |
TF.js | â | â | JavaScript environment for browser use. |
PaddlePaddle | â | â | Popular in China; less global support. |
NCNN | â | â | Layer torch.topk ååšããªãããç»é²ãããŠããŸãã |
çµè«
YOLOv10ã¯ãYOLO ã®æ§ããŒãžã§ã³ã®æ¬ ç¹ã«å¯ŸåŠããé©æ°çãªèšèšæŠç¥ãåãå ¥ããããšã§ããªã¢ã«ã¿ã€ã ã®ç©äœæ€åºã«ãããæ°ããªåºæºãæã¡ç«ãŠãŸãããäœãèšç®ã³ã¹ãã§é«ç²ŸåºŠãå®çŸããèœåã«ãããå®äžçã®å¹ åºãã¢ããªã±ãŒã·ã§ã³ã«çæ³çãªéžæè¢ãšãªã£ãŠããŸãã
åŒçšãšè¬èŸ
æž è¯å€§åŠã®YOLOv10å·çé£ã®åºç¯ãªç 究ãšãã¬ãŒã ã¯ãŒã¯ãžã®å€å€§ãªè²¢ç®ã«è¬æãè¡šãããã Ultralyticsãã¬ãŒã ã¯ãŒã¯
詳现ãªå®è£ ãã¢ãŒããã¯ãã£äžã®å·¥å€«ãå®éšçµæã«ã€ããŠã¯ãæž è¯å€§åŠããŒã ã«ããYOLOv10ã®ç 究è«æãš GitHubãªããžããªãåç §ããããã
ããããã質å
YOLOv10ãšã¯äœã§ããïŒãŸãã以åã®ããŒãžã§ã³ïŒYOLO ïŒãšã®éãã¯äœã§ããïŒ
æž è¯å€§åŠã®ç 究è ã«ãã£ãŠéçºãããYOLOv10ã¯ããªã¢ã«ã¿ã€ã ã®ç©äœæ€åºã«ããã€ãã®éèŠãªé©æ°ãå°å ¥ããŠãããYOLOv10ã¯ãåŠç¿äžã®äžè²«ãããã¥ã¢ã«å²ãåœãŠãšæé©åãããã¢ãã«ã³ã³ããŒãã³ããæ¡çšããããšã§ãéæ倧æå¶ïŒNMSïŒã®å¿ èŠæ§ãæé€ããèšç®ãªãŒããŒããããåæžããªããåªããããã©ãŒãã³ã¹ãå®çŸããŸããã¢ãŒããã¯ãã£ãšäž»èŠæ©èœã®è©³çŽ°ã«ã€ããŠã¯ãYOLOv10ã®æŠèŠã»ã¯ã·ã§ã³ãã芧ãã ããã
YOLOv10ã䜿ã£ãŠæšè«ãå§ããã«ã¯ïŒ
ç°¡åã«æšè«ãè¡ãã«ã¯ãUltralytics YOLO Python ã©ã€ãã©ãªããŸãã¯ã³ãã³ãã©ã€ã³ã€ã³ã¿ãŒãã§ãŒã¹ (CLI) ã䜿çšããããšãã§ããŸãã以äžã¯YOLOv10ã䜿ã£ãŠæ°ããç»åãäºæž¬ããäŸã§ããïŒ
äŸ
ãã®ä»ã®äœ¿çšäŸã«ã€ããŠã¯ã䜿çšäŸã®ã»ã¯ã·ã§ã³ãã芧ãã ããã
YOLOv10ã«ã¯ã©ã®ãããªã¢ãã«ããªãšãŒã·ã§ã³ããããã©ã®ãããªäœ¿çšäŸããããŸããïŒ
YOLOv10ã¯ãããŸããŸãªäœ¿çšã±ãŒã¹ã«å¯Ÿå¿ãããããããã€ãã®ã¢ãã«ããªãšãŒã·ã§ã³ãçšæããŠããïŒ
- YOLOv10-NïŒãªãœãŒã¹ã極端ã«å¶éãããç°å¢ã«æé©
- YOLOv10-SïŒã¹ããŒããšç²ŸåºŠã®ãã©ã³ã¹
- YOLOv10-MïŒäžè¬çš
- YOLOv10-BïŒå¹ ãåºããããšã§ããé«ã粟床ãå®çŸ
- YOLOv10-LïŒèšç®è³æºãç ç²ã«ããŠãé«ã粟床
- YOLOv10-XïŒæé«ã®ç²ŸåºŠãšããã©ãŒãã³ã¹
åããªã¢ã³ãã¯ãç°ãªãèšç®ããŒãºãšç²ŸåºŠèŠä»¶ã«åãããŠèšèšãããŠãããããããŸããŸãªã¢ããªã±ãŒã·ã§ã³ã«å¯Ÿå¿ã§ããŸãã詳ããã¯ãã¢ãã«ããªãšãŒã·ã§ã³ã®ã»ã¯ã·ã§ã³ãã芧ãã ããã
YOLOv10ã®NMSããªãŒã®ã¢ãããŒãã¯ã©ã®ããã«ããã©ãŒãã³ã¹ãåäžãããã®ãïŒ
YOLOv10ã¯ããã¬ãŒãã³ã°ã«äžè²«ãããã¥ã¢ã«å²ãåœãŠãæ¡çšããããšã§ãæšè«äžã®éæ倧æå¶ïŒNMSïŒã®å¿ èŠæ§ãæé€ããŠããããã®ã¢ãããŒãã¯æšè«ã®åŸ ã¡æéãççž®ããäºæž¬å¹çãåäžãããããŸãããã®ã¢ãŒããã¯ãã£ã«ã¯æšè«çšã®1察1ããããå«ãŸããŠãããåãªããžã§ã¯ããåäžã®æè¯äºæž¬ãåŸãããšãä¿èšŒããŸãã詳现ãªèª¬æã«ã€ããŠã¯ããNMS-Freeãã¬ãŒãã³ã°ã®ããã®äžè²«ãããã¥ã¢ã«å²ãåœãŠãã®ã»ã¯ã·ã§ã³ãåç §ããŠãã ããã
YOLOv10ã¢ãã«ã®ãšã¯ã¹ããŒããªãã·ã§ã³ã¯ã©ãã«ãããŸããïŒ
YOLOv10ã¯ãTorchScript ãONNX ãOpenVINO ãTensorRT ãå«ãããã€ãã®ãšã¯ã¹ããŒãã»ãã©ãŒãããããµããŒãããŠããŸããããããUltralytics ãæäŸãããšã¯ã¹ããŒãã»ãã©ãŒãããã¯ãæ°ããæäœã®ãããçŸåšYOLOv10ã§ã¯ãã¹ãŠãµããŒããããŠããããã§ã¯ãããŸããããµããŒããããŠãããã©ãŒãããã®è©³çŽ°ãšãšã¯ã¹ããŒãã®æé ã«ã€ããŠã¯ãYOLOv10ã®ãšã¯ã¹ããŒãã®ã»ã¯ã·ã§ã³ãã芧ãã ããã
YOLOv10ã¢ãã«ã®ããã©ãŒãã³ã¹ãã³ãããŒã¯ã¯ïŒ
YOLOv10ã¯ã粟床ãšå¹çã®äž¡æ¹ã«ãããŠãYOLO ã®æ§ããŒãžã§ã³ãä»ã®æå 端ã¢ãã«ãåé§ããŠãããäŸãã°ãYOLOv10-Sã¯ãCOCOããŒã¿ã»ããäžã§åæ§ã®APãæã€RT-DETR-R18ããã1.8åé«éã§ãããYOLOv10-Bã¯ãåãæ§èœã®YOLOv9-Cãšæ¯èŒããŠãã¬ã€ãã³ã·ã46%å°ãªãããã©ã¡ãŒã¿ã25%å°ãªãã詳现ãªãã³ãããŒã¯ã¯ãæ¯èŒã»ã¯ã·ã§ã³ã«ãããŸãã