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

рд╡рд╕реНрддреБ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдирд╛

рд╡рд╕реНрддреБ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг

рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдПрдХ рдРрд╕рд╛ рдХрд╛рд░реНрдп рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрд┐рд╕реА рдЫрд╡рд┐ рдпрд╛ рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕реНрдерд╛рди рдФрд░ рд╡рд░реНрдЧ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИред

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



рд╕рддрд░реНрдХрддрд╛: рдкреВрд░реНрд╡-рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХреЗ рд╕рд╛рде рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди Ultralytics YOLOv8 рдХреЛ рдЧрдврд╝рдирд╛ред

рдиреЛрдХ

YOLOv8 рдбрд┐рдЯреЗрдХреНрдЯ рдореЙрдбрд▓ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИрдВ YOLOv8 рдореЙрдбрд▓, рдЕрд░реНрдерд╛рддред yolov8n.pt рдФрд░ рдкрд░ рдкреВрд░реНрд╡рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рд╣реИрдВ рдХреЛрдХреЛ.

рдореЙрдбрд▓

YOLOv8 рдкреВрд░реНрд╡-рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдбрд┐рдЯреЗрдХреНрдЯ рдореЙрдбрд▓ рдпрд╣рд╛рдВ рджрд┐рдЦрд╛рдП рдЧрдП рд╣реИрдВред рдбрд┐рдЯреЗрдХреНрдЯ, рд╕реЗрдЧрдореЗрдВрдЯ рдФрд░ рдкреЛрдЬрд╝ рдореЙрдбрд▓ COCO рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрд░ рдкреВрд░реНрд╡-рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рд╣реИрдВ, рдЬрдмрдХрд┐ рд╡рд░реНрдЧреАрдХреГрдд рдореЙрдбрд▓ рдЗрдореЗрдЬрдиреЗрдЯ рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрд░ рдкреВрд░реНрд╡-рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рд╣реИрдВред

рдореЙрдбрд▓ рдирд╡реАрдирддрдо рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ Ultralytics рдкрд╣рд▓реЗ рдЙрдкрдпреЛрдЧ рдкрд░ рд░рд┐рд▓реАрдЬ рдХрд░реЗрдВред

рдХреЛ рдЧрдврд╝рдирд╛ рдЖрдХрд╛рд░ рд╡рд╛рд▓рд╛
(рдкрд┐рдХреНрд╕реЗрд▓)
рдорд╛рдирдЪрд┐рддреНрд░рд╡реИрд▓
50-95
рдЧрддрд┐
рд╕реАрдкреАрдпреВ ONNX
(рдПрдордПрд╕)
рдЧрддрд┐
рдП100 TensorRT
(рдПрдордПрд╕)
рдкрд░рдо
(рдПрдо)
рдлреНрд▓реЙрдк
(рдмреА)
YOLOv8n 640 37.3 80.4 0.99 3.2 8.7
YOLOv8s 640 44.9 128.4 1.20 11.2 28.6
YOLOv8m 640 50.2 234.7 1.83 25.9 78.9
YOLOv8l 640 52.9 375.2 2.39 43.7 165.2
YOLOv8x 640 53.9 479.1 3.53 68.2 257.8
  • mAPval рдорд╛рди рдПрдХрд▓-рдореЙрдбрд▓ рдПрдХрд▓-рдкреИрдорд╛рдиреЗ рдкрд░ рд╣реИрдВ COCO val2017 рдбреЗрдЯрд╛рд╕реЗрдЯред
    рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдЬрдирди рдХрд░рдирд╛ yolo val detect data=coco.yaml device=0
  • рдЧрддрд┐ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ COCO val рдЫрд╡рд┐рдпреЛрдВ рдкрд░ рдФрд╕рдд рдЕрдореЗрдЬрд╝рди EC2 P4d рдЙрджрд╛рд╣рд░рдгред
    рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдЬрдирди рдХрд░рдирд╛ yolo val detect data=coco8.yaml batch=1 device=0|cpu

рд░реЗрд▓рдЧрд╛рдбрд╝реА

рд░реЗрд▓рдЧрд╛рдбрд╝реА YOLOv8n рдЫрд╡рд┐ рдЖрдХрд╛рд░ 640 рдкрд░ 100 рдпреБрдЧреЛрдВ рдХреЗ рд▓рд┐рдП COCO8 рдбреЗрдЯрд╛рд╕реЗрдЯ рдкрд░ред рдЙрдкрд▓рдмреНрдз рддрд░реНрдХреЛрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП , рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреГрд╖реНрда рджреЗрдЦреЗрдВ.

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

from ultralytics import YOLO

# Load a model
model = YOLO('yolov8n.yaml')  # build a new model from YAML
model = YOLO('yolov8n.pt')  # load a pretrained model (recommended for training)
model = YOLO('yolov8n.yaml').load('yolov8n.pt')  # build from YAML and transfer weights

# Train the model
results = model.train(data='coco8.yaml', epochs=100, imgsz=640)
# Build a new model from YAML and start training from scratch
yolo detect train data=coco8.yaml model=yolov8n.yaml epochs=100 imgsz=640

# Start training from a pretrained *.pt model
yolo detect train data=coco8.yaml model=yolov8n.pt epochs=100 imgsz=640

# Build a new model from YAML, transfer pretrained weights to it and start training
yolo detect train data=coco8.yaml model=yolov8n.yaml pretrained=yolov8n.pt epochs=100 imgsz=640

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

YOLO рдбреЗрдЯрд╛рд╕реЗрдЯ рдЧрд╛рдЗрдб рдореЗрдВ рдбрд┐рдЯреЗрдХреНрд╢рди рдбреЗрдЯрд╛рд╕реЗрдЯ рдкреНрд░рд╛рд░реВрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ рдбреЗрдЯрд╛рд╕реЗрдЯ рдХреЛ рдЕрдиреНрдп рдкреНрд░рд╛рд░реВрдкреЛрдВ (рдЬреИрд╕реЗ COCO рдЖрджрд┐) рд╕реЗ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдПYOLO рдкреНрд░рд╛рд░реВрдк, рдХреГрдкрдпрд╛ JSON2YOLO рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ Ultralytics.

рд╡реИрд▓

рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдорд╛рдиреНрдп рдХрд░реЗрдВ 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

рднрд╡рд┐рд╖реНтАНрдпрд╡рд╛рдгреА рдХрд░рдирд╛

рдПрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рдХрд╛ рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВ YOLOv8n рдЫрд╡рд┐рдпреЛрдВ рдкрд░ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгрд┐рдпрд╛рдВ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ред

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

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

# Predict with the model
results = model('https://ultralytics.com/images/bus.jpg')  # predict on an image
yolo detect predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'  # predict with official model
yolo detect predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg'  # predict with custom model

рдкреВрд░рд╛ рджреЗрдЦреЗрдВ predict рдореЛрдб рд╡рд┐рд╡рд░рдг рдореЗрдВ рднрд╡рд┐рд╖реНтАНрдпрд╡рд╛рдгреА рдХрд░рдирд╛ рдкреГрд╖реНрдаред

рдирд┐рд░реНрдпрд╛рддрд┐рдд рдорд╛рд▓

рдирд┐рд░реНрдпрд╛рдд a YOLOv8n рдореЙрдбрд▓ рдХреЛ рдХрд┐рд╕реА рднрд┐рдиреНрди рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЬреИрд╕реЗ ONNX, CoreMLрдЖрджрд┐ред

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

from ultralytics import YOLO

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

# Export the model
model.export(format='onnx')
yolo export model=yolov8n.pt format=onnx  # export official model
yolo export model=path/to/best.pt format=onnx  # export custom trained model

рд╕реБрд▓рдн YOLOv8 рдирд┐рд░реНрдпрд╛рдд рдкреНрд░рд╛рд░реВрдк рдиреАрдЪреЗ рджреА рдЧрдИ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╣реИрдВред рдЖрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рднреА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ format рддрд░реНрдХ, рдЕрд░реНрдерд╛рддред format='onnx' рдирд╣реАрдВ рддреЛ format='engine'. рдЖрдк рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЧрдП рдореЙрдбрд▓ рдкрд░ рд╕реАрдзреЗ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдпрд╛ рдорд╛рдиреНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддред yolo predict model=yolov8n.onnx. рдирд┐рд░реНрдпрд╛рдд рдкреВрд░реНрдг рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЖрдкрдХреЗ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг рджрд┐рдЦрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ.

рдкреНрд░рд╛рд░реВрдк format рдпреБрдХреНрддрд┐ рдХреЛ рдЧрдврд╝рдирд╛ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рддрд░реНрдХ
PyTorch - yolov8n.pt тЬЕ -
TorchScript torchscript yolov8n.torchscript тЬЕ imgsz, optimize, batch
ONNX onnx yolov8n.onnx тЬЕ imgsz, half, dynamic, simplify, opset, batch
OpenVINO openvino yolov8n_openvino_model/ тЬЕ imgsz, half, int8, batch
TensorRT engine yolov8n.engine тЬЕ imgsz, half, dynamic, simplify, workspace, batch
CoreML coreml yolov8n.mlpackage тЬЕ imgsz, half, int8, nms, batch
TF SavedModel saved_model yolov8n_saved_model/ тЬЕ imgsz, keras, int8, batch
TF GraphDef pb yolov8n.pb тЭМ imgsz, batch
TF рд▓рд╛рдЗрдЯ tflite yolov8n.tflite тЬЕ imgsz, half, int8, batch
TF рдХрд┐рдирд╛рд░рд╛ TPU edgetpu yolov8n_edgetpu.tflite тЬЕ imgsz, batch
TFредрдЬреЗ рдПрд╕ tfjs yolov8n_web_model/ тЬЕ imgsz, half, int8, batch
PaddlePaddle paddle yolov8n_paddle_model/ тЬЕ imgsz, batch
NCNN ncnn yolov8n_ncnn_model/ тЬЕ imgsz, half, batch

рдкреВрд░рд╛ рджреЗрдЦреЗрдВ export рдореЗрдВ рд╡рд┐рд╡рд░рдг рдирд┐рд░реНрдпрд╛рддрд┐рдд рдорд╛рд▓ рдкреГрд╖реНрдаред



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

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