Link to this section使用 Ultralytics YOLO26 进行速度估计 🚀#
Link to this section什么是速度估计?#
速度估计 是计算物体在特定场景下移动速率的过程,常用于 计算机视觉 应用中。使用 Ultralytics YOLO26,你现在可以结合 目标追踪 以及距离和时间数据来计算物体速度,这对于交通监控和安防等任务至关重要。速度估计的准确性直接影响各种应用的效率和可靠性,使其成为智能系统和实时决策过程进步的关键组成部分。
Watch: Speed Estimation using Ultralytics YOLO26
如需了解关于速度估计的更深入见解,请查看我们的博客文章:Ultralytics YOLO for Speed Estimation in Computer Vision Projects
Link to this section速度估计的优势#
- 高效交通管制: 准确的速度估计有助于管理交通流、增强安全性并减少道路拥堵。
- 精确自主导航: 在 自动驾驶汽车 等自主系统中,可靠的速度估计确保了安全且准确的车辆导航。
- 增强监控安防: 监控分析中的速度估计有助于识别异常行为或潜在威胁,从而提高安防措施的有效性。
Link to this section现实世界应用#
| 交通运输 | 交通运输 |
|---|---|
![]() | ![]() |
| 使用 Ultralytics YOLO26 进行道路速度估计 | 使用 Ultralytics YOLO26 进行桥梁速度估计 |
速度仅为估算值
速度仅为估算值,可能并不完全准确。此外,估算结果可能会因摄像机规格及相关因素而有所不同。
# 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.05Link to this sectionSpeedEstimator 参数#
以下是 SpeedEstimator 参数表:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
model | str | None | Ultralytics YOLO 模型文件的路径。 |
fps | float | 30.0 | 用于速度计算的每秒帧数。 |
max_hist | int | 5 | 用于速度/方向计算时,每个对象可跟踪的最大历史点数。 |
meter_per_pixel | float | 0.05 | 用于将像素距离转换为现实世界单位的比例因子。 |
max_speed | int | 120 | 视觉叠加中的最高限速(用于警报)。 |
SpeedEstimator 解决方案允许使用 track 参数:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
tracker | str | 'botsort.yaml' | 指定要使用的追踪算法。内置选项包括:botsort.yaml、bytetrack.yaml、ocsort.yaml、deepocsort.yaml、fasttrack.yaml、tracktrack.yaml。 |
conf | float | 0.1 | 设置检测的置信度阈值;较低的值允许跟踪更多的对象,但也可能包含误报。 |
iou | float | 0.7 | 设置用于过滤重叠检测的 交并比 (IoU) 阈值。 |
classes | list | None | 按类别索引过滤结果。例如,classes=[0, 2, 3] 仅跟踪指定的类别。 |
verbose | bool | True | 控制跟踪结果的显示,提供被跟踪对象的视觉输出。 |
device | str | None | 指定推理设备(例如 cpu、cuda:0 或 0)。允许用户在 CPU、特定的 GPU 或其他计算设备之间进行选择以执行模型。 |
此外,还支持以下可视化选项:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
show | bool | False | 如果为 True,则在窗口中显示标注后的图像或视频。这对于开发或测试过程中的即时视觉反馈非常有用。 |
line_width | int or None | None | 指定边界框的线条宽度。如果为 None,则线条宽度会根据图像尺寸自动调整。提供用于清晰度的视觉自定义功能。 |
show_conf | bool | True | 在标签旁显示每次检测的置信度得分。让你深入了解模型对每次检测的确定性。 |
show_labels | bool | True | 在视觉输出中显示每次检测的标签。提供对检测到对象的即时理解。 |
Link to this section常见问题解答#
Link to this section我该如何使用 Ultralytics YOLO26 估算物体速度?#
使用 Ultralytics YOLO26 估算物体速度涉及结合 目标检测 和追踪技术。首先,你需要使用 YOLO26 模型检测每一帧中的物体。然后,跨帧追踪这些物体以计算它们随时间推移的移动情况。最后,利用物体在帧与帧之间移动的距离和帧率来估算其速度。
示例:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("speed_estimation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Initialize SpeedEstimator
speedestimator = solutions.SpeedEstimator(
model="yolo26n.pt",
show=True,
)
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
results = speedestimator(im0)
video_writer.write(results.plot_im)
cap.release()
video_writer.release()
cv2.destroyAllWindows()欲了解更多详细信息,请参考我们的 官方博客文章。
Link to this section在交通管理中使用 Ultralytics YOLO26 进行速度估计有什么好处?#
在交通管理中使用 Ultralytics YOLO26 进行速度估计具有显著优势:
- 增强安全性:准确估算车速以检测超速行为并改善道路安全。
- 实时监控:利用 YOLO26 的实时目标检测能力,有效监控交通流和拥堵情况。
- 可扩展性:该模型可部署在从 边缘设备 到服务器的各种硬件配置上,确保了大规模实施时方案的灵活性和可扩展性。
更多应用请参见 速度估计的优势。
Link to this sectionYOLO26 能否与 TensorFlow 或 PyTorch 等其他 AI 框架集成?#
是的,YOLO26 可以与 TensorFlow 和 PyTorch 等其他 AI 框架集成。Ultralytics 支持将 YOLO26 模型导出为多种格式,例如 ONNX、TensorRT 和 CoreML,确保了与其他 ML 框架之间的顺畅互操作性。
若要将 YOLO26 模型导出为 ONNX 格式:
yolo export model=yolo26n.pt format=onnx在我们的 导出指南 中了解关于模型导出的更多信息。
Link to this section使用 Ultralytics YOLO26 进行速度估计的准确度如何?#
使用 Ultralytics YOLO26 进行速度估计的 准确性 取决于多个因素,包括目标追踪的质量、视频的分辨率和帧率,以及环境因素。虽然速度估算器提供了可靠的估算值,但由于帧处理速度和物体遮挡等差异,它可能无法达到 100% 的精确度。
注意:请务必考虑误差范围,并尽可能使用真实数据来验证估算结果。
如需进一步提高准确性的建议,请查看 SpeedEstimator 参数部分。

