Queue Management using Ultralytics YOLO11 🚀
Quản lý hàng đợi là gì?
Queue management using Ultralytics YOLO11 involves organizing and controlling lines of people or vehicles to reduce wait times and enhance efficiency. It's about optimizing queues to improve customer satisfaction and system performance in various settings like retail, banks, airports, and healthcare facilities.
Xem: How to Implement Queue Management with Ultralytics YOLO11 | Airport and Metro Station
Ưu điểm của quản lý hàng đợi?
- Giảm thời gian chờ đợi: Hệ thống quản lý hàng đợi tổ chức hiệu quả hàng đợi, giảm thiểu thời gian chờ đợi cho khách hàng. Điều này dẫn đến mức độ hài lòng được cải thiện khi khách hàng dành ít thời gian chờ đợi hơn và nhiều thời gian hơn để tương tác với các sản phẩm hoặc dịch vụ.
- Tăng hiệu quả: Thực hiện quản lý hàng đợi cho phép doanh nghiệp phân bổ nguồn lực hiệu quả hơn. Bằng cách phân tích dữ liệu hàng đợi và tối ưu hóa việc triển khai nhân viên, doanh nghiệp có thể hợp lý hóa hoạt động, giảm chi phí và cải thiện năng suất tổng thể.
Ứng dụng trong thế giới thực
Hậu cần | Bán lẻ |
---|---|
Queue management at airport ticket counter Using Ultralytics YOLO11 | Queue monitoring in crowd Ultralytics YOLO11 |
Queue Management using YOLO11 Example
import cv2
from ultralytics import YOLO, solutions
model = YOLO("yolo11n.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,
)
while cap.isOpened():
success, im0 = cap.read()
if success:
tracks = model.track(im0, persist=True)
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("yolo11n.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,
)
while cap.isOpened():
success, im0 = cap.read()
if success:
tracks = model.track(im0, persist=True, 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()
Lập luận QueueManager
Tên | Kiểu | Mặc định | Sự miêu tả |
---|---|---|---|
names |
dict |
model.names |
Từ điển ánh xạ ID lớp đến tên lớp. |
reg_pts |
list of tuples |
[(20, 400), (1260, 400)] |
Các điểm xác định đa giác vùng đếm. Mặc định là một hình chữ nhật được xác định trước. |
line_thickness |
int |
2 |
Độ dày của các dòng chú thích. |
view_img |
bool |
False |
Có hiển thị khung hình ảnh hay không. |
draw_tracks |
bool |
False |
Có nên vẽ dấu vết của các đối tượng hay không. |
Lập luận model.track
Lý lẽ | Kiểu | Mặc định | Sự miêu tả |
---|---|---|---|
source |
str |
None |
Specifies the source directory for images or videos. Supports file paths and URLs. |
persist |
bool |
False |
Enables persistent tracking of objects between frames, maintaining IDs across video sequences. |
tracker |
str |
botsort.yaml |
Specifies the tracking algorithm to use, e.g., bytetrack.yaml hoặc botsort.yaml . |
conf |
float |
0.3 |
Sets the confidence threshold for detections; lower values allow more objects to be tracked but may include false positives. |
iou |
float |
0.5 |
Sets the Intersection over Union (IoU) threshold for filtering overlapping detections. |
classes |
list |
None |
Filters results by class index. For example, classes=[0, 2, 3] only tracks the specified classes. |
verbose |
bool |
True |
Controls the display of tracking results, providing a visual output of tracked objects. |
FAQ
How can I use Ultralytics YOLO11 for real-time queue management?
To use Ultralytics YOLO11 for real-time queue management, you can follow these steps:
- Load the YOLO11 model with
YOLO("yolo11n.pt")
. - Chụp nguồn cấp dữ liệu video bằng cách sử dụng
cv2.VideoCapture
. - Xác định khu vực quan tâm (ROI) để quản lý hàng đợi.
- Xử lý khung để phát hiện đối tượng và quản lý hàng đợi.
Dưới đây là một ví dụ tối thiểu:
import cv2
from ultralytics import YOLO, solutions
model = YOLO("yolo11n.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,
)
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()
Tận dụng Ultralytics HUB có thể hợp lý hóa quy trình này bằng cách cung cấp một nền tảng thân thiện với người dùng để triển khai và quản lý giải pháp quản lý hàng đợi của bạn.
What are the key advantages of using Ultralytics YOLO11 for queue management?
Using Ultralytics YOLO11 for queue management offers several benefits:
- Thời gian chờ đợi giảm mạnh: Tổ chức hiệu quả hàng đợi, giảm thời gian chờ đợi của khách hàng và tăng sự hài lòng.
- Nâng cao hiệu quả: Phân tích dữ liệu hàng đợi để tối ưu hóa việc triển khai và vận hành nhân viên, từ đó giảm chi phí.
- Cảnh báo thời gian thực: Cung cấp thông báo theo thời gian thực cho hàng đợi dài, cho phép can thiệp nhanh chóng.
- Khả năng mở rộng: Dễ dàng mở rộng trên các môi trường khác nhau như bán lẻ, sân bay và chăm sóc sức khỏe.
Để biết thêm chi tiết, hãy khám phá các giải pháp Quản lý hàng đợi của chúng tôi.
Why should I choose Ultralytics YOLO11 over competitors like TensorFlow or Detectron2 for queue management?
Ultralytics YOLO11 has several advantages over TensorFlow and Detectron2 for queue management:
- Real-time Performance: YOLO11 is known for its real-time detection capabilities, offering faster processing speeds.
- Dễ sử dụng: Ultralytics Cung cấp trải nghiệm thân thiện với người dùng, từ đào tạo đến triển khai, thông qua Ultralytics TRUNG TÂM.
- Mô hình đào tạo trước: Truy cập vào một loạt các mô hình được đào tạo trước, giảm thiểu thời gian cần thiết để thiết lập.
- Hỗ trợ cộng đồng: Tài liệu mở rộng và hỗ trợ cộng đồng tích cực giúp giải quyết vấn đề dễ dàng hơn.
Tìm hiểu cách bắt đầu Ultralytics YOLO.
Can Ultralytics YOLO11 handle multiple types of queues, such as in airports and retail?
Yes, Ultralytics YOLO11 can manage various types of queues, including those in airports and retail environments. By configuring the QueueManager with specific regions and settings, YOLO11 can adapt to different queue layouts and densities.
Ví dụ cho sân bay:
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,
)
Để biết thêm thông tin về các ứng dụng đa dạng, hãy xem phần Ứng dụng trong thế giới thực của chúng tôi.
What are some real-world applications of Ultralytics YOLO11 in queue management?
Ultralytics YOLO11 is used in various real-world applications for queue management:
- Bán lẻ: Giám sát các dòng thanh toán để giảm thời gian chờ đợi và cải thiện sự hài lòng của khách hàng.
- Airports: Quản lý hàng đợi tại quầy vé và trạm kiểm soát an ninh để mang lại trải nghiệm hành khách mượt mà hơn.
- Y tế: Tối ưu hóa lưu lượng bệnh nhân tại các phòng khám và bệnh viện.
- Ngân hàng: Tăng cường dịch vụ khách hàng bằng cách quản lý hàng đợi hiệu quả trong ngân hàng.
Kiểm tra blog của chúng tôi về quản lý hàng đợi trong thế giới thực để tìm hiểu thêm.