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

рдореЙрдбрд▓ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд╕рд╛рде Ultralytics YOLO

Ultralytics YOLO рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдФрд░ рдПрдХреАрдХрд░рдг

рдкрд░рд┐рдЪрдп

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



рд╕рддрд░реНрдХрддрд╛: Ultralytics рдореЛрдб рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓: рд╕рддреНрдпрд╛рдкрди

рдХреЗ рд╕рд╛рде рдорд╛рдиреНрдп рдХреНрдпреЛрдВ рдХрд░реЗрдВ Ultralytics YOLO?

рдпрд╣рд╛рдБ рдХреНрдпреЛрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ YOLOv8рд╡реИрд▓ рдореЛрдб рдлрд╛рдпрджреЗрдордВрдж рд╣реИ:

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

рд╡реИрд▓ рдореЛрдб рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ

рдпреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛рдПрдВ рд╣реИрдВ YOLOv8рд╡реИрд▓ рдореЛрдб:

  • рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕: рдореЙрдбрд▓ рд╕реАрдзреЗ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВред
  • рдмрд╣реБ-рдореАрдЯреНрд░рд┐рдХ рд╕рдорд░реНрдерди: рд╕рдЯреАрдХрддрд╛ рдореАрдЯреНрд░рд┐рдХ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЕрдкрдиреЗ рдореЙрдбрд▓ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░реЗрдВред
  • CLI рдФрд░ Python API: рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдореЗрдВ рд╕реЗ рдЪреБрдиреЗрдВ рдпрд╛ Python рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рдЖрдкрдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдкреАрдЖрдИред
  • рдбреЗрдЯрд╛ рд╕рдВрдЧрддрддрд╛: рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдЪрд░рдг рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдХрд╕реНрдЯрдо рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рджреМрд░рд╛рди рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрдмрд╛рдз рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдиреЛрдХ

  • YOLOv8 рдореЙрдбрд▓ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдиреА рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдпрд╛рдж рд░рдЦрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдПрдХ рдореЙрдбрд▓ рдХреЛ рд╕рдорд╛рди рдЫрд╡рд┐ рдЖрдХрд╛рд░ рдореЗрдВ рдФрд░ рдореВрд▓ рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ yolo val model=yolov8n.pt рдирд╣реАрдВ рддреЛ model('yolov8n.pt').val()

рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг

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

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

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Validate the model
metrics = model.val()  # no arguments needed, dataset and settings remembered
metrics.box.map  # map50-95
metrics.box.map50  # map50
metrics.box.map75  # map75
metrics.box.maps  # a list contains map50-95 of each category
yolo detect val model=yolov8n.pt  # val official model
yolo detect val model=path/to/best.pt  # val custom model

рдХреЗ рд▓рд┐рдП рддрд░реНрдХ YOLO рдореЙрдбрд▓ рд╕рддреНрдпрд╛рдкрди

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

рдпреБрдХреНрддрд┐ рдкреНрд░рдХрд╛рд░ рдЪреВрдХ рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо
data str None рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ (рдЙрджрд╛ред coco8.yaml). рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рддреНрдпрд╛рдкрди рдбреЗрдЯрд╛, рд╡рд░реНрдЧ рдирд╛рдо рдФрд░ рд╡рд░реНрдЧреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдкрде рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
imgsz int 640 рдЗрдирдкреБрдЯ рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИред рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдкрд╣рд▓реЗ рд╕рднреА рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдЗрд╕ рдЖрдпрд╛рдо рдореЗрдВ рдЖрдХрд╛рд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
batch int 16 рдкреНрд░рддрд┐ рдмреИрдЪ рдЫрд╡рд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдкреНрд░рдпреЛрдЧ -1 рдСрдЯреЛрдмреИрдЪ рдХреЗ рд▓рд┐рдП, рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рдорд╛рдпреЛрдЬрд┐рдд рд╣реЛрддрд╛ рд╣реИ GPU рд╕реНрдореГрддрд┐ рдЙрдкрд▓рдмреНрдзрддрд╛ред
save_json bool False рдЕрдЧрд░ True, рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдЖрдЧреЗ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдпрд╛ рдЕрдиреНрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреЗ рд▓рд┐рдП JSON рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬрддрд╛ рд╣реИред
save_hybrid bool False рдЕрдЧрд░ True, рд▓реЗрдмрд▓ рдХреЗ рдПрдХ рд╣рд╛рдЗрдмреНрд░рд┐рдб рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕рд╣реЗрдЬрддрд╛ рд╣реИ рдЬреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдореЙрдбрд▓ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдореВрд▓ рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИред
conf float 0.001 рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдиреНрдпреВрдирддрдо рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╕реАрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕реАрдорд╛ рд╕реЗ рдиреАрдЪреЗ рдЖрддреНрдорд╡рд┐рд╢реНрд╡рд╛рд╕ рдХреЗ рд╕рд╛рде рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
iou float 0.6 рдЧреИрд░-рдЕрдзрд┐рдХрддрдо рджрдорди (NMS) рдХреЗ рд▓рд┐рдП рдЪреМрд░рд╛рд╣реЗ рдХреЛ рд╕рдВрдШ (IoU) рд╕реАрдорд╛ рдкрд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдХреЛ рдХрдо рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред
max_det int 300 рдкреНрд░рддрд┐ рдЫрд╡рд┐ рдбрд┐рдЯреЗрдХреНрд╢рди рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИред рдЕрддреНрдпрдзрд┐рдХ рдкрд╣рдЪрд╛рди рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдШрдиреЗ рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧреАред
half bool True рдЕрд░реНрдз-рдкрд░рд┐рд╢реБрджреНрдзрддрд╛ (FP16) рдЧрдгрдирд╛ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИ, рд╕реНрдореГрддрд┐ рдЙрдкрдпреЛрдЧ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рдЯреАрдХрддрд╛ рдкрд░ рдиреНрдпреВрдирддрдо рдкреНрд░рднрд╛рд╡ рдХреЗ рд╕рд╛рде рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЧрддрд┐ рдмрдврд╝рд╛рддрд╛ рд╣реИред
device str None рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рдбрд┐рд╡рд╛рдЗрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ (cpu, cuda:0, рдЖрджрд┐)ред рдЙрдкрдпреЛрдЧ рдореЗрдВ рд▓рдЪреАрд▓реЗрдкрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ CPU рдирд╣реАрдВ рддреЛ GPU рд╕рдВрд╕рд╛рдзрдиред
dnn bool False рдЕрдЧрд░ True, рдХреЗ рд▓рд┐рдП OpenCV DNN рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ ONNX рдореЙрдбрд▓ рдЕрдиреБрдорд╛рди, рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреА рдкреЗрд╢рдХрд╢ PyTorch рдЕрдиреБрдорд╛рди рдХреЗ рддрд░реАрдХреЗред
plots bool False рдЬрдм рд╕реЗрдЯ рдХрд░реЗрдВ True, рдореЙрдбрд▓ рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рджреГрд╢реНрдп рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рд▓рд┐рдП рдЬрдореАрдиреА рд╕рдЪреНрдЪрд╛рдИ рдмрдирд╛рдо рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгрд┐рдпреЛрдВ рдХреЗ рднреВрдЦрдВрдбреЛрдВ рдХреЛ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдФрд░ рдмрдЪрд╛рддрд╛ рд╣реИред
rect bool False рдЕрдЧрд░ True, рдмреИрдЪрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЖрдпрддрд╛рдХрд╛рд░ рдЕрдиреБрдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдкреИрдбрд┐рдВрдЧ рдХреЛ рдХрдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдЧрддрд┐ рдФрд░ рджрдХреНрд╖рддрд╛ рдмрдврд╝рд╛рддрд╛ рд╣реИред
split str val рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рд╕реЗрдЯ рд╡рд┐рднрд╛рдЬрди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ (val, testрдирд╣реАрдВ рддреЛ train). рдкреНрд░рджрд░реНрд╢рди рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕реЗрдЧрдореЗрдВрдЯ рдЪреБрдирдиреЗ рдореЗрдВ рд▓рдЪреАрд▓реЗрдкрди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

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

рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рдЙрджрд╛рд╣рд░рдг рд╕рддреНрдпрд╛рдкрди

рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рддреЗ рд╣реИрдВ YOLO рдореЗрдВ рдХрд╕реНрдЯрдо рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рдореЙрдбрд▓ рд╕рддреНрдпрд╛рдкрди Python рдФрд░ CLI.

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

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")

# Customize validation settings
validation_results = model.val(data="coco8.yaml", imgsz=640, batch=16, conf=0.25, iou=0.6, device="0")
yolo val model=yolov8n.pt data=coco8.yaml imgsz=640 batch=16 conf=0.25 iou=0.6 device=0

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

рдореИрдВ рдЕрдкрдиреЗ рдХреЛ рдХреИрд╕реЗ рдорд╛рдиреНрдп рдХрд░реВрдВ YOLOv8 рдХреЗ рд╕рд╛рде рдореЙрдбрд▓ Ultralytics?

рдЕрдкрдиреЗ рдХреЛ рдорд╛рдиреНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП YOLOv8 рдореЙрдбрд▓, рдЖрдк рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рд╡реИрд▓ рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ Ultralytics. рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Python рдПрдкреАрдЖрдИ, рдЖрдк рдПрдХ рдореЙрдбрд▓ рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рддреНрдпрд╛рдкрди рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ:

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")

# Validate the model
metrics = model.val()
print(metrics.box.map)  # map50-95

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдк рдЖрджреЗрд╢-рдкрдВрдХреНрддрд┐ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ (CLI):

yolo val model=yolov8n.pt

рдЖрдЧреЗ рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП, рдЖрдк рд╡рд┐рднрд┐рдиреНрди рддрд░реНрдХреЛрдВ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ imgsz, batchрдФрд░ conf рджреЛрдиреЛрдВ рдореЗрдВ Python рдФрд░ CLI рдореЛрдбред рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХреЗ рд▓рд┐рдП рддрд░реНрдХ YOLO рдореЙрдбрд▓ рд╕рддреНрдпрд╛рдкрди рдкреИрд░рд╛рдореАрдЯрд░ рдХреА рдкреВрд░реА рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рдЕрдиреБрднрд╛рдЧред

рдореБрдЭреЗ рдХреМрди-рдХреМрди рд╕реЗ рдореАрдЯреНрд░рд┐рдХ рдорд┐рд▓ рд╕рдХрддреЗ рд╣реИрдВ YOLOv8 рдореЙрдбрд▓ рд╕рддреНрдпрд╛рдкрди?

YOLOv8 рдореЙрдбрд▓ рд╕рддреНрдпрд╛рдкрди рдореЙрдбрд▓ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдкреНрд░рдореБрдЦ рдореАрдЯреНрд░рд┐рдХ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдореЗ рд╢рд╛рдорд┐рд▓ рд╣реИ:

  • mAP50 (IoU рдереНрд░реЗрд╢реЛрд▓реНрдб 0.5 рдкрд░ рдФрд╕рдд рдкрд░рд┐рд╢реБрджреНрдзрддрд╛)
  • mAP75 (IoU рдереНрд░реЗрд╢реЛрд▓реНрдб 0.75 рдкрд░ рдФрд╕рдд рдкрд░рд┐рд╢реБрджреНрдзрддрд╛)
  • mAP50-95 (0.5 рд╕реЗ 0.95 рддрдХ рдХрдИ IoU рдереНрд░реЗрд╕рд╣реЛрд▓реНрдб рдореЗрдВ рдФрд╕рдд рдкрд░рд┐рд╢реБрджреНрдзрддрд╛)

рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ Python API, рдЖрдк рдЗрди рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

metrics = model.val()  # assumes `model` has been loaded
print(metrics.box.map)  # mAP50-95
print(metrics.box.map50)  # mAP50
print(metrics.box.map75)  # mAP75
print(metrics.box.maps)  # list of mAP50-95 for each category

рд╕рдВрдкреВрд░реНрдг рдкреНрд░рджрд░реНрд╢рди рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рд▓рд┐рдП, рдЗрди рд╕рднреА рдореАрдЯреНрд░рд┐рдХ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рд╡реИрд▓ рдореЛрдб рдХреА рдкреНрд░рдореБрдЦ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рджреЗрдЦреЗрдВред

рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХреНрдпрд╛ рдлрд╛рдпрджреЗ рд╣реИрдВ Ultralytics YOLO рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП?

рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Ultralytics YOLO рд╕рддреНрдпрд╛рдкрди рдХреЗ рд▓рд┐рдП рдХрдИ рдлрд╛рдпрджреЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:

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

рдпреЗ рд▓рд╛рдн рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рдореЙрдбрд▓ рдХрд╛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдмреЗрд╣рддрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореЗрдВ рдЗрди рд▓рд╛рднреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдиреЗрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдорд╛рдиреНрдп рдХреНрдпреЛрдВ рдХрд░реЗрдВ Ultralytics YOLO рдХрд░реНрддрдиред

рдХреНрдпрд╛ рдореИрдВ рдЕрдкрдиреЗ рдХреЛ рдорд╛рдиреНрдп рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ YOLOv8 рдХрд╕реНрдЯрдо рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЙрдбрд▓?

рд╣рд╛рдВ, рдЖрдк рдЕрдкрдиреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ YOLOv8 рдХрд╕реНрдЯрдо рдбреЗрдЯрд╛рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдореЙрдбрд▓ред рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ data рдЖрдкрдХреЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЗ рдкрде рдХреЗ рд╕рд╛рде рддрд░реНрдХред рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рддреНрдпрд╛рдкрди рдбреЗрдЯрд╛, рд╡рд░реНрдЧ рдирд╛рдо рдФрд░ рдЕрдиреНрдп рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╡рд┐рд╡рд░рдг рдХреЗ рдкрде рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред

рдЙрджрд╛рд╣рд░рдг рдореЗрдВ Python:

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")

# Validate with a custom dataset
metrics = model.val(data="path/to/your/custom_dataset.yaml")
print(metrics.box.map)  # map50-95

рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ CLI:

yolo val model=yolov8n.pt data=path/to/your/custom_dataset.yaml

рд╕рддреНрдпрд╛рдкрди рдХреЗ рджреМрд░рд╛рди рдЕрдзрд┐рдХ рдЕрдиреБрдХреВрд▓рди рдпреЛрдЧреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП, рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдЙрджрд╛рд╣рд░рдг рд╕рддреНрдпрд╛рдкрди рдЕрдиреБрднрд╛рдЧ рджреЗрдЦреЗрдВ.

рдореИрдВ рд╕рддреНрдпрд╛рдкрди рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ JSON рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреИрд╕реЗ рд╕рд╣реЗрдЬреВрдБ YOLOv8?

рд╕рддреНрдпрд╛рдкрди рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ JSON рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк save_json рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реНрдХ True рд╕рддреНрдпрд╛рдкрди рдЪрд▓рд╛рддреЗ рд╕рдордпред рдпрд╣ рджреЛрдиреЛрдВ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ Python API рдФрд░ CLI.

рдЙрджрд╛рд╣рд░рдг рдореЗрдВ Python:

from ultralytics import YOLO

# Load a model
model = YOLO("yolov8n.pt")

# Save validation results to JSON
metrics = model.val(save_json=True)

рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ CLI:

yolo val model=yolov8n.pt save_json=True

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



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

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