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

рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдХрддрд╛рд░ рдкреНрд░рдмрдВрдзрди 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")
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 = cv2.VideoWriter("queue_management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

queue_region = [(20, 400), (1080, 404), (1080, 360), (20, 360)]

queue = solutions.QueueManager(
    names=model.names,
    reg_pts=queue_region,
    line_thickness=3,
    fontsize=1.0,
    region_color=(255, 144, 31),
)

while cap.isOpened():
    success, im0 = cap.read()

    if success:
        tracks = model.track(im0, show=False, persist=True, verbose=False)
        out = queue.process_queue(im0, tracks)

        video_writer.write(im0)
        if cv2.waitKey(1) & 0xFF == ord("q"):
            break
        continue

    print("Video frame is empty or video processing has been successfully completed.")
    break

cap.release()
cv2.destroyAllWindows()
import cv2

from ultralytics import YOLO, solutions

model = YOLO("yolov8n.pt")
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 = cv2.VideoWriter("queue_management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

queue_region = [(20, 400), (1080, 404), (1080, 360), (20, 360)]

queue = solutions.QueueManager(
    names=model.names,
    reg_pts=queue_region,
    line_thickness=3,
    fontsize=1.0,
    region_color=(255, 144, 31),
)

while cap.isOpened():
    success, im0 = cap.read()

    if success:
        tracks = model.track(im0, show=False, persist=True, verbose=False, classes=0)  # Only person class
        out = queue.process_queue(im0, tracks)

        video_writer.write(im0)
        if cv2.waitKey(1) & 0xFF == ord("q"):
            break
        continue

    print("Video frame is empty or video processing has been successfully completed.")
    break

cap.release()
cv2.destroyAllWindows()

рддрд░реНрдХ QueueManager

рдирд╛рдо рдкреНрд░рдХрд╛рд░ рдЪреВрдХ рдпрд╛ рдХрд╝рд┐рд╕реНтАНрдо
names dict model.names рдХреНрд▓рд╛рд╕ рдЖрдИрдбреА рдХреЛ рдХреНрд▓рд╛рд╕ рдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рдореИрдк рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рд╢рдмреНрджрдХреЛрд╢ред
reg_pts list of tuples [(20, 400), (1260, 400)] рдЧрд┐рдирддреА рдХреНрд╖реЗрддреНрд░ рдмрд╣реБрднреБрдЬ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдмрд┐рдВрджреБред рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдЖрдпрдд рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯред
line_thickness int 2 рдПрдиреЛрдЯреЗрд╢рди рд▓рд╛рдЗрдиреЛрдВ рдХреА рдореЛрдЯрд╛рдИред
track_thickness int 2 рдЯреНрд░реИрдХ рд▓рд╛рдЗрдиреЛрдВ рдХреА рдореЛрдЯрд╛рдИред
view_img bool False рдЫрд╡рд┐ рдлрд╝реНрд░реЗрдо рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред
region_color tuple (255, 0, 255) рдЧрд┐рдирддреА рдХреНрд╖реЗрддреНрд░ рд▓рд╛рдЗрдиреЛрдВ (рдмреАрдЬреАрдЖрд░) рдХрд╛ рд░рдВрдЧред
view_queue_counts bool True рдХрддрд╛рд░ рдХреА рдЧрдгрдирд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреА рд╣реИ рдпрд╛ рдирд╣реАрдВ.
draw_tracks bool False рд╡рд╕реНрддреБрдУрдВ рдХреА рдкрдЯрд░рд┐рдпреЛрдВ рдХреЛ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред
count_txt_color tuple (255, 255, 255) рдЧрдгрдирд╛ рдкрд╛рда рдХрд╛ рд░рдВрдЧ (BGR).
track_color tuple None рдкрдЯрд░рд┐рдпреЛрдВ рдХрд╛ рд░рдВрдЧред рдЕрдЧрд░ None, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЯреНрд░реИрдХ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рдВрдЧреЛрдВ рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
region_thickness int 5 рдЧрд┐рдирддреА рдХреНрд╖реЗрддреНрд░ рд▓рд╛рдЗрдиреЛрдВ рдХреА рдореЛрдЯрд╛рдИред
fontsize float 0.7 рдкрд╛рда рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рдлрд╝реЙрдиреНрдЯ рдЖрдХрд╛рд░.

рддрд░реНрдХ 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 рд░реАрдпрд▓-рдЯрд╛рдЗрдо рдХрддрд╛рд░ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрди рдЪрд░рдгреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

  1. рд▓реЛрдб рдХрд░реЗрдВ YOLOv8 рдХреЗ рд╕рд╛рде рдореЙрдбрд▓ YOLO("yolov8n.pt").
  2. рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реАрдбрд┐рдпреЛ рдлрд╝реАрдб рдХреИрдкреНрдЪрд░ рдХрд░реЗрдВ cv2.VideoCapture.
  3. рдХрддрд╛рд░ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рд░реБрдЪрд┐ рдХреЗ рдХреНрд╖реЗрддреНрд░ (рдЖрд░рдУрдЖрдИ) рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВред
  4. рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдФрд░ рдХрддрд╛рд░реЛрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдлреНрд░реЗрдоред

рдпрд╣рд╛рдБ рдПрдХ рдиреНрдпреВрдирддрдо рдЙрджрд╛рд╣рд░рдг рд╣реИ:

import cv2

from ultralytics import YOLO, solutions

model = YOLO("yolov8n.pt")
cap = cv2.VideoCapture("path/to/video.mp4")
queue_region = [(20, 400), (1080, 404), (1080, 360), (20, 360)]

queue = solutions.QueueManager(
    names=model.names,
    reg_pts=queue_region,
    line_thickness=3,
    fontsize=1.0,
    region_color=(255, 144, 31),
)

while cap.isOpened():
    success, im0 = cap.read()
    if success:
        tracks = model.track(im0, show=False, persist=True, verbose=False)
        out = queue.process_queue(im0, tracks)
        cv2.imshow("Queue Management", im0)
        if cv2.waitKey(1) & 0xFF == ord("q"):
            break

cap.release()
cv2.destroyAllWindows()

рд▓рд╛рдн Ultralytics HUB рдЖрдкрдХреЗ рдХрддрд╛рд░ рдкреНрд░рдмрдВрдзрди рд╕рдорд╛рдзрд╛рди рдХреЛ рдкрд░рд┐рдирд┐рдпреЛрдЬрд┐рдд рдФрд░ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрдХреВрд▓ рдордВрдЪ рдкреНрд░рджрд╛рди рдХрд░рдХреЗ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реБрд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред

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

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

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

рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдХреНрдпреВ рдкреНрд░рдмрдВрдзрди рд╕рдорд╛рдзрд╛рди рдПрдХреНрд╕рдкреНрд▓реЛрд░ рдХрд░реЗрдВред

рдореБрдЭреЗ рдХреНрдпреЛрдВ рдЪреБрдирдирд╛ рдЪрд╛рд╣рд┐рдП Ultralytics YOLOv8 рдкреНрд░рддрд┐рдпреЛрдЧрд┐рдпреЛрдВ рдкрд░ рдЬреИрд╕реЗ TensorFlow рдпрд╛ рдХрддрд╛рд░ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП Detectron2?

Ultralytics YOLOv8 рдкрд░ рдХрдИ рдлрд╛рдпрджреЗ рд╣реИрдВ TensorFlow рдФрд░ рдХрддрд╛рд░ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП Detectron2:

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

рд╢реБрд░реБрдЖрдд рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдЬрд╛рдиреЗрдВ Ultralytics YOLO.

рд╕рдХрдирд╛ Ultralytics YOLOv8 рдХрдИ рдкреНрд░рдХрд╛рд░ рдХреА рдХрддрд╛рд░реЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓реЗрдВ, рдЬреИрд╕реЗ рд╣рд╡рд╛рдИ рдЕрдбреНрдбреЛрдВ рдФрд░ рдЦреБрджрд░рд╛ рдореЗрдВ?

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

рд╣рд╡рд╛рдИ рдЕрдбреНрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрджрд╛рд╣рд░рдг:

queue_region_airport = [(50, 600), (1200, 600), (1200, 550), (50, 550)]
queue_airport = solutions.QueueManager(
    names=model.names,
    reg_pts=queue_region_airport,
    line_thickness=3,
    fontsize=1.0,
    region_color=(0, 255, 0),
)

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

рдХреЗ рдХреБрдЫ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреНрдпрд╛ рд╣реИрдВ Ultralytics YOLOv8 рдХрддрд╛рд░ рдкреНрд░рдмрдВрдзрди рдореЗрдВ?

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

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

рдЕрдзрд┐рдХ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХрддрд╛рд░ рдкреНрд░рдмрдВрдзрди рдкрд░ рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВред



рдмрдирд╛рдпрд╛ рдЧрдпрд╛ 2024-04-02, рдЕрджреНрдпрддрдирд┐рдд 2024-07-14
рд▓реЗрдЦрдХ: рд░рд┐рдЬрд╡рд╛рди рдореБрдирд╡реНрд╡рд░ (1), рдЧреНрд▓реЗрди-рдЬреЛрдЪрд░ (5), рдЗрд╡реЛрд░рдЭреВ331 (1), рдмреБрд░рд╣рд╛рди-рдХреНрдпреВ (1)

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