Ultralytics YOLO27:

使用 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启用解决方案逐帧记录输入形状、类别计数和处理速度的日志。跟踪调用本身始终保持静默。

QueueManager 解决方案还支持 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 或其他计算设备之间进行选择,以执行模型。
imgszint or tuple640目标推理图像大小:用于正方形的整数或 (height, width) 对。形状会根据模型步长进行调整。
max_detint300在跟踪前每帧保留的最大检测数,用于限制解决方案在密集场景中处理的对象数量。
quantizeint or strNone推理精度:针对 PyTorch 和 TorchScript 模型,使用 16 (FP16) 或 32/不设置 (FP32);其他格式则在其工件和运行时选择的精度下进行计算。它替代了已弃用的 half 标志。

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

参数类型默认值描述
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 通过 Ultralytics Platform 提供从训练到部署的友好使用体验。
    • 预训练模型: 提供一系列预训练模型,减少设置所需的时间。
    • 社区支持: 完善的文档和活跃的社区支持让问题解决更加容易。

    了解如何开始使用 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 可用于多种队列管理实际应用:

    • 零售: 监控收银队列,减少等待时间并提高客户满意度。
    • 机场: 管理售票柜台和安检点的队列,为乘客提供更顺畅的出行体验。
    • 医疗: 优化诊所和医院的患者流动。
    • 银行: 通过高效管理银行中的队列,提升客户服务水平。

    查看我们的实际队列管理博客,详细了解计算机视觉如何改变各行业的队列监控。

评论