跳至内容

使用Ultralytics YOLO11 进行队列管理 🚀

什么是队列管理?

使用队列管理 Ultralytics YOLO11队列管理涉及组织和控制排队的人员或车辆,以减少等待时间并提高效率。在零售、银行、机场和医疗保健设施等各种环境中,它涉及优化队列,以提高客户满意度和系统性能。



观看: 如何通过Ultralytics YOLO11 | 机场和地铁站实施队列管理

队列管理的优势

  • 减少等待时间:队列管理系统能有效地组织队列,最大限度地减少客户的等待时间。这将提高客户满意度,因为客户可以减少等待时间,有更多时间使用产品或服务。
  • 提高效率:实施队列管理可使企业更有效地分配资源。通过分析排队数据和优化人员部署,企业可以简化运营、降低成本并提高整体生产率。
  • 实时洞察: YOLO11队列管理可提供队列长度和等待时间的即时数据,使管理人员能够快速做出明智决策。
  • 增强客户体验:通过减少长时间等待带来的挫败感,企业可以显著提高客户满意度和忠诚度。

真实世界的应用

物流 零售
利用机场售票柜台进行排队管理Ultralytics YOLO11 在人群中使用队列监控Ultralytics YOLO11
机场售票柜台的队列管理 使用Ultralytics YOLO11 人群中的队列监控Ultralytics YOLO11

使用Ultralytics YOLO进行队列管理

# Run a queue example
yolo solutions queue show=True

# Pass a source video
yolo solutions queue source="path/to/video.mp4"

# Pass queue coordinates
yolo solutions queue region="[(20, 400), (1080, 400), (1080, 360), (20, 360)]"
import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

# Video writer
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))

# Define queue points
queue_region = [(20, 400), (1080, 400), (1080, 360), (20, 360)]  # region points
# queue_region = [(20, 400), (1080, 400), (1080, 360), (20, 360), (20, 400)]    # polygon points

# Initialize queue manager object
queuemanager = solutions.QueueManager(
    show=True,  # display the output
    model="yolo11n.pt",  # path to the YOLO11 model file
    region=queue_region,  # pass queue region points
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or processing is complete.")
        break
    results = queuemanager(im0)

    # print(results)  # access the output

    video_writer.write(results.plot_im)  # write the processed frame.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # destroy all opened windows

QueueManager 论据

下面的表格显示了 QueueManager 争论:

论据 类型 默认值 说明
model str None Ultralytics YOLO 模型文件的路径。
region list [(20, 400), (1260, 400)] 定义计数区域的点列表。

"(《世界人权宣言》) QueueManagement 解决方案还支持某些 track 争论:

论据 类型 默认值 说明
tracker str 'botsort.yaml' 指定要使用的跟踪算法,例如 bytetrack.yamlbotsort.yaml.
conf float 0.3 设置检测的置信度阈值;数值越低,跟踪的物体越多,但可能会出现误报。
iou float 0.5 设置交叉重叠 (IoU) 阈值,用于过滤重叠检测。
classes list None 按类别索引筛选结果。例如 classes=[0, 2, 3] 只跟踪指定的类别。
verbose bool True 控制跟踪结果的显示,提供被跟踪物体的可视化输出。
device str None 指定用于推理的设备(例如:......)、 cpu, cuda:00).允许用户选择CPU 、特定GPU 或其他计算设备执行模型。

此外,还提供以下可视化参数:

论据 类型 默认值 说明
show bool False 如果 True在一个窗口中显示注释的图像或视频。有助于在开发或测试过程中提供即时视觉反馈。
line_width None or int None 指定边界框的线宽。如果 None根据图像大小自动调整线宽。提供可视化定制,使图像更加清晰。

实施策略

在使用YOLO11 实施队列管理时,请考虑以下最佳实践:

  1. 战略性摄像机放置:将摄像机放置在没有障碍物的位置,以捕捉整个排队区域。
  2. 定义适当的队列区域:根据空间的物理布局仔细设置队列边界。
  3. 调整检测可信度:根据照明条件和人群密度微调可信度阈值。
  4. 与现有系统集成:将排队管理解决方案与数字标牌或员工通知系统连接,实现自动响应。

常见问题

如何使用Ultralytics YOLO11 进行实时队列管理?

要使用Ultralytics YOLO11 进行实时队列管理,可以按照以下步骤操作:

  1. 加载YOLO11 模型 YOLO("yolo11n.pt").
  2. 使用 cv2.VideoCapture.
  3. 定义队列管理的关注区域 (ROI)。
  4. 处理帧以检测对象和管理队列。

下面是一个最简单的例子:

import cv2

from ultralytics import solutions

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

queuemanager = solutions.QueueManager(
    model="yolo11n.pt",
    region=queue_region,
    line_width=3,
    show=True,
)

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

cap.release()
cv2.destroyAllWindows()

Ultralytics HUB 可为部署和管理队列管理解决方案提供用户友好型平台,从而简化这一流程。

使用Ultralytics YOLO11 进行队列管理的主要优势是什么?

使用Ultralytics YOLO11 进行队列管理有几个好处:

  • 等候时间骤减:有效组织排队,减少客户等待时间,提高满意度。
  • 提高效率:分析队列数据,优化人员部署和运营,从而降低成本。
  • 实时警报:针对排队时间过长的情况提供实时通知,以便进行快速干预。
  • 可扩展性:可在零售、机场和医疗保健等不同环境中轻松扩展。

更多详情,请了解我们的队列管理解决方案。

为什么要选择Ultralytics YOLO11 而不是竞争对手,如 TensorFlow或 Detectron2 等竞争对手?

Ultralytics YOLO11 与TensorFlow 和 Detectron2 相比,它在队列管理方面有几个优势:

  • 实时性能: YOLO11 以实时检测能力著称,处理速度更快。
  • 易用性: Ultralytics 通过Ultralytics HUB 提供从培训到部署的用户友好体验。
  • 预训练模型:访问一系列预训练模型,最大限度地减少设置所需的时间。
  • 社区支持:丰富的文档和活跃的社区支持让解决问题变得更容易。

了解如何开始使用 Ultralytics YOLO.

Ultralytics YOLO11 能否处理多种类型的队列,如机场和零售业的队列?

是的,Ultralytics YOLO11 可以管理各种类型的队列,包括机场和零售环境中的队列。通过对 QueueManager 进行特定区域和设置的配置,YOLO11 可以适应不同的队列布局和密度。

以机场为例:

queue_region_airport = [(50, 600), (1200, 600), (1200, 550), (50, 550)]
queue_airport = solutions.QueueManager(
    model="yolo11n.pt",
    region=queue_region_airport,
    line_width=3,
)

有关各种应用的更多信息,请查看我们的 "真实世界应用"部分。

Ultralytics YOLO11 在队列管理方面有哪些实际应用?

Ultralytics YOLO11 在现实世界的各种应用中被用于队列管理:

  • 零售:监控结账队伍,减少等待时间,提高顾客满意度。
  • 机场:管理售票柜台和安检站的排队情况,让旅客体验更顺畅。
  • 医疗保健:优化诊所和医院的病人流动。
  • 银行:通过有效管理银行排队,提高客户服务水平。

查看我们关于真实世界队列管理的博客,了解计算机视觉如何改变各行各业的队列监控。

📅创建于 11 个月前 ✏️已更新 5 天前

评论