Ultralytics YOLO27:
Get Started

使用 Ultralytics YOLO26 进行排队管理#

什么是排队管理?#

Open Queue Management In Colab

使用 Ultralytics YOLO26 进行排队管理,意味着对人群或车辆队列进行组织和管控,以缩短等待时间并提高效率。这项工作的重点是优化队列,从而提升客户满意度和系统性能,适用于零售店、银行、机场和医疗机构等各种场景。



观看: 如何使用 Ultralytics YOLO26 构建排队管理系统 | 实时队列分析 🚀

排队管理的优势#

  • 缩短等待时间:排队管理系统能够高效组织队列,尽可能缩短客户的等待时间。客户等待更少、体验产品或服务的时间更多,因此满意度也会提高。
  • 提高效率:实施排队管理有助于企业更有效地分配资源。通过分析队列数据并优化人员部署,企业可以简化运营、降低成本并提高整体生产力。
  • 实时洞察:由 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 模型文件的路径。
regionlist 或 dictNone定义感兴趣区域的点,可以是 (x, y) 元组列表,也可以是将区域名称映射到点列表的字典(仅支持多个 RegionCounter 区域)。如果为 None,则需要区域的解决方案会退回到预定义的默认区域。
line_widthint2解决方案绘制的框、关键点和计数的线条粗细。
verboseboolTrue启用逐帧日志,记录输入形状、类别计数和处理速度。跟踪调用本身始终不会输出日志。

QueueManager 解决方案还支持 track 参数:

参数类型默认值说明
trackerstr'tracktrack.yaml'指定要使用的跟踪算法。内置选项:botsort.yaml、bytetrack.yaml、ocsort.yaml、deepocsort.yaml、fasttrack.yaml、tracktrack.yaml。
conffloat0.25设置检测的置信度阈值;较低的值允许跟踪更多物体,但可能会包含误检。
ioufloat0.7设置用于筛除重叠检测结果的交并比 (IoU) 阈值。
classeslistNone按类别索引筛选结果。例如,classes=[0, 2, 3] 只跟踪指定类别。
devicestrNone指定推理设备(例如 cpu、cuda:0 或 0)。用户可以选择 CPU、特定 GPU 或其他计算设备来运行模型。
imgszint or tuple640目标推理图像尺寸:正方形图像使用整数,或使用 (height, width) 对。图像尺寸会调整为模型步幅的整数倍。
max_detint300跟踪前每帧保留的最大检测数量,用于限制解决方案在密集场景中处理的物体数量。
quantizeint or strNone推理精度:对于非 CPU 上运行的 PyTorch 和 TorchScript 模型,使用 16 (FP16) 或 32/unset (FP32) 进行选择;其他格式使用其模型文件和运行时所选的精度。此参数替代已弃用的 half 参数。

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

参数类型默认值说明
showboolFalse如果 True,则在窗口中显示带标注的图像或视频。适用于在开发或测试期间即时查看结果。
show_confboolTrue在每个检测结果的标签旁显示置信度分数,帮助了解模型对该检测结果的确信程度。
show_labelsboolTrue在可视化输出中显示每个检测结果的标签,便于立即了解检测到的对象。

实施策略#

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

  1. 合理布置摄像头:调整摄像头位置,确保完整拍摄队列区域且不受遮挡。
  2. 定义合适的队列区域:根据场地的实际布局,仔细设定队列边界。
  3. 调整检测置信度:根据光照条件和人群密度微调置信度阈值。
  4. 与现有系统集成:将排队管理解决方案连接到数字标牌或员工通知系统,以实现自动响应。

常见问题#

  • 要使用 Ultralytics YOLO26 实现实时排队管理,可以按以下步骤操作:

    1. 使用 cv2.VideoCapture 捕获视频流。
    2. 为排队管理定义感兴趣区域 (ROI)。
    3. 使用 YOLO26 模型(例如 yolo26n.pt)和该区域初始化 solutions.QueueManager。
    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 not success:
            break
        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 用于各种现实世界的排队管理场景:

    • 零售:监控结账队列,以缩短等待时间并提升客户满意度。
    • 机场:管理售票柜台和安检处的队列,让乘客出行更加顺畅。
    • 医疗保健:优化诊所和医院的患者流动。
    • 银行:通过高效管理银行内的队列来提升客户服务。

    查看我们的现实场景中的排队管理博客,了解计算机视觉如何改变各行业的队列监控。

评论