рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЬрд╛рдПрдВ

OBB рдХреЗ рд╕рд╛рде DOTA рдбреЗрдЯрд╛рд╕реЗрдЯ

DOTA рдПрдХ рд╡рд┐рд╢реЗрд╖ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЦрдбрд╝рд╛ рд╣реИ, рдЬреЛ рд╣рд╡рд╛рдИ рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рд╡рд╕реНрддреБ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдкрд░ рдЬреЛрд░ рджреЗрддрд╛ рд╣реИред рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреА DOTA рд╢реНрд░реГрдВрдЦрд▓рд╛ рд╕реЗ рдЙрддреНрдкрдиреНрди, рдпрд╣ рдУрд░рд┐рдПрдВрдЯреЗрдб рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ (OBB) рдХреЗ рд╕рд╛рде рд╣рд╡рд╛рдИ рджреГрд╢реНрдпреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╡рд┐рдз рд╕рд░рдгреА рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдПрдиреЛрдЯреЗрдЯ рдХреА рдЧрдИ рдЫрд╡рд┐рдпрд╛рдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

DOTA рдХрдХреНрд╖рд╛рдПрдВ рджреГрд╢реНрдп

рдкреНрд░рдореБрдЦ рд╡рд┐рд╢реЗрд╖рддрд╛рдРрдВ

  • рд╡рд┐рднрд┐рдиреНрди рд╕реЗрдВрд╕рд░ рдФрд░ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рд╕реЗ рд╕рдВрдЧреНрд░рд╣, 800 ├Ч 800 рд╕реЗ 20,000 ├Ч 20,000 рдкрд┐рдХреНрд╕реЗрд▓ рддрдХ рдХреА рдЫрд╡рд┐ рдЖрдХрд╛рд░ рдХреЗ рд╕рд╛рдеред
  • 18 рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ 1.7M рд╕реЗ рдЕрдзрд┐рдХ рдУрд░рд┐рдПрдВрдЯреЗрдб рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рд╣реИрдВред
  • рдорд▓реНрдЯреАрд╕реНрдХреЗрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реИред
  • рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рджреНрд╡рд╛рд░рд╛ рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ (8 d.o.f.) рдЪрддреБрд░реНрднреБрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╡рд┐рднрд┐рдиреНрди рдкреИрдорд╛рдиреЗ, рдЕрднрд┐рд╡рд┐рдиреНрдпрд╛рд╕ рдФрд░ рдЖрдХреГрддрд┐рдпреЛрдВ рдХреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдХреЗ рдПрдиреЛрдЯреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕рдВрд╕реНрдХрд░рдг

рдбреЛрдЯрд╛-v1.0

  • рдЗрд╕рдореЗрдВ 15 рд╕рд╛рдорд╛рдиреНрдп рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
  • 188,282 рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде 2,806 рдЫрд╡рд┐рдпрд╛рдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
  • рд╡рд┐рднрд╛рдЬрд┐рдд рдЕрдиреБрдкрд╛рдд: рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП 1/2, рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП 1/6, рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП 1/3ред

рдбреЛрдЯрд╛-v1.5

  • DOTA-v1.0 рдХреЗ рд╕рдорд╛рди рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИред
  • рдмрд╣реБрдд рдЫреЛрдЯреЗ рдЙрджрд╛рд╣рд░рдг (10 рдкрд┐рдХреНрд╕реЗрд▓ рд╕реЗ рдХрдо) рднреА рдПрдиреЛрдЯреЗрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
  • рдПрдХ рдирдИ рд╢реНрд░реЗрдгреА рдХрд╛ рдЬреЛрдбрд╝: "рдХрдВрдЯреЗрдирд░ рдХреНрд░реЗрди"ред
  • рдХреБрд▓ 403,318 рдЙрджрд╛рд╣рд░рдгред
  • рд╣рд╡рд╛рдИ рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдкрд░ рдбреАрдУрдПрдЖрдИ рдЪреИрд▓реЗрдВрдЬ 2019 рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рдбреЛрдЯрд╛-v2.0

  • рд╕реЗ рд╕рдВрдЧреНрд░рд╣ Google рдкреГрдереНрд╡реА, GF-2 рдЙрдкрдЧреНрд░рд╣ рдФрд░ рдЕрдиреНрдп рд╣рд╡рд╛рдИ рдЪрд┐рддреНрд░ред
  • рдЗрд╕рдореЗрдВ 18 рд╕рд╛рдорд╛рдиреНрдп рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
  • 1,793,658 рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде 11,268 рдЫрд╡рд┐рдпрд╛рдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
  • рдирдИ рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рдкреЗрд╢ рдХреА рдЧрдИрдВ: "рд╣рд╡рд╛рдИ рдЕрдбреНрдбрд╛" рдФрд░ "рд╣реЗрд▓реАрдкреИрдб"ред
  • рдЫрд╡рд┐ рд╡рд┐рднрд╛рдЬрди:
    • рдкреНрд░рд╢рд┐рдХреНрд╖рдг: 1,830 рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде 268,627 рдЫрд╡рд┐рдпрд╛рдВред
    • рд╕рддреНрдпрд╛рдкрди: 81,048 рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде 593 рдЫрд╡рд┐рдпрд╛рдВред
    • рдЯреЗрд╕реНрдЯ-рджреЗрд╡: 353,346 рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде 2,792 рдЫрд╡рд┐рдпрд╛рдВред
    • рдЯреЗрд╕реНрдЯ-рдЪреИрд▓реЗрдВрдЬ: 1,090,637 рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде 6,053 рдЫрд╡рд┐рдпрд╛рдВред

рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕рдВрд░рдЪрдирд╛

DOTA OBB рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдЪреБрдиреМрддрд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рдПрдХ рд╕рдВрд░рдЪрд┐рдд рд▓реЗрдЖрдЙрдЯ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ:

  • рдЫрд╡рд┐рдпрд╛рдВ: рд╡рд┐рд╡рд┐рдз рдЗрд▓рд╛рдХреЛрдВ рдФрд░ рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдЙрдЪреНрдЪ-рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╣рд╡рд╛рдИ рдЫрд╡рд┐рдпреЛрдВ рдХрд╛ рдПрдХ рд╡рд┐рд╢рд╛рд▓ рд╕рдВрдЧреНрд░рд╣ред
  • рдУрд░рд┐рдПрдВрдЯреЗрдб рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕: рдШреБрдорд╛рдП рдЧрдП рдЖрдпрддреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдиреЛрдЯреЗрд╢рди, рдЬреЛ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЙрдирдХреЗ рдЕрднрд┐рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рдмрд╛рд╡рдЬреВрдж рд╕рдорд╛рд╣рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рд╣рд╡рд╛рдИ рдЬрд╣рд╛рдЬ, рдЬрд╣рд╛рдЬреЛрдВ рдФрд░ рдЗрдорд╛рд░рддреЛрдВ рдЬреИрд╕реА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╣реИрдВред

рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ

DOTA рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╣рд╡рд╛рдИ рдЫрд╡рд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдореЙрдбрд▓ рдХреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдФрд░ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рд▓рд┐рдП рдПрдХ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред OBB рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде, рдпрд╣ рдПрдХ рдЕрдиреВрдареА рдЪреБрдиреМрддреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдореЙрдбрд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╣рд╡рд╛рдИ рдЗрдореЗрдЬрд░реА рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ.

рдбреЗрдЯрд╛рд╕реЗрдЯ YAML

рдЖрдорддреМрд░ рдкрд░, рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ рдПрдХ YAML (рдЕрднреА рддрдХ рдПрдХ рдФрд░ рдорд╛рд░реНрдХрдЕрдк рднрд╛рд╖рд╛) рдлрд╝рд╛рдЗрд▓ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреА рд╣реИ рдЬреЛ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд╛ рд╡рд┐рд╡рд░рдг рджреЗрддреА рд╣реИред DOTA v1 рдФрд░ DOTA v1.5 рдХреЗ рд▓рд┐рдП, Ultralytics рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ DOTAv1.yaml рдФрд░ DOTAv1.5.yaml рдлрд╝рд╛рдЗрд▓реЗрдВред рдЗрди рдкрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде-рд╕рд╛рде DOTA v2 рдХреЗ рд▓рд┐рдП рдХреГрдкрдпрд╛ DOTA рдХреЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рднрдВрдбрд╛рд░ рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рд╕реЗ рдкрд░рд╛рдорд░реНрд╢ рд▓реЗрдВред

DOTAv1.yaml

# Ultralytics YOLO ЁЯЪА, AGPL-3.0 license
# DOTA 1.0 dataset https://captain-whu.github.io/DOTA/index.html for object detection in aerial images by Wuhan University
# Documentation: https://docs.ultralytics.com/datasets/obb/dota-v2/
# Example usage: yolo train model=yolov8n-obb.pt data=DOTAv1.yaml
# parent
# тФЬтФАтФА ultralytics
# тФФтФАтФА datasets
#     тФФтФАтФА dota1  тЖР downloads here (2GB)

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ../datasets/DOTAv1 # dataset root dir
train: images/train # train images (relative to 'path') 1411 images
val: images/val # val images (relative to 'path') 458 images
test: images/test # test images (optional) 937 images

# Classes for DOTA 1.0
names:
  0: plane
  1: ship
  2: storage tank
  3: baseball diamond
  4: tennis court
  5: basketball court
  6: ground track field
  7: harbor
  8: bridge
  9: large vehicle
  10: small vehicle
  11: helicopter
  12: roundabout
  13: soccer ball field
  14: swimming pool

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/DOTAv1.zip

DOTA рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВ

DOTA рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЙрдЪреНрдЪ-рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╡рд╛рд▓реА рдореВрд▓ DOTA рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдорд▓реНрдЯреАрд╕реНрдХреЗрд▓ рддрд░реАрдХреЗ рд╕реЗ 1024x1024 рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╡рд╛рд▓реА рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВред

рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВ

from ultralytics.data.split_dota import split_test, split_trainval

# split train and val set, with labels.
split_trainval(
    data_root="path/to/DOTAv1.0/",
    save_dir="path/to/DOTAv1.0-split/",
    rates=[0.5, 1.0, 1.5],  # multiscale
    gap=500,
)
# split test set, without labels.
split_test(
    data_root="path/to/DOTAv1.0/",
    save_dir="path/to/DOTAv1.0-split/",
    rates=[0.5, 1.0, 1.5],  # multiscale
    gap=500,
)

рдЙрдкрдпреЛрдЧ

DOTA v1 рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрд░ рдХрд┐рд╕реА рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдирд┐рдореНрди рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрдкрд▓рдмреНрдз рддрд░реНрдХреЛрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХрд╛ рд╕рдВрджрд░реНрдн рд▓реЗрдВред

рдЪреЗрддрд╛рд╡рдиреА

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ DOTAv1 рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ рд╕рднреА рдЫрд╡рд┐рдпреЛрдВ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реИрдХреНрд╖рдгрд┐рдХ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЙрдкрдпреЛрдЧ рдирд┐рд╖рд┐рджреНрдз рд╣реИред рдбреЗрдЯрд╛рд╕реЗрдЯ рдирд┐рд░реНрдорд╛рддрд╛рдУрдВ рдХреА рдЗрдЪреНрдЫрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреА рд╕рдордЭ рдФрд░ рд╕рдореНрдорд╛рди рдХреА рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ!

рдЯреНрд░реЗрди рдХрд╛ рдЙрджрд╛рд╣рд░рдг

from ultralytics import YOLO

# Create a new YOLOv8n-OBB model from scratch
model = YOLO("yolov8n-obb.yaml")

# Train the model on the DOTAv2 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=640)
# Train a new YOLOv8n-OBB model on the DOTAv2 dataset
yolo obb train data=DOTAv1.yaml model=yolov8n-obb.pt epochs=100 imgsz=640

рдирдореВрдирд╛ рдбреЗрдЯрд╛ рдФрд░ рдПрдиреЛрдЯреЗрд╢рди

рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рдиреЗ рд╕реЗ рдЗрд╕рдХреА рдЧрд╣рд░рд╛рдИ рдХрд╛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ:

рдбреЗрдЯрд╛рд╕реЗрдЯ рдирдореВрдирд╛ рдЫрд╡рд┐

  • DOTA рдЙрджрд╛рд╣рд░рдг: рдпрд╣ рд╕реНрдиреИрдкрд╢реЙрдЯ рд╣рд╡рд╛рдИ рджреГрд╢реНрдпреЛрдВ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдФрд░ рдУрд░рд┐рдПрдВрдЯреЗрдб рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рдорд╣рддреНрд╡ рдХреЛ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░рддрд╛ рд╣реИ, рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЙрдирдХреЗ рдкреНрд░рд╛рдХреГрддрд┐рдХ рдЕрднрд┐рд╡рд┐рдиреНрдпрд╛рд╕ рдореЗрдВ рдХреИрдкреНрдЪрд░ рдХрд░рддрд╛ рд╣реИред

рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреА рд╕рдореГрджреНрдзрд┐ рд╣рд╡рд╛рдИ рдЗрдореЗрдЬрд░реА рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдЪреБрдиреМрддрд┐рдпреЛрдВ рдореЗрдВ рдЕрдореВрд▓реНрдп рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред

рдкреНрд░рд╢рдВрд╕рд╛ рдкрддреНрд░ рдФрд░ рдкрд╛рд╡рддреА

рдЕрдкрдиреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдореЗрдВ DOTA рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╢реЛрдз рдкрддреНрд░реЛрдВ рдХрд╛ рд╣рд╡рд╛рд▓рд╛ рджреЗрдирд╛ рдЙрдЪрд┐рдд рд╣реИ:

@article{9560031,
  author={Ding, Jian and Xue, Nan and Xia, Gui-Song and Bai, Xiang and Yang, Wen and Yang, Michael and Belongie, Serge and Luo, Jiebo and Datcu, Mihai and Pelillo, Marcello and Zhang, Liangpei},
  journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
  title={Object Detection in Aerial Images: A Large-Scale Benchmark and Challenges},
  year={2021},
  volume={},
  number={},
  pages={1-1},
  doi={10.1109/TPAMI.2021.3117983}
}

рдЗрд╕ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЛ рдХреНрдпреВрд░реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рдЙрдирдХреЗ рд╕рд░рд╛рд╣рдиреАрдп рдкреНрд░рдпрд╛рд╕ рдХреЗ рд▓рд┐рдП DOTA рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рдкреАрдЫреЗ рдХреА рдЯреАрдо рдХрд╛ рд╡рд┐рд╢реЗрд╖ рд╕рдореНрдорд╛рдиред рдбреЗрдЯрд╛рд╕реЗрдЯ рдФрд░ рдЗрд╕рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреА рд╕рдВрдкреВрд░реНрдг рд╕рдордЭ рдХреЗ рд▓рд┐рдП, рдХреГрдкрдпрд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ DOTA рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдЬрд╛рдПрдВред

рдЕрдХреНрд╕рд░ рдкреВрдЫреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рд╢реНрди

DOTA рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреНрдпрд╛ рд╣реИ рдФрд░ рд╣рд╡рд╛рдИ рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рд╡рд╕реНрддреБ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХреНрдпреЛрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ?

DOTA рдбреЗрдЯрд╛рд╕реЗрдЯ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдбреЗрдЯрд╛рд╕реЗрдЯ рд╣реИ рдЬреЛ рд╣рд╡рд╛рдИ рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рд╡рд╕реНрддреБ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред рдЗрд╕рдореЗрдВ рдУрд░рд┐рдПрдВрдЯреЗрдб рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ (OBB) рдХреА рд╕реБрд╡рд┐рдзрд╛ рд╣реИ, рдЬреЛ рд╡рд┐рд╡рд┐рдз рд╣рд╡рд╛рдИ рджреГрд╢реНрдпреЛрдВ рд╕реЗ рдПрдиреЛрдЯреЗрдЯ рдХреА рдЧрдИ рдЫрд╡рд┐рдпрд╛рдВ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред рдЗрд╕рдХреЗ 1.7M рдПрдиреЛрдЯреЗрд╢рди рдФрд░ 18 рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдУрд░рд┐рдПрдВрдЯреЗрд╢рди, рд╕реНрдХреЗрд▓ рдФрд░ рдЖрдХрд╛рд░ рдореЗрдВ DOTA рдХреА рд╡рд┐рд╡рд┐рдзрддрд╛ рдЗрд╕реЗ рд╣рд╡рд╛рдИ рдЗрдореЗрдЬрд░реА рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдореЙрдбрд▓ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдФрд░ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рдмрдирд╛рддреА рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдирд┐рдЧрд░рд╛рдиреА, рдкрд░реНрдпрд╛рд╡рд░рдг рдирд┐рдЧрд░рд╛рдиреА рдФрд░ рдЖрдкрджрд╛ рдкреНрд░рдмрдВрдзрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗред

DOTA рдбреЗрдЯрд╛рд╕реЗрдЯ рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдкреИрдорд╛рдиреЛрдВ рдФрд░ рдЕрднрд┐рд╡рд┐рдиреНрдпрд╛рд╕реЛрдВ рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ?

DOTA рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рдУрд░рд┐рдПрдВрдЯреЗрдб рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ (OBB) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдШреБрдорд╛рдП рдЧрдП рдЖрдпрддреЛрдВ рджреНрд╡рд╛рд░рд╛ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЙрдирдХреЗ рдЕрднрд┐рд╡рд┐рдиреНрдпрд╛рд╕ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рд╕рдордЭрд╛рддреЗ рд╣реИрдВред рдпрд╣ рд╡рд┐рдзрд┐ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреА рд╣реИ рдХрд┐ рд╡рд╕реНрддреБрдПрдВ, рдЪрд╛рд╣реЗ рдЫреЛрдЯреА рд╣реЛрдВ рдпрд╛ рд╡рд┐рднрд┐рдиреНрди рдХреЛрдгреЛрдВ рдкрд░, рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдХреИрдкреНрдЪрд░ рдХреА рдЬрд╛рддреА рд╣реИрдВред рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреА рдорд▓реНрдЯреАрд╕реНрдХреЗрд▓ рдЫрд╡рд┐рдпрд╛рдВ, 800 ├Ч 800 рд╕реЗ 20,000 ├Ч 20,000 рдкрд┐рдХреНрд╕рд▓ рддрдХ, рдЖрдЧреЗ рдЫреЛрдЯреА рдФрд░ рдмрдбрд╝реА рджреЛрдиреЛрдВ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВред

рдореИрдВ DOTA рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рдореЙрдбрд▓ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?

DOTA рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрд░ рдХрд┐рд╕реА рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдирд┐рдореНрди рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ Ultralytics YOLO:

рдЯреНрд░реЗрди рдХрд╛ рдЙрджрд╛рд╣рд░рдг

from ultralytics import YOLO

# Create a new YOLOv8n-OBB model from scratch
model = YOLO("yolov8n-obb.yaml")

# Train the model on the DOTAv1 dataset
results = model.train(data="DOTAv1.yaml", epochs=100, imgsz=640)
# Train a new YOLOv8n-OBB model on the DOTAv1 dataset
yolo obb train data=DOTAv1.yaml model=yolov8n-obb.pt epochs=100 imgsz=640

DOTA рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдФрд░ рдкреНрд░реАрдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рд╡рд┐рднрд╛рдЬрд┐рдд DOTA рдЫрд╡рд┐рдпрд╛рдБ рдЕрдиреБрднрд╛рдЧ рджреЗрдЦреЗрдВред

DOTA-v1.0, DOTA-v1.5 рдФрд░ DOTA-v2.0 рдореЗрдВ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИрдВ?

  • DOTA-v1.0: 188,282 рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде 2,806 рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ 15 рд╕рд╛рдорд╛рдиреНрдп рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рдг, рд╕рддреНрдпрд╛рдкрди рдФрд░ рдкрд░реАрдХреНрд╖рдг рд╕реЗрдЯ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

  • DOTA-v1.5: рдмрд╣реБрдд рдЫреЛрдЯреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ (10 рдкрд┐рдХреНрд╕реЗрд▓ рд╕реЗ рдХрдо) рдХреЛ рдПрдиреЛрдЯреЗрдЯ рдХрд░рдХреЗ рдФрд░ рдПрдХ рдирдИ рд╢реНрд░реЗрдгреА, "рдХрдВрдЯреЗрдирд░ рдХреНрд░реЗрди" рдЬреЛрдбрд╝рдХрд░ DOTA-v1.0 рдкрд░ рдмрдирд╛рддрд╛ рд╣реИ, рдХреБрд▓ 403,318 рдЙрджрд╛рд╣рд░рдгред

  • DOTA-v2.0: рд╕реЗ рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдлреИрд▓рддрд╛ рд╣реИ Google рдкреГрдереНрд╡реА рдФрд░ GF-2 рдЙрдкрдЧреНрд░рд╣, рдЬрд┐рд╕рдореЗрдВ 11,268 рдЪрд┐рддреНрд░ рдФрд░ 1,793,658 рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред рдЗрд╕рдореЗрдВ "рд╣рд╡рд╛рдИ рдЕрдбреНрдбреЗ" рдФрд░ "рд╣реЗрд▓реАрдкреИрдб" рдЬреИрд╕реА рдирдИ рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

рд╡рд┐рд╕реНрддреГрдд рддреБрд▓рдирд╛ рдФрд░ рдЕрддрд┐рд░рд┐рдХреНрдд рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕рдВрд╕реНрдХрд░рдг рдЕрдиреБрднрд╛рдЧ рджреЗрдЦреЗрдВред

рдореИрдВ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЙрдЪреНрдЪ-рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди DOTA рдЫрд╡рд┐рдпрд╛рдВ рдХреИрд╕реЗ рддреИрдпрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?

DOTA рдЫрд╡рд┐рдпрд╛рдВ, рдЬреЛ рдмрд╣реБрдд рдмрдбрд╝реА рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдкреНрд░рдмрдВрдзрдиреАрдп рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдЫреЛрдЯреЗ рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИрдВред рдпрд╣рд╛рдБ рдПрдХ рд╣реИ Python рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдирд┐рдкреЗрдЯ:

рдЙрджрд╛рд╣рд░рдг

from ultralytics.data.split_dota import split_test, split_trainval

# split train and val set, with labels.
split_trainval(
    data_root="path/to/DOTAv1.0/",
    save_dir="path/to/DOTAv1.0-split/",
    rates=[0.5, 1.0, 1.5],  # multiscale
    gap=500,
)
# split test set, without labels.
split_test(
    data_root="path/to/DOTAv1.0/",
    save_dir="path/to/DOTAv1.0-split/",
    rates=[0.5, 1.0, 1.5],  # multiscale
    gap=500,
)

рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмреЗрд╣рддрд░ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рджрдХреНрд╖рддрд╛ рдФрд░ рдореЙрдбрд▓ рдкреНрд░рджрд░реНрд╢рди рдХреА рд╕реБрд╡рд┐рдзрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред рд╡рд┐рд╕реНрддреГрдд рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП, рд╡рд┐рднрд╛рдЬрд┐рдд DOTA рдЫрд╡рд┐рдпреЛрдВ рдЕрдиреБрднрд╛рдЧ рдкрд░ рдЬрд╛рдПрдБред



рдмрдирд╛рдпрд╛ рдЧрдпрд╛ 2023-11-12, рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 2024-07-04
рд▓реЗрдЦрдХ: рдЧреНрд▓реЗрди-рдЬреЛрдЪрд░ (10), рд▓рд╛рдлрд┐рдВрдЧ-рдХреНрдпреВ (1)

рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ