使用 Ultralytics YOLO26 进行排队管理#
什么是排队管理?#
使用 Ultralytics YOLO26 进行排队管理,意味着对人群或车辆队列进行组织和管控,以缩短等待时间并提高效率。这项工作的重点是优化队列,从而提升客户满意度和系统性能,适用于零售店、银行、机场和医疗机构等各种场景。
观看: 如何使用 Ultralytics YOLO26 构建排队管理系统 | 实时队列分析 🚀
排队管理的优势#
- 缩短等待时间:排队管理系统能够高效组织队列,尽可能缩短客户的等待时间。客户等待更少、体验产品或服务的时间更多,因此满意度也会提高。
- 提高效率:实施排队管理有助于企业更有效地分配资源。通过分析队列数据并优化人员部署,企业可以简化运营、降低成本并提高整体生产力。
- 实时洞察:由 YOLO26 驱动的排队管理系统可即时提供队列长度和等待时间数据,帮助管理人员迅速做出明智决策。
- 提升客户体验:通过减少长时间等待带来的挫败感,企业可以显著提高客户满意度和忠诚度。
实际应用#
| 物流 | 零售 |
|---|---|
![]() | ![]() |
| 使用 Ultralytics YOLO26 管理机场售票柜台排队 | 使用 Ultralytics YOLO26 监控人群排队情况 |
使用 YOLO26 管理队列#
QueueManager 解决方案会逐帧统计定义区域内的对象,让你获得实时队列长度,并将其写入输出视频。传入一个覆盖等待区域的多边形区域,然后使用 Python API 或 CLI 在视频源上运行该方案。
# 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 参数表:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
model | str | None | Ultralytics YOLO 模型文件的路径。 |
region | list 或 dict | None | 定义感兴趣区域的点,可以是 (x, y) 元组列表,也可以是将区域名称映射到点列表的字典(仅支持多个 RegionCounter 区域)。如果为 None,则需要区域的解决方案会退回到预定义的默认区域。 |
line_width | int | 2 | 解决方案绘制的框、关键点和计数的线条粗细。 |
verbose | bool | True | 启用逐帧日志,记录输入形状、类别计数和处理速度。跟踪调用本身始终不会输出日志。 |
QueueManager 解决方案还支持 track 参数:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
tracker | str | 'tracktrack.yaml' | 指定要使用的跟踪算法。内置选项:botsort.yaml、bytetrack.yaml、ocsort.yaml、deepocsort.yaml、fasttrack.yaml、tracktrack.yaml。 |
conf | float | 0.25 | 设置检测的置信度阈值;较低的值允许跟踪更多物体,但可能会包含误检。 |
iou | float | 0.7 | 设置用于筛除重叠检测结果的交并比 (IoU) 阈值。 |
classes | list | None | 按类别索引筛选结果。例如,classes=[0, 2, 3] 只跟踪指定类别。 |
device | str | None | 指定推理设备(例如 cpu、cuda:0 或 0)。用户可以选择 CPU、特定 GPU 或其他计算设备来运行模型。 |
imgsz | int or tuple | 640 | 目标推理图像尺寸:正方形图像使用整数,或使用 (height, width) 对。图像尺寸会调整为模型步幅的整数倍。 |
max_det | int | 300 | 跟踪前每帧保留的最大检测数量,用于限制解决方案在密集场景中处理的物体数量。 |
quantize | int or str | None | 推理精度:对于非 CPU 上运行的 PyTorch 和 TorchScript 模型,使用 16 (FP16) 或 32/unset (FP32) 进行选择;其他格式使用其模型文件和运行时所选的精度。此参数替代已弃用的 half 参数。 |
此外,还提供以下可视化参数:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
show | bool | False | 如果 True,则在窗口中显示带标注的图像或视频。适用于在开发或测试期间即时查看结果。 |
show_conf | bool | True | 在每个检测结果的标签旁显示置信度分数,帮助了解模型对该检测结果的确信程度。 |
show_labels | bool | True | 在可视化输出中显示每个检测结果的标签,便于立即了解检测到的对象。 |
实施策略#
使用 YOLO26 实施排队管理时,请考虑以下最佳实践:
- 合理布置摄像头:调整摄像头位置,确保完整拍摄队列区域且不受遮挡。
- 定义合适的队列区域:根据场地的实际布局,仔细设定队列边界。
- 调整检测置信度:根据光照条件和人群密度微调置信度阈值。
- 与现有系统集成:将排队管理解决方案连接到数字标牌或员工通知系统,以实现自动响应。
常见问题#
要使用 Ultralytics YOLO26 实现实时排队管理,可以按以下步骤操作:
- 使用
cv2.VideoCapture捕获视频流。 - 为排队管理定义感兴趣区域 (ROI)。
- 使用 YOLO26 模型(例如
yolo26n.pt)和该区域初始化solutions.QueueManager。 - 处理视频帧以检测对象并管理队列。
下面是一个精简示例:
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 用于各种现实世界的排队管理场景:
- 零售:监控结账队列,以缩短等待时间并提升客户满意度。
- 机场:管理售票柜台和安检处的队列,让乘客出行更加顺畅。
- 医疗保健:优化诊所和医院的患者流动。
- 银行:通过高效管理银行内的队列来提升客户服务。
查看我们的现实场景中的排队管理博客,了解计算机视觉如何改变各行业的队列监控。

