OBBïŒOriented Bounding BoxïŒããŒã¿ã»ããã®æŠèŠ
ãªãªãšã³ãããããŠã³ãã£ã³ã°ããã¯ã¹ïŒOBBïŒã䜿ã£ãæ£ç¢ºãªç©äœæ€åºã¢ãã«ã®ãã¬ãŒãã³ã°ã«ã¯ã綿å¯ãªããŒã¿ã»ãããå¿ èŠã§ãããã®ã¬ã€ãã§ã¯ãUltralytics YOLO ã¢ãã«ãšäºææ§ã®ããããŸããŸãª OBB ããŒã¿ã»ãã圢åŒã«ã€ããŠèª¬æãããã®æ§é ãé©çšã圢åŒå€æã®æ¹æ³ã«ã€ããŠã®æŽå¯ãæäŸããŸãã
ãµããŒããããOBBããŒã¿ã»ãããã©ãŒããã
YOLO OBBãã©ãŒããã
YOLO OBBãã©ãŒãããã¯ã0ãš1ã®éã§æ£èŠåããã座æšãæã€4ã€ã®ã³ãŒããŒãã€ã³ãã§ããŠã³ãã£ã³ã°ããã¯ã¹ãæå®ããïŒ
å
éšçã«ã¯ãYOLO ã§æ倱ãšã¢ãŠãããããåŠçããã xywhr
ãã©ãŒãããã§è¡šãããã ããŠã³ãã£ã³ã°ããã¯ã¹ã®äžå¿ç¹ïŒxyïŒãå¹
ãé«ããå転ã
ã®äžäŸã§ããã *.txt
äžã®ç»åã®ã©ãã«ãã¡ã€ã«ã«ã¯ãã¯ã©ã¹ 0
OBBãã©ãŒãããã§ã¯ã次ã®ããã«ãªãïŒ
䜿çšæ¹æ³
ãããã®OBBãã©ãŒãããã䜿ã£ãŠã¢ãã«ããã¬ãŒãã³ã°ããïŒ
äŸ
察å¿ããŒã¿ã»ãã
çŸåšãOriented Bounding Boxesãæã€ä»¥äžã®ããŒã¿ã»ããããµããŒããããŠããŸãïŒ
- DOTA-v1: DOTAããŒã¿ã»ããã®æåã®ããŒãžã§ã³ã§ãç©äœæ€åºã®ããã®ããŠã³ãã£ã³ã°ããã¯ã¹ãåããå æ¬çãªèªç©ºç»åã»ããã
- DOTA-v1.5ïŒDOTAããŒã¿ã»ããã®äžéããŒãžã§ã³ã§ãDOTA-v1ããã泚éãè¿œå ãããç©äœæ€åºã¿ã¹ã¯ãæ¹åãããŠããã
- DOTA-v2ïŒDOTA (A Large-scale Dataset for Object Detection in Aerial Images)ããŒãžã§ã³2ã¯ã空äžèŠç¹ããã®æ€åºã«éç¹ã眮ããŠããã170äžã€ã³ã¹ã¿ã³ã¹ãš11,268æã®ç»åãå«ãæ¹åæå®ããŠã³ãã£ã³ã°ããã¯ã¹ãå«ãã
- DOTA8:DOTAããŒã¿ã»ããã®8ç»åãããªãå°èŠæš¡ãªãµãã»ããã§ããã¹ãã¯ãŒã¯ãããŒãOBBãã¬ãŒãã³ã°ã®ç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ïŒCIïŒãã§ãã¯ã«é©ããŠããã
ultralytics
ãªããžããª
ç¬èªã®OBBããŒã¿ã»ãããçµã¿èŸŒã
ãªãªãšã³ããããªããŠã³ãã£ã³ã°ããã¯ã¹ãæã€ç¬èªã®ããŒã¿ã»ãããå°å ¥ãããå Žåã¯ãäžèšã®"YOLO OBB format "ãšã®äºææ§ã確èªããŠãã ãããã¢ãããŒã·ã§ã³ããã®ãã©ãŒãããã«å€æãã察å¿ãã YAML èšå®ãã¡ã€ã«ã«ãã¹ãã¯ã©ã¹ãã¯ã©ã¹åãèšè¿°ããŸãã
ã©ãã«ãã©ãŒãããã®å€æ
DOTA ããŒã¿ã»ãããã©ãŒãããããYOLO OBB ãã©ãŒããããž
DOTAããŒã¿ã»ãããã©ãŒãããããYOLO OBBãã©ãŒããããžã®ã©ãã«ã®ç§»è¡ã¯ããã®ã¹ã¯ãªããã§è¡ãããšãã§ããïŒ
äŸ
ãã®å€æã¡ã«ããºã ã¯ãDOTAãã©ãŒãããã®ããŒã¿ã»ããã«æå¹ã§ãUltralytics YOLO OBBãã©ãŒããããšã®æŽåãä¿èšŒããã
ããŒã¿ã»ãããšã¢ãã«ã®äºææ§ãæ€èšŒããå¿ èŠãªãã©ãŒãããèŠçŽãéµå®ããããšãäžå¯æ¬ ã§ããé©åã«æ§é åãããããŒã¿ã»ããã¯ããªãªãšã³ããããªããŠã³ãã£ã³ã°ããã¯ã¹ãæã€å¹ççãªãªããžã§ã¯ãæ€åºã¢ãã«ããã¬ãŒãã³ã°ããããã«æ¥µããŠéèŠã§ãã
ããããã質å
OBBïŒOriented Bounding BoxesïŒãšã¯äœãïŒãŸããUltralytics YOLO ã¢ãã«ã§ã©ã®ããã«äœ¿ãããŠããã®ãïŒ
OBBïŒOriented Bounding BoxesïŒã¯ãããŠã³ãã£ã³ã°ããã¯ã¹ã®ã¢ãããŒã·ã§ã³ã®äžçš®ã§ãåã«è»žãåãããã ãã§ãªããæ€åºããããªããžã§ã¯ãã«ããè¿ããªãããã«ããã¯ã¹ãå転ãããããšãã§ããŸããããã¯ããªããžã§ã¯ããç»å軞ãšæŽåããŠããªãå¯èœæ§ããã空äžç»åãè¡æç»åã§ç¹ã«åœ¹ç«ã¡ãŸããUltralytics YOLO ã¢ãã«ã§ã¯ãOBB ã¯YOLO OBB ãã©ãŒãããã®åé ã®ç¹ã§è¡šããããããã«ãããããŠã³ãã£ã³ã°ããã¯ã¹ãå転ããŠãªããžã§ã¯ãã«ãã£ãããããããªããããããæ£ç¢ºãªãªããžã§ã¯ãæ€åºãå¯èœã«ãªããŸãã
Ultralytics YOLO11 ã§äœ¿çšããããã«ãæ¢åã® DOTA ããŒã¿ã»ããã»ã©ãã«ãYOLO OBB ãã©ãŒãããã«å€æããã«ã¯ã©ãããã°ããã§ããïŒ
DOTA ããŒã¿ã»ããã®ã©ãã«ã¯ãYOLO OBB ãã©ãŒãããã«å€æã§ããŸãã convert_dota_to_yolo_obb
Ultralyticsãã®å€æã«ãããUltralytics YOLO ã¢ãã«ãšã®äºææ§ã確ä¿ãããOBB æ©èœã掻çšããŠãªããžã§ã¯ãæ€åºã匷åããããšãã§ããŸããç°¡åãªäŸã瀺ããŸãïŒ
from ultralytics.data.converter import convert_dota_to_yolo_obb
convert_dota_to_yolo_obb("path/to/DOTA")
ãã®ã¹ã¯ãªããã¯DOTAã®æ³šéãYOLO ãšäºææ§ã®ãããã©ãŒãããã«åãã©ãŒãããããŸãã
ç§ã®ããŒã¿ã»ããã§ããªãªãšã³ãããã»ããŠã³ãã£ã³ã°ã»ããã¯ã¹ïŒOBBïŒã䜿ã£ãŠYOLO11 ã¢ãã«ããã¬ãŒãã³ã°ããã«ã¯ïŒ
OBBã䜿ã£ãYOLO11 ã¢ãã«ã®ãã¬ãŒãã³ã°ã§ã¯ãããŒã¿ã»ãããYOLO OBBãã©ãŒãããã§ããããšã確èªããUltralytics APIã䜿ã£ãŠã¢ãã«ããã¬ãŒãã³ã°ããŸãã以äžã¯ãPython ãšCLI ã®äž¡æ¹ã®äŸã§ããïŒ
äŸ
ããã«ãããã¢ãã«ã詳现ãªOBBã¢ãããŒã·ã§ã³ã掻çšããæ€åºç²ŸåºŠãåäžããŸãã
Ultralytics YOLO ã¢ãã«ã®OBBãã¬ãŒãã³ã°ã«çŸåšå¯Ÿå¿ããŠããããŒã¿ã»ããã¯ïŒ
çŸåšãUltralytics ã¯OBBãã¬ãŒãã³ã°çšã«ä»¥äžã®ããŒã¿ã»ããããµããŒãããŠããïŒ
- DOTA-v1: DOTAããŒã¿ã»ããã®æåã®ããŒãžã§ã³ã§ãç©äœæ€åºã®ããã®ããŠã³ãã£ã³ã°ããã¯ã¹ãåããå æ¬çãªèªç©ºç»åã»ããã
- DOTA-v1.5ïŒDOTAããŒã¿ã»ããã®äžéããŒãžã§ã³ã§ãDOTA-v1ããã泚éãè¿œå ãããç©äœæ€åºã¿ã¹ã¯ãæ¹åãããŠããã
- DOTA-v2ïŒãã®ããŒã¿ã»ããã«ã¯ããªãªãšã³ããããªããŠã³ãã£ã³ã°ããã¯ã¹ãæã€170äžåã®ã€ã³ã¹ã¿ã³ã¹ãš11,268æã®ç»åãå«ãŸããäž»ã«ç©ºäžç©äœã®æ€åºã«éç¹ã眮ããŠããã
- DOTA8ïŒãã¹ããšç¶ç¶çã€ã³ãã°ã¬ãŒã·ã§ã³ïŒCIïŒãã§ãã¯ã«äœ¿çšããããDOTAããŒã¿ã»ããã®å°ãã8ç»åã®ãµãã»ããã
ãããã®ããŒã¿ã»ããã¯ãèªç©ºç»åãè¡æç»åã®è§£æãªã©ãOBBã倧ããªå©ç¹ãæäŸããã·ããªãªçšã«èª¿æŽãããŠããã
YOLO11 ã®ãã¬ãŒãã³ã°ã«ãããŠã³ãã£ã³ã°ããã¯ã¹ãé åãããç¬èªã®ããŒã¿ã»ããã䜿ãããšã¯ã§ããŸããã
ã¯ããYOLO11 ã®ãã¬ãŒãã³ã°ã«ãããŠã³ãã£ã³ã°ããã¯ã¹ãæå®ããç¬èªã®ããŒã¿ã»ããã䜿çšããããšãã§ããŸããããŒã¿ã»ããã®ã¢ãããŒã·ã§ã³ãYOLO OBB ãã©ãŒãããã«å€æãããŠããããšã確èªããŠãã ããããããŠãããŒã¿ã»ããã®ãã¹ãã¯ã©ã¹ããã®ä»ã®å¿ èŠãªè©³çŽ°ãæå®ããYAMLèšå®ãã¡ã€ã«ãäœæããŸããããŒã¿ã»ããã®äœæãšèšå®ã®è©³çŽ°ã«ã€ããŠã¯ãããµããŒããããããŒã¿ã»ãããã®ã»ã¯ã·ã§ã³ãåç §ããŠãã ããã