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

рдУрд░рд┐рдПрдВрдЯреЗрдб рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ (OBB) рдбреЗрдЯрд╛рд╕реЗрдЯ рдЕрд╡рд▓реЛрдХрди

рдЙрдиреНрдореБрдЦ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ (OBB) рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдЯреАрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрдкреВрд░реНрдг рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рд╡рд┐рднрд┐рдиреНрди OBB рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕реНрд╡рд░реВрдкреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдмрддрд╛рддреА рд╣реИ Ultralytics YOLO рдореЙрдбрд▓, рдЙрдирдХреА рд╕рдВрд░рдЪрдирд╛, рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдФрд░ рдкреНрд░рд╛рд░реВрдк рд░реВрдкрд╛рдВрддрд░рдгреЛрдВ рдХреЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред

рд╕рдорд░реНрдерд┐рдд OBB рдбреЗрдЯрд╛рд╕реЗрдЯ рдкреНрд░рд╛рд░реВрдк

YOLO рдУрдмреАрдмреА рдкреНрд░рд╛рд░реВрдк

рд╡рд╣реА YOLO OBB рдкреНрд░рд╛рд░реВрдк 0 рдФрд░ 1 рдХреЗ рдмреАрдЪ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рд╕рд╛рде рдЙрдирдХреЗ рдЪрд╛рд░ рдХреЛрдиреЗ рдмрд┐рдВрджреБрдУрдВ рджреНрд╡рд╛рд░рд╛ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдХреЛ рдирд╛рдорд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЗрд╕ рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рддрд╛ рд╣реИ:

class_index, x1, y1, x2, y2, x3, y3, x4, y4

рдЖрдВрддрд░рд┐рдХ YOLO рдиреБрдХрд╕рд╛рди рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ xywhr рдкреНрд░рд╛рд░реВрдк, рдЬреЛ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдХреЗ рдХреЗрдВрджреНрд░ рдмрд┐рдВрджреБ (xy), рдЪреМрдбрд╝рд╛рдИ, рдКрдВрдЪрд╛рдИ рдФрд░ рд░реЛрдЯреЗрд╢рди рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред

OBB рдкреНрд░рд╛рд░реВрдк рдЙрджрд╛рд╣рд░рдг

рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг *.txt рдЙрдкрд░реЛрдХреНрдд рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП рд▓реЗрдмрд▓ рдлрд╝рд╛рдЗрд▓, рдЬрд┐рд╕рдореЗрдВ рд╡рд░реНрдЧ рдХреА рдПрдХ рд╡рд╕реНрддреБ рд╣реИ 0 OBB рдкреНрд░рд╛рд░реВрдк рдореЗрдВ, рдРрд╕рд╛ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:

0 0.780811 0.743961 0.782371 0.74686 0.777691 0.752174 0.776131 0.749758

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

рдЗрди OBB рдкреНрд░рд╛рд░реВрдкреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рдореЙрдбрд▓ рдХреЛ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:

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

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 detect train data=DOTAv1.yaml model=yolov8n.pt epochs=100 imgsz=640

рд╕рдорд░реНрдерд┐рдд рдбреЗрдЯрд╛рд╕реЗрдЯ

рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдУрд░рд┐рдПрдВрдЯреЗрдб рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдХреЗ рд╕рд╛рде рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ:

  • DOTA v2: DOTA (рдПрд░рд┐рдпрд▓ рдЗрдореЗрдЬ рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдбреЗрдЯрд╛рд╕реЗрдЯ) рд╕рдВрд╕реНрдХрд░рдг 2, рд╣рд╡рд╛рдИ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдкрд░ рдЬреЛрд░ рджреЗрддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ 1.7 рдорд┐рд▓рд┐рдпрди рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдФрд░ 11,268 рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдУрд░рд┐рдПрдВрдЯреЗрдб рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

  • рдбреЛрдЯрд╛8: рдкреВрд░реНрдг DOTA рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд╛ рдПрдХ рдЫреЛрдЯрд╛, 8-рдЫрд╡рд┐ рд╕рдмрд╕реЗрдЯ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдФрд░ рдирд┐рд░рдВрддрд░ рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╣реИ (CI) OBB рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреА рдЬрд╛рдБрдЪ ultralytics рдХреЛрд╖ред

рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ OBB рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛

рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЙрдиреНрдореБрдЦ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдкреЗрд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, "YOLO рдУрдмреАрдмреА рдкреНрд░рд╛рд░реВрдк" рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдкрдиреЗ рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рдЗрд╕ рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░реЗрдВ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд YAML рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрде, рд╡рд░реНрдЧ рдФрд░ рд╡рд░реНрдЧ рдирд╛рдореЛрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг рджреЗрдВред

рдХрдиреНрд╡рд░реНрдЯ рд▓реЗрдмрд▓ рдкреНрд░рд╛рд░реВрдк

DOTA рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЛ рдлрд╝реЙрд░реНрдореИрдЯ рдХрд░реЗрдВ YOLO рдУрдмреАрдмреА рдкреНрд░рд╛рд░реВрдк

рд▓реЗрдмрд▓ рдХреЛ DOTA рдбреЗрдЯрд╛рд╕реЗрдЯ рдлреЙрд░реНрдореЗрдЯ рд╕реЗ YOLO OBB рдкреНрд░рд╛рд░реВрдк рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

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

from ultralytics.data.converter import convert_dota_to_yolo_obb

convert_dota_to_yolo_obb('path/to/DOTA')

рдпрд╣ рд░реВрдкрд╛рдВрддрд░рдг рддрдВрддреНрд░ DOTA рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЬреЛ Ultralytics YOLO OBB рдкреНрд░рд╛рд░реВрдкред

рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреА рд╕рдВрдЧрддрддрд╛ рдХреЛ рдорд╛рдиреНрдп рдХрд░рдирд╛ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рд╛рд░реВрдк рд╕рдореНрдореЗрд▓рдиреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИред рдЙрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрд░рдЪрд┐рдд рдбреЗрдЯрд╛рд╕реЗрдЯ рдЙрдиреНрдореБрдЦ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдХреЗ рд╕рд╛рде рдХреБрд╢рд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдореЙрдбрд▓ рдХреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВред



2023-11-12 рдмрдирд╛рдпрд╛ рдЧрдпрд╛, рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ 2024-01-25
рд▓реЗрдЦрдХ: рдЧреНрд▓реЗрди-рдЬреЛрдЪрд░ (6)

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