使用 Ultralytics YOLO26 进行分析#
借助 Ultralytics YOLO26 进行分析,可以将目标检测和跟踪结果转换为实时图表,让你逐帧查看视频中目标数量的变化。本指南涵盖四种数据可视化类型——折线图、柱状图、饼图和面积图,并展示如何通过共享的 Python 和 CLI 示例在它们之间切换。
Watch: How to generate Analytical Graphs using Ultralytics | Line Graphs, Bar Plots, Area and Pie Charts
可视化示例#
| 折线图 | 柱状图 | 饼图 |
|---|---|---|
![]() | ![]() | ![]() |
为什么要将检测数据可视化?#
- 折线图非常适合跟踪短期和长期变化,以及比较同一时期内多个组的变化。
- 柱状图适合比较不同类别之间的数量,并展示类别与其数值之间的关系。
- 饼图适合说明各类别之间的比例,以及展示整体的组成部分。
- 面积图会填充折线图区域,使每个类别的目标数量随时间的变化更易于一眼看清。
生成分析图表#
将视频传递给 Analytics 解决方案,并使用 analytics_type 选择图表。该解决方案会对每一帧执行检测和跟踪,并渲染出一张 1280×720 的图表(默认),你可以直接将其写入输出视频。只需一个参数,即可在 "line"、"bar"、"pie" 和 "area" 之间切换。
使用 Ultralytics YOLO 进行分析
yolo solutions analytics show=True
# Pass the source
yolo solutions analytics source="path/to/video.mp4"
# Generate the pie chart
yolo solutions analytics analytics_type="pie" show=True
# Generate the bar plots
yolo solutions analytics analytics_type="bar" show=True
# Generate the area plots
yolo solutions analytics analytics_type="area" show=TrueAnalytics 参数#
下面的表格列出了分析参数:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
model | str | None | Ultralytics YOLO 模型文件的路径。 |
analytics_type | str | 'line' | 图表类型,即 line、bar、area 或 pie。 |
line_width | int | 2 | 解决方案绘制的框、关键点和计数的线条粗细。 |
verbose | bool | True | 启用解决方案逐帧记录输入形状、类别计数和处理速度的日志。跟踪调用本身始终保持静默。 |
你还可以在 Analytics 解决方案中使用不同的 track 参数。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
tracker | str | 'botsort.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 | 推理精度:针对 PyTorch 和 TorchScript 模型,使用 16 (FP16) 或 32/不设置 (FP32);其他格式则在其工件和运行时选择的精度下进行计算。它替代了已弃用的 half 标志。 |
此外,还支持以下可视化参数:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
show | bool | False | 如果为 True,则会在窗口中显示带标注的图像或视频。适用于开发或测试期间获取即时视觉反馈。 |
结论#
了解不同可视化类型的使用时机和方法,对于有效的数据分析至关重要。折线图、柱状图和饼图是基础工具,可以帮助你更清晰、更有效地讲述数据背后的故事。Ultralytics YOLO26 分析解决方案提供了一种简便方式,可根据目标检测和跟踪结果生成这些可视化图表,从而更轻松地从视觉数据中提取有意义的洞察。
常见问题#
要使用 Ultralytics YOLO26 Analytics 创建折线图,请按以下步骤操作:
- 加载 YOLO26 模型并打开视频文件。
- 使用
analytics_type="line"初始化Analytics类。 - 遍历视频帧,在每一帧调用该解决方案,以使用目标数量等数据更新折线图。
- 将
results.plot_im写入输出视频以保存图表。
将上面的 Python 示例作为起点——它已经运行了完整的帧循环,而折线图是默认的
analytics_type。


