YOLO Vision 2026:

使用 Ultralytics YOLO26 进行速度估计 🚀#

什么是速度估计?#

速度估计是计算给定上下文中对象移动速率的过程,常用于计算机视觉应用中。使用 Ultralytics YOLO26,你现在可以结合对象追踪以及距离和时间数据来计算对象速度,这对于交通监控和安防等任务至关重要。速度估计的准确性直接影响各种应用的效率和可靠性,使其成为推进智能系统和实时决策过程的关键组成部分。



Watch: Speed Estimation using Ultralytics YOLO26
查看我们的博客

有关速度估计的更深入见解,请查看我们的博客文章:Ultralytics YOLO for Speed Estimation in Computer Vision Projects

速度估计的优势#

  • 高效交通管制: 准确的速度估计有助于管理交通流、增强安全性并减少道路拥堵。
  • **精准自主导航:**在诸如自动驾驶汽车等自主系统中,可靠的速度估计可确保安全、准确的车辆导航。
  • 增强监控安防: 监控分析中的速度估计有助于识别异常行为或潜在威胁,从而提高安防措施的有效性。

现实世界应用#

交通运输交通运输
Speed Estimation on Road using Ultralytics YOLO26Speed Estimation on Bridge using Ultralytics YOLO26
使用 Ultralytics YOLO26 进行道路速度估计使用 Ultralytics YOLO26 进行桥梁速度估计
速度仅为估算值

速度仅为估算值,可能并不完全准确。此外,估算结果可能会因摄像机规格及相关因素而有所不同。

使用 YOLO26 进行速度估算#

SpeedEstimator 方案跨帧追踪每个对象,并使用视频帧率(fps)和现实世界比例(meter_per_pixel)将其像素位移转换为速度。调整 meter_per_pixel 以适配你的相机设置,并使用 max_speed 来剔除来自杂乱轨迹的异常值。

使用 Ultralytics YOLO 进行速度估计
# Run a speed example
yolo solutions speed show=True

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

# Adjust meter per pixel value based on camera configuration
yolo solutions speed meter_per_pixel=0.05

SpeedEstimator 参数#

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

参数类型默认值描述
modelstrNoneUltralytics YOLO 模型文件的路径。
fpsfloat30.0用于速度计算的每秒帧数。
max_histint5用于速度/方向计算时,每个对象可跟踪的最大历史点数。
meter_per_pixelfloat0.05用于将像素距离转换为现实世界单位的比例因子。
max_speedint120视觉叠加中的最高限速(用于警报)。
line_widthint2解决方案绘制的框、关键点和计数的线条粗细。
verboseboolTrue启用解决方案针对每帧的输入形状、类别计数和处理速度的日志记录。跟踪调用本身始终是静默的。

SpeedEstimator 方案允许使用 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在视觉输出中显示每次检测的标签。提供对检测到对象的即时理解。

常见问题解答#

  • 使用 Ultralytics YOLO26 估计对象速度结合了对象检测与追踪。该模型在每一帧中检测对象,跨帧对其进行追踪,并使用帧率和 meter_per_pixel 比例将帧之间移动的距离转换为速度。上方的 Python 示例运行了这个完整流程——传入你的视频并针对相机调整 meter_per_pixel。如需了解更多背景信息,请参考我们的官方博客文章

  • 在交通管理中使用 Ultralytics YOLO26 进行速度估计具有显著优势:

    • 增强安全性:准确估算车速以检测超速行为并改善道路安全。
    • 实时监控:利用 YOLO26 的实时目标检测能力,有效监控交通流和拥堵情况。
    • 可扩展性:将模型部署到各种硬件设置上,从边缘设备到服务器,为大规模实现确保灵活且可扩展的解决方案。

    有关更多应用,请参见速度估计的优势

  • 可以,YOLO26 可以与诸如 TensorFlow 和 PyTorch 等其他 AI 框架集成。Ultralytics 提供将 YOLO26 模型导出为 ONNXTensorRTCoreML 等各种格式的支持,从而确保与其他 ML 框架的顺畅互操作性。

    若要将 YOLO26 模型导出为 ONNX 格式:

    yolo export model=yolo26n.pt format=onnx

    在我们的导出指南中了解有关导出模型的更多信息。

  • 使用 Ultralytics YOLO26 的速度估计准确性取决于几个因素,包括对象追踪的质量、视频的分辨率和帧率以及环境变量。虽然速度估计器提供可靠的估计,但由于帧处理速度和对象遮挡的差异,它可能无法达到 100% 的准确。

    注意:请务必考虑误差范围,并尽可能使用真实数据来验证估算结果。

    有关进一步提高准确性的提示,请查看参数 SpeedEstimator 部分

评论