Ultralytics YOLO27:

使用 Ultralytics YOLO26 进行速度估计#

什么是速度估计?#

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



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

此外,还支持以下可视化选项:

参数类型默认值描述
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 部分

评论