YOLO Vision 2026:

使用 Ultralytics YOLO26 进行队列管理 🚀#

什么是队列管理?#

Open Queue Management In Colab

使用 Ultralytics YOLO26 进行队列管理涉及组织和控制人员或车辆的排队,以减少等待时间并提高效率。这关乎优化排队,从而在零售、银行、机场和医疗机构等各种场景中提升客户满意度和系统性能。



Watch: How to Build a Queue Management System with Ultralytics YOLO26 | Real-Time Queue Analytics 🚀

队列管理的优势#

  • 减少等待时间: 队列管理系统可以高效地组织队列,最大限度地缩短客户的等待时间。这有助于提高客户满意度,因为客户可以将更少的时间花在排队上,而有更多时间去了解产品或服务。
  • 提高效率: 实施队列管理使企业能够更有效地分配资源。通过分析队列数据并优化员工配置,企业可以精简运营、降低成本并提高整体生产力。
  • 实时见解: 由 YOLO26 驱动的队列管理系统可提供有关队列长度和等待时间的即时数据,使管理者能够快速做出明智的决策。
  • 增强客户体验: 通过减少与长时间排队相关的挫败感,企业可以显著提高客户满意度和忠诚度。

现实世界应用#

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

使用 YOLO26 管理队列#

QueueManager 解决方案会计算每一帧中停留在指定区域内的对象数量,为你提供可写入输出视频的实时队列长度。传入一个覆盖等待区域的多边形区域,然后通过 Python API 或 CLI 在视频源上运行它。

使用 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)]"

QueueManager 参数#

以下是包含 QueueManager 参数的表格:

参数类型默认值描述
modelstrNoneUltralytics YOLO 模型文件的路径。
regionlistdictNone定义感兴趣区域的点,可以是 (x, y) 元组的列表,也可以是将区域名称映射到多个区域的点列表的字典(仅限 RegionCounter)。当为 None 时,需要区域的解决方案将回退到预定义的默认值。
line_widthint2解决方案绘制的框、关键点和计数的线条粗细。
verboseboolTrue启用解决方案针对每帧的输入形状、类别计数和处理速度的日志记录。跟踪调用本身始终是静默的。

QueueManagement 解决方案还支持一些 track 参数:

参数类型默认值描述
trackerstr'botsort.yaml'指定要使用的跟踪算法。内置选项:botsort.yamlbytetrack.yamlocsort.yamldeepocsort.yamlfasttrack.yamltracktrack.yaml
conffloat0.25设置检测的置信度阈值;较低的值允许跟踪更多的对象,但也可能包含误报。
ioufloat0.7设置用于过滤重叠检测结果的交并比 (IoU) 阈值。
classeslistNone按类别索引过滤结果。例如,classes=[0, 2, 3] 仅跟踪指定的类别。
devicestrNone指定用于推理的设备(例如 cpucuda:00)。允许用户在 CPU、特定的 GPU 或用于模型执行的其他计算设备之间进行选择。

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

参数类型默认值描述
showboolFalse如果为 True,则在窗口中显示带注释的图像或视频。对于开发或测试期间的即时视觉反馈非常有用。
show_confboolTrue在标签旁显示每次检测的置信度得分。让你深入了解模型对每次检测的确定性。
show_labelsboolTrue在视觉输出中显示每次检测的标签。提供对检测到对象的即时理解。

实施策略#

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

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

常见问题解答#

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

    1. 使用 YOLO("yolo26n.pt") 加载 YOLO26 模型。
    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="yolo26n.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 Platform 可以简化此流程,它提供了一个用户友好的平台来部署和管理你的队列管理解决方案。

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

    • 减少等待时间: 高效组织队列,减少客户排队时间并提高满意度。
    • 提高效率: 分析队列数据以优化员工部署和运营,从而降低成本。
    • 实时警报: 提供长时间排队的实时通知,实现快速干预。
    • 可扩展性: 能够轻松扩展到零售、机场和医疗保健等不同环境中。

    有关更多详情,请探索我们的队列管理解决方案。

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

    • 实时性能: YOLO26 以其实时检测能力而闻名,提供更快的处理速度。
    • 易用性: 通过 Ultralytics Platform,Ultralytics 提供了从训练到部署的用户友好体验。
    • 预训练模型: 拥有多种预训练模型,最大限度地减少了设置所需的时间。
    • 社区支持: 丰富的文档和活跃的社区支持使解决问题变得更加容易。

    了解如何开始使用 Ultralytics YOLO

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

    机场示例:

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

    有关多样化应用的更多信息,请查看我们的现实世界应用部分。

  • Ultralytics YOLO26 被广泛应用于各种队列管理的实际场景中:

    • 零售: 监控结账排队情况,以减少等待时间并提高客户满意度。
    • 机场: 管理售票柜台和安检点的队列,以获得更顺畅的乘客体验。
    • 医疗保健: 优化诊所和医院中的患者流程。
    • 银行: 通过高效管理银行队列来改善客户服务。

    查看我们的现实世界队列管理博客,了解有关计算机视觉如何变革各行各业队列监测的更多信息。

评论