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

рдЧрддрд┐ рдЕрдиреБрдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ Ultralytics YOLOv8 ЁЯЪА

рд╕реНрдкреАрдб рдЕрдиреБрдорд╛рди рдХреНрдпрд╛ рд╣реИ?

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



рд╕рддрд░реНрдХрддрд╛: рдЧрддрд┐ рдЕрдиреБрдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ Ultralytics YOLOv8

рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ

рдЧрддрд┐ рдЕрдиреБрдорд╛рди рдореЗрдВ рдЧрд╣рд░реА рдЕрдВрддрд░реНрджреГрд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рджреЗрдЦреЗрдВ: Ultralytics YOLOv8 рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬрди рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЧрддрд┐ рдЕрдиреБрдорд╛рди рдХреЗ рд▓рд┐рдП

рдЧрддрд┐ рдЕрдиреБрдорд╛рди рдХреЗ рд▓рд╛рдн?

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

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ

рдкрд░рд┐рд╡рд╣рди рдкрд░рд┐рд╡рд╣рди
рд╕рдбрд╝рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧрддрд┐ рдЕрдиреБрдорд╛рди Ultralytics YOLOv8 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдкреБрд▓ рдкрд░ рдЧрддрд┐ рдЕрдиреБрдорд╛рди Ultralytics YOLOv8
рд╕рдбрд╝рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧрддрд┐ рдЕрдиреБрдорд╛рди Ultralytics YOLOv8 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдкреБрд▓ рдкрд░ рдЧрддрд┐ рдЕрдиреБрдорд╛рди Ultralytics YOLOv8

рдЧрддрд┐ рдЕрдиреБрдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ YOLOv8 рдЙрджрд╛рд╣рд░рдг

import cv2

from ultralytics import YOLO, solutions

model = YOLO("yolov8n.pt")
names = model.model.names

cap = cv2.VideoCapture("path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

# Video writer
video_writer = cv2.VideoWriter("speed_estimation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

line_pts = [(0, 360), (1280, 360)]

# Init speed-estimation obj
speed_obj = solutions.SpeedEstimator(
    reg_pts=line_pts,
    names=names,
    view_img=True,
)

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break

    tracks = model.track(im0, persist=True, show=False)

    im0 = speed_obj.estimate_speed(im0, tracks)
    video_writer.write(im0)

cap.release()
video_writer.release()
cv2.destroyAllWindows()
рдЧрддрд┐ рдЕрдиреБрдорд╛рди рд╣реИ

рдЧрддрд┐ рдПрдХ рдЕрдиреБрдорд╛рди рд╣реЛрдЧрд╛ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдЯреАрдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдЕрдиреБрдорд╛рди рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ GPU рдЧрддрд┐ред

рддрд░реНрдХ SpeedEstimator

рдирд╛рдо рдкреНрд░рдХрд╛рд░ рдЪреВрдХ рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо
names dict None рд╡рд░реНрдЧ рдХреЗ рдирд╛рдореЛрдВ рдХрд╛ рд╢рдмреНрджрдХреЛрд╢ред
reg_pts list [(20, 400), (1260, 400)] рдЧрддрд┐ рдЕрдиреБрдорд╛рди рдХреЗ рд▓рд┐рдП рдХреНрд╖реЗрддреНрд░ рдмрд┐рдВрджреБрдУрдВ рдХреА рд╕реВрдЪреАред
view_img bool False рдЫрд╡рд┐ рдХреЛ рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ.
line_thickness int 2 рдбреНрд░рд╛рдЗрдВрдЧ рдмреЙрдХреНрд╕ рдФрд░ рдЯреНрд░реИрдХ рдХреЗ рд▓рд┐рдП рд▓рд╛рдЗрдиреЛрдВ рдХреА рдореЛрдЯрд╛рдИред
region_thickness int 5 рдХреНрд╖реЗрддреНрд░ рд░реЗрдЦрд╛рдУрдВ рдХреА рдореЛрдЯрд╛рдИред
spdl_dist_thresh int 10 рдЧрддрд┐ рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рджреВрд░реА рджрд╣рд▓реАрдЬред

рддрд░реНрдХ model.track

рдирд╛рдо рдкреНрд░рдХрд╛рд░ рдЪреВрдХ рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо
source im0 None рдЫрд╡рд┐рдпреЛрдВ рдпрд╛ рд╡реАрдбрд┐рдпреЛ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛
persist bool False рдлрд╝реНрд░реЗрдо рдХреЗ рдмреАрдЪ рд▓рдЧрд╛рддрд╛рд░ рдЯреНрд░реИрдХ
tracker str botsort.yaml рдЯреНрд░реИрдХрд┐рдВрдЧ рд╡рд┐рдзрд┐ 'рдмрд╛рдЗрдЯрдЯреНрд░реИрдХ' рдпрд╛ 'рдмреЙрдЯрд╕реЙрд░реНрдЯ'
conf float 0.3 рдХреЙрдиреНрдлрд┐рдбреЗрдВрд╕ рдереНрд░реЗрд╢реЛрд▓реНрдб
iou float 0.5 IOU рдереНрд░реЗрд╕рд╣реЛрд▓реНрдб
classes list None рдХрдХреНрд╖рд╛ рджреНрд╡рд╛рд░рд╛ рдлрд╝рд┐рд▓реНрдЯрд░ рдкрд░рд┐рдгрд╛рдо, рдпрд╛рдиреА рдХрдХреНрд╖рд╛рдПрдВ = 0, рдпрд╛ рдХрдХреНрд╖рд╛рдПрдВ = [0,2,3]
verbose bool True рдСрдмреНрдЬреЗрдХреНрдЯ рдЯреНрд░реИрдХрд┐рдВрдЧ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ

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

рдореИрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рдЧрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдиреБрдорд╛рди рдХреИрд╕реЗ рд▓рдЧрд╛рдКрдВ Ultralytics YOLOv8?

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

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

import cv2

from ultralytics import YOLO, solutions

model = YOLO("yolov8n.pt")
names = model.model.names

cap = cv2.VideoCapture("path/to/video/file.mp4")
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("speed_estimation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Initialize SpeedEstimator
speed_obj = solutions.SpeedEstimator(
    reg_pts=[(0, 360), (1280, 360)],
    names=names,
    view_img=True,
)

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        break
    tracks = model.track(im0, persist=True, show=False)
    im0 = speed_obj.estimate_speed(im0, tracks)
    video_writer.write(im0)

cap.release()
video_writer.release()
cv2.destroyAllWindows()

рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдХреЛ рджреЗрдЦреЗрдВред

рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХреНрдпрд╛ рд▓рд╛рдн рд╣реИрдВ Ultralytics YOLOv8 (рдЧ) рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдХреНрдпрд╛ рд╕рд░рдХрд╛рд░ рдпрд╛рддрд╛рдпрд╛рдд рдкреНрд░рдмрдВрдзрди рдореЗрдВ рдЧрддрд┐ рдХреЗ рдЕрдиреБрдорд╛рди рдХреЗ рд▓рд┐рдП 1000 рдХрд░реЛрдбрд╝ рд░реБрдкрдП рдХреА рдорд╛рдВрдЧ рдХрд░рддреА рд╣реИ?

рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Ultralytics YOLOv8 рдЧрддрд┐ рдЕрдиреБрдорд╛рди рдХреЗ рд▓рд┐рдП рдпрд╛рддрд╛рдпрд╛рдд рдкреНрд░рдмрдВрдзрди рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд╛рдн рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:

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

рдЕрдзрд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдЧрддрд┐ рдЕрдиреБрдорд╛рди рдХреЗ рд▓рд╛рдн рджреЗрдЦреЗрдВред

рд╕рдХрдирд╛ YOLOv8 рдЬреИрд╕реЗ рдЕрдиреНрдп AI рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдП TensorFlow рдирд╣реАрдВ рддреЛ PyTorch?

рд╣рд╛рдБ YOLOv8 рдЬреИрд╕реЗ рдЕрдиреНрдп рдПрдЖрдИ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ TensorFlow рдФрд░ PyTorch. Ultralytics рдирд┐рд░реНрдпрд╛рдд рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдпрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ YOLOv8 рдЬреИрд╕реЗ рд╡рд┐рднрд┐рдиреНрди рд╕реНрд╡рд░реВрдкреЛрдВ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ ONNX, TensorRTрдФрд░ CoreML, рдЕрдиреНрдп рдПрдордПрд▓ рдврд╛рдВрдЪреЗ рдХреЗ рд╕рд╛рде рдЪрд┐рдХрдиреА рдЗрдВрдЯрд░рдСрдкрд░реЗрдмрд┐рд▓рд┐рдЯреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ред

рдПрдХ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП YOLOv8 рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ ONNX рдкреНрд░рд╛рд░реВрдк:

yolo export --weights yolov8n.pt --include onnx

рдирд┐рд░реНрдпрд╛рдд рдкрд░ рд╣рдорд╛рд░реЗ рдЧрд╛рдЗрдб рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдореЙрдбрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдиреЗрдВред

рдЧрддрд┐ рдЕрдиреБрдорд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рддрдирд╛ рд╕рдЯреАрдХ рд╣реИ Ultralytics YOLOv8?

рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдЧрддрд┐ рдЕрдиреБрдорд╛рди рдХреА рд╕рдЯреАрдХрддрд╛ Ultralytics YOLOv8 рдСрдмреНрдЬреЗрдХреНрдЯ рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреА рдЧреБрдгрд╡рддреНрддрд╛, рд╡реАрдбрд┐рдпреЛ рдХреЗ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рдФрд░ рдлреНрд░реЗрдо рджрд░ рдФрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕рд╣рд┐рдд рдХрдИ рдХрд╛рд░рдХреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдЬрдмрдХрд┐ рдЧрддрд┐ рдЕрдиреБрдорд╛рдирдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдЕрдиреБрдорд╛рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдлреНрд░реЗрдо рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдЧрддрд┐ рдФрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рд░реЛрдбрд╝рд╛ рдореЗрдВ рднрд┐рдиреНрдирддрд╛ рдХреЗ рдХрд╛рд░рдг 100% рд╕рдЯреАрдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдиреЛрдЯ: рд╣рдореЗрд╢рд╛ рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рд░реНрдЬрд┐рди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдФрд░ рдЬрдм рд╕рдВрднрд╡ рд╣реЛ рддреЛ рдЬрдореАрдиреА рд╕рдЪреНрдЪрд╛рдИ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЕрдиреБрдорд╛рдиреЛрдВ рдХреЛ рдорд╛рдиреНрдп рдХрд░реЗрдВред

рдЕрдзрд┐рдХ рд╕рдЯреАрдХрддрд╛ рд╕реБрдзрд╛рд░ рдпреБрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдЬрд╛рдВрдЪреЗрдВ рддрд░реНрдХ SpeedEstimator рдХрд░реНрддрди.

рдХреНрдпреЛрдВ рдЪреБрдиреЗрдВ Ultralytics YOLOv8 рдЬреИрд╕реЗ рдЕрдиреНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдореЙрдбрд▓ рдкрд░ TensorFlow рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдПрдкреАрдЖрдИ?

Ultralytics YOLOv8 рдЕрдиреНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдореЙрдбрд▓ рдкрд░ рдХрдИ рдлрд╛рдпрджреЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ TensorFlow рдСрдмреНрдЬреЗрдХреНрдЯ рдбрд┐рдЯреЗрдХреНрд╢рди рдПрдкреАрдЖрдИ:

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

рдХреЗ рд▓рд╛рднреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП YOLOv8, рд╣рдорд╛рд░реЗ рд╡рд┐рд╕реНрддреГрдд рдореЙрдбрд▓ рдкреГрд╖реНрда рдХрд╛ рдЕрдиреНрд╡реЗрд╖рдг рдХрд░реЗрдВред


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