Ultralytics YOLO27:
Get Started

使用 Ultralytics YOLO26 进行速度估算#

什么是速度估算?#

速度估算是计算物体在特定情境下移动速度的过程,常用于计算机视觉应用。借助 Ultralytics YOLO26,你现在可以结合目标跟踪、距离和时间数据来计算物体速度,这对于交通监控和安防等任务至关重要。速度估算的准确性会直接影响各种应用的效率和可靠性,因此它是智能系统发展和实时决策流程中的关键组成部分。



观看: 使用 Ultralytics YOLO26 进行速度估计
查看我们的博客

如需深入了解速度估算,请查看我们的博客文章:用于计算机视觉项目的 Ultralytics YOLO 速度估算

速度估算的优势#

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

实际应用#

交通运输交通运输
使用 Ultralytics YOLO26 在道路上进行速度估算使用 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最高速度(km/h);估算速度超过此值时将按此值封顶。
line_widthint2解决方案绘制的框、关键点和计数的线条粗细。
verboseboolTrue启用逐帧日志,记录输入形状、类别计数和处理速度。跟踪调用本身始终不会输出日志。

SpeedEstimator 解决方案支持使用 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_labelsboolTrue在可视化输出中显示每个检测结果的标签,便于立即了解检测到的对象。

常见问题#

  • 使用 Ultralytics YOLO26 估算物体速度,需要结合目标检测和跟踪。模型会检测每一帧中的物体,跨帧跟踪物体,并利用帧率和 meter_per_pixel 比例,将物体在帧间移动的距离转换为速度。上方的 Python 示例运行了完整流程——传入视频,并根据你的摄像头调整 meter_per_pixel。如需了解更多背景信息,请参阅我们的官方博客文章。

  • 使用 Ultralytics YOLO26 进行速度估算,可为交通管理带来显著优势:

    • 提升安全性:准确估算车辆速度,以检测超速并改善道路安全。
    • 实时监控:利用 YOLO26 的实时目标检测能力,有效监控交通流量和拥堵情况。
    • 可扩展性:可将模型部署在各种硬件环境中,从边缘设备到服务器,确保大规模部署时具有灵活、可扩展的解决方案。

    如需了解更多应用,请参阅速度估算的优势。

  • 可以,YOLO26 能与 TensorFlow 和 PyTorch 等其他 AI 框架集成。Ultralytics 支持将 YOLO26 模型导出为多种格式,例如 ONNX、TensorRT 和 CoreML,确保与其他 ML 框架顺畅互操作。

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

    yolo export model=yolo26n.pt format=onnx

    如需进一步了解模型导出,请参阅我们的导出指南。

  • 使用 Ultralytics YOLO26 进行速度估算的准确度取决于多种因素,包括目标跟踪质量、视频分辨率和帧率,以及环境变量。速度估算器能提供可靠的估算结果,但由于帧处理速度变化和物体遮挡,结果可能无法达到 100% 准确。

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

    如需了解更多提升准确度的技巧,请查看 Arguments SpeedEstimator 部分。

评论