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

рджреВрд░реА рдЧрдгрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ Ultralytics YOLOv8

рджреВрд░реА рдХреА рдЧрдгрдирд╛ рдХреНрдпрд╛ рд╣реИ?

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



рд╕рддрд░реНрдХрддрд╛: рджреВрд░реА рдЧрдгрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ Ultralytics YOLOv8

рджреГрд╢реНрдпреЛрдВ

рджреВрд░реА рдЧрдгрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ Ultralytics YOLOv8
Ultralytics YOLOv8 рджреВрд░реА рдХреА рдЧрдгрдирд╛

рджреВрд░реА рдЧрдгрдирд╛ рдХреЗ рд▓рд╛рдн?

  • рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдкрд░рд┐рд╢реБрджреНрдзрддрд╛: рдХрдВрдкреНрдпреВрдЯрд░ рджреГрд╖реНрдЯрд┐ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рд╕рдЯреАрдХ рд╕реНрдерд╛рдирд┐рдХ рд╕реНрдерд┐рддрд┐ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИред
  • рдЖрдХрд╛рд░ рдЕрдиреБрдорд╛рди: рдмреЗрд╣рддрд░ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╕рдордЭ рдХреЗ рд▓рд┐рдП рднреМрддрд┐рдХ рдЖрдХрд╛рд░реЛрдВ рдХреЗ рдЕрдиреБрдорд╛рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
  • рджреГрд╢реНрдп рд╕рдордЭ: рдмреЗрд╣рддрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рд╡рд░рдг рдХреА 3D рд╕рдордЭ рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗрддрд╛ рд╣реИред
рджреВрд░реА рдХреА рдЧрдгрдирд╛
  • рджреВрд░реА рдЧрдгрдирд╛ рдХреЗ рд▓рд┐рдП рдмрд╛рдПрдВ рдорд╛рдЙрд╕ рдХреНрд▓рд┐рдХ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рднреА рджреЛ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ

рджреВрд░реА рдЧрдгрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ 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("distance_calculation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Init distance-calculation obj
dist_obj = solutions.DistanceCalculation(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 = dist_obj.start_process(im0, tracks)
    video_writer.write(im0)

cap.release()
video_writer.release()
cv2.destroyAllWindows()
рдиреЛрдЯ
  • рдорд╛рдЙрд╕ рд░рд╛рдЗрдЯ рдХреНрд▓рд┐рдХ рд╕рднреА рдЦреАрдВрдЪреЗ рдЧрдП рдмрд┐рдВрджреБрдУрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрдЧрд╛
  • рдорд╛рдЙрд╕ рд▓реЗрдлреНрдЯ рдХреНрд▓рд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдВрдХ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ

рддрд░реНрдХ DistanceCalculation()

Name Type Default рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо
names dict None рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдирд╛рдореЛрдВ рдХрд╛ рд╢рдмреНрджрдХреЛрд╢ред
pixels_per_meter int 10 рдкрд┐рдХреНрд╕реЗрд▓ рд╕реЗ рдореАрдЯрд░ рддрдХ рд░реВрдкрд╛рдВрддрд░рдг рдХрд╛рд░рдХред
view_img bool False рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзреНрд╡рдЬрд╛рдВрдХрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП рдпрд╛ рдирд╣реАрдВред
line_thickness int 2 рдЫрд╡рд┐ рдкрд░ рдЦреАрдВрдЪреА рдЧрдИ рд░реЗрдЦрд╛рдУрдВ рдХреА рдореЛрдЯрд╛рдИред
line_color tuple (255, 255, 0) рдЫрд╡рд┐ рдкрд░ рдЦреАрдВрдЪреА рдЧрдИ рд░реЗрдЦрд╛рдУрдВ рдХрд╛ рд░рдВрдЧ (рдмреАрдЬреАрдЖрд░ рдкреНрд░рд╛рд░реВрдк)ред
centroid_color tuple (255, 0, 255) рдЦреАрдВрдЪреЗ рдЧрдП рд╕реЗрдВрдЯреНрд░реЛрдЗрдб рдХрд╛ рд░рдВрдЧ (рдмреАрдЬреАрдЖрд░ рдкреНрд░рд╛рд░реВрдк)ред

рддрд░реНрдХ 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, рдЖрдкрдХреЛ рдкрддрд╛ рд▓рдЧрд╛рдИ рдЧрдИ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмрд╛рдЙрдВрдбрд┐рдВрдЧ рдмреЙрдХреНрд╕ рд╕реЗрдВрдЯреНрд░реЛрдЗрдб рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдирд╛ рд╢рд╛рдорд┐рд▓ рд╣реИ DistanceCalculation рдХрдХреНрд╖рд╛ рд╕реЗ Ultralytics' solutions рдореЙрдбреНрдпреВрд▓ рдФрд░ рджреВрд░реА рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ рдХреЗ рдЯреНрд░реИрдХрд┐рдВрдЧ рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред рдЖрдк рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рджреВрд░реА рдЧрдгрдирд╛ рдЙрджрд╛рд╣рд░рдг.

рдХреЗ рд╕рд╛рде рджреВрд░реА рдЧрдгрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХреНрдпрд╛ рдлрд╛рдпрджреЗ рд╣реИрдВ Ultralytics YOLOv8?

рдХреЗ рд╕рд╛рде рджреВрд░реА рдХреА рдЧрдгрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ Ultralytics YOLOv8 рдХрдИ рдлрд╛рдпрджреЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:

  • рд╕реНрдерд╛рдиреАрдпрдХрд░рдг рдкрд░рд┐рд╢реБрджреНрдзрддрд╛: рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдЯреАрдХ рд╕реНрдерд╛рдирд┐рдХ рд╕реНрдерд┐рддрд┐ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
  • рдЖрдХрд╛рд░ рдЕрдиреБрдорд╛рди: рднреМрддрд┐рдХ рдЖрдХрд╛рд░реЛрдВ рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ, рдмреЗрд╣рддрд░ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╕рдордЭ рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗрддрд╛ рд╣реИред
  • рджреГрд╢реНрдп рд╕рдордЭ: 3 рдбреА рджреГрд╢реНрдп рд╕рдордЭ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИ, рд╕реНрд╡рд╛рдпрддреНрдд рдбреНрд░рд╛рдЗрд╡рд┐рдВрдЧ рдФрд░ рдирд┐рдЧрд░рд╛рдиреА рдЬреИрд╕реЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдмреЗрд╣рддрд░ рдирд┐рд░реНрдгрдп рд▓реЗрдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХрд░рддрд╛ рд╣реИред

рдХреНрдпрд╛ рдореИрдВ рд░реАрдпрд▓-рдЯрд╛рдЗрдо рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рджреВрд░реА рдХреА рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ Ultralytics YOLOv8?

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

рдореИрдВ рджреВрд░реА рдХреА рдЧрдгрдирд╛ рдХреЗ рджреМрд░рд╛рди рдЦреАрдВрдЪреЗ рдЧрдП рдмрд┐рдВрджреБрдУрдВ рдХреЛ рдХреИрд╕реЗ рд╣рдЯрд╛рдКрдВ Ultralytics YOLOv8?

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

рдореЗрдВ DistanceCalculation рд╡рд░реНрдЧ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдореБрдЦ рддрд░реНрдХ рдХреНрдпрд╛ рд╣реИрдВ Ultralytics YOLOv8?

рдкреНрд░рд╛рд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдореБрдЦ рддрд░реНрдХ DistanceCalculation рдХрдХреНрд╖рд╛ рдореЗрдВ Ultralytics YOLOv8 рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛:

  • names: рд╢рдмреНрджрдХреЛрд╢ рдорд╛рдирдЪрд┐рддреНрд░рдг рд╡рд░реНрдЧ рд╕реВрдЪрдХрд╛рдВрдХреЛрдВ рдХреЛ рд╡рд░реНрдЧ рдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдПред
  • pixels_per_meter: рдкрд┐рдХреНрд╕реЗрд▓ рд╕реЗ рдореАрдЯрд░ рдореЗрдВ рд░реВрдкрд╛рдВрддрд░рдг рдХрд╛рд░рдХред
  • view_img: рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзреНрд╡рдЬрд╛рдВрдХрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╡реАрдбрд┐рдпреЛ рд╕реНрдЯреНрд░реАрдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдП рдпрд╛ рдирд╣реАрдВред
  • line_thickness: рдЫрд╡рд┐ рдкрд░ рдЦреАрдВрдЪреА рдЧрдИ рд░реЗрдЦрд╛рдУрдВ рдХреА рдореЛрдЯрд╛рдИред
  • line_color: рдЫрд╡рд┐ рдкрд░ рдЦреАрдВрдЪреА рдЧрдИ рд░реЗрдЦрд╛рдУрдВ рдХрд╛ рд░рдВрдЧ (рдмреАрдЬреАрдЖрд░ рдкреНрд░рд╛рд░реВрдк)ред
  • centroid_color: рд╕реЗрдВрдЯреНрд░реЛрдЗрдб рдХрд╛ рд░рдВрдЧ (рдмреАрдЬреАрдЖрд░ рдкреНрд░рд╛рд░реВрдк)ред

рд╕рдВрдкреВрд░реНрдг рд╕реВрдЪреА рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП, DistanceCalculation рдХреЗ рддрд░реНрдХ рджреЗрдЦреЗрдВ.



рдмрдирд╛рдпрд╛ рдЧрдпрд╛ 2024-01-05, рдЕрджреНрдпрддрдиреНрдп: 2024-07-14
рд▓реЗрдЦрдХ: рд░рд┐рдЬрд╡рд╛рди рдореБрдирд╡реНрд╡рд░ (5), рдЧреНрд▓реЗрди-рдЬреЛрдЪрд░ (7), рдЗрд╡реЛрд░рдЭреВ331 (1), рдЖрдпреБрд╖рдПрдХреНрд╕рд▓ (1)

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