使用 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" 之间进行切换。
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 参数#
以下是概述 Analytics 参数的表格:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
model | str | None | Ultralytics YOLO 模型文件的路径。 |
analytics_type | str | 'line' | 图的类型,即 line、bar、area 或 pie。 |
你还可以在 Analytics 方案中使用不同的 track 参数。
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
tracker | str | 'tracktrack.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,则线条宽度会根据图像大小自动调整。提供视觉定制以提高清晰度。 |
结论#
理解何时以及如何使用不同类型的可视化对于有效的数据分析至关重要。折线图、柱状图和饼图是基础工具,可以帮助你更清晰、更有效地传达数据的来龙去脉。Ultralytics YOLO26 Analytics 解决方案提供了一种简化的方法,可从你的目标检测和跟踪结果中生成这些可视化,从而更容易从你的视觉数据中提取有价值的见解。
常见问题解答#
如何使用 Ultralytics YOLO26 Analytics 创建折线图?#
要使用 Ultralytics YOLO26 Analytics 创建折线图,请按照以下步骤操作:
- 加载一个 YOLO26 模型并打开你的视频文件。
- 使用
analytics_type="line"初始化Analytics类。 - 遍历视频帧,在每一帧调用该解决方案,以更新包含物体计数等数据的折线图。
- 将
results.plot_im写入输出视频以保存图表。
以上面的 Python 示例作为起点——它已经运行了完整的帧循环,且折线图是默认的 analytics_type。
使用 Ultralytics YOLO26 创建柱状图有什么好处?#
使用 Ultralytics YOLO26 创建柱状图有几个好处:
- 实时数据可视化:将目标检测结果无缝集成到柱状图中以实现动态更新。
- 易于使用:简单的 API 和函数使实现和可视化数据变得直接简单。
- 自定义:自定义标题、标签、颜色等,以符合你的特定需求。
- 高效:在视频处理过程中高效处理大量数据并实时更新图表。
要生成条形图,请在上方的 Python 示例中设置 analytics_type="bar"——其余的帧循环保持不变。请参阅视觉样本部分以查看预览。
为什么我在数据可视化项目中应该使用 Ultralytics YOLO26 来创建饼图?#
Ultralytics YOLO26 是创建饼图的绝佳选择,因为:
- 与目标检测集成:直接将目标检测结果集成到饼图中,以获取即时洞察。
- 用户友好的 API:设置简单,只需极少的代码即可使用。
- 可自定义:针对颜色、标签等有多种自定义选项。
- 实时更新:实时处理和可视化数据,这对于视频分析项目非常理想。
要生成饼图,请在上方的 Python 示例中设置 analytics_type="pie"。有关更多信息,请参考指南中的视觉样本部分。
Ultralytics YOLO26 能否用于追踪目标并动态更新可视化?#
可以。跟踪功能内置于 Analytics 解决方案中:它实时跟踪多个目标,并在每一帧根据跟踪目标的数据更新图表,因此折线图、柱状图、饼图和面积图都能反映实时计数。这正是上面的 Python 示例中的帧循环所做的事情。要了解基础的跟踪功能,请参阅跟踪部分。
是什么让 Ultralytics YOLO26 与 OpenCV 和 TensorFlow 等其他目标检测解决方案有所不同?#
Ultralytics YOLO26 在多个方面区别于 OpenCV 和 TensorFlow 等其他目标检测解决方案:
- 最先进的准确率:YOLO26 在目标检测、实例分割、语义分割和分类任务中提供卓越的准确率。
- 易于使用:用户友好的 API 允许在无需大量编码的情况下快速实现和集成。
- 实时性能:针对高速推理进行了优化,适合实时应用。
- 多样化的应用:支持包括多目标追踪、自定义模型训练以及导出为 ONNX、TensorRT 和 CoreML 等不同格式在内的多种任务。
- 全面的文档:丰富的文档和博客资源引导用户完成每一个步骤。
有关更详细的比较和用例,请探索我们的 Ultralytics 博客。


