Ultralytics YOLO27:
Get Started

使用 Ultralytics YOLO26 进行分析#

使用 Ultralytics YOLO26 进行分析,可将对象检测和跟踪结果转换为实时图表,让你逐帧查看视频中对象数量的变化。本指南介绍四种数据可视化类型——折线图、条形图、饼图和面积图,并通过通用的 Python 和 CLI 示例演示如何切换图表类型。



观看: 如何使用 Ultralytics 生成分析图表 | 折线图、条形图、面积图和饼图

可视化示例#

折线图条形图饼图
用于对象跟踪的 YOLO 分析折线图用于检测数量统计的 YOLO 分析条形图用于类别分布的 YOLO 分析饼图

为什么要将检测数据可视化?#

  • 折线图非常适合跟踪短期和长期变化,也适合比较多个组在同一时期内的变化。
  • 条形图适合比较不同类别的数量,以及展示类别与其数值之间的关系。
  • 饼图适用于呈现各类别所占比例,以及展示整体中的各个部分。
  • 面积图会填充折线图下方的区域,让你一目了然地查看各类别对象数量随时间的变化。

生成分析图表#

将视频传递给 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=True

Analytics 参数#

以下表格列出了 Analytics 的参数:

参数类型默认值说明
modelstrNoneUltralytics YOLO 模型文件的路径。
analytics_typestr'line'图表类型,即 line、bar、area 或 pie。
figsizetuple[float, float](12.8, 7.2)Analytics 图表的图幅尺寸(英寸);(12.8, 7.2) 会渲染 1280×720 的帧。
line_widthint2解决方案绘制的框、关键点和计数的线条粗细。
verboseboolTrue启用逐帧日志,记录输入形状、类别计数和处理速度。跟踪调用本身始终不会输出日志。

你还可以在 Analytics 解决方案中使用不同的 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,则在窗口中显示带标注的图像或视频。适用于在开发或测试期间即时查看结果。

结论#

了解何时以及如何使用不同类型的可视化,对于有效的数据分析至关重要。折线图、条形图和饼图是基础工具,可以帮助你更清晰、更有效地讲述数据所呈现的情况。Ultralytics YOLO26 Analytics 解决方案提供了简化的方式,可根据对象检测和跟踪结果生成这些可视化图表,帮助你更轻松地从视觉数据中提取有意义的见解。

常见问题#

  • 要使用 Ultralytics YOLO26 Analytics 创建折线图,请按以下步骤操作:

    1. 加载 YOLO26 模型并打开视频文件。
    2. 使用 analytics_type="line" 初始化 Analytics 类。
    3. 遍历视频帧,并在每一帧调用解决方案,用对象数量等数据更新折线图。
    4. 将 results.plot_im 写入输出视频,以保存图表。

    你可以从上面的 Python 示例开始着手——该示例已包含完整的帧循环,而折线图是默认的 analytics_type。

  • 使用 Ultralytics YOLO26 创建条形图有以下好处:

    1. 实时数据可视化:将对象检测结果无缝整合到条形图中,实现动态更新。
    2. 易于使用:简单的 API 和函数让数据实现和可视化变得轻松直接。
    3. 可定制:自定义标题、标签、颜色等,以满足你的具体需求。
    4. 高效:高效处理大量数据,并在视频处理期间实时更新图表。

    要生成条形图,请在上面的 Python 示例中设置 analytics_type="bar"——其余帧循环保持不变。有关预览,请参阅可视化示例部分。

  • Ultralytics YOLO26 非常适合创建饼图,原因如下:

    1. 与对象检测集成:将对象检测结果直接整合到饼图中,快速获取见解。
    2. 易用的 API:只需少量代码即可轻松设置和使用。
    3. 可定制:提供多种自定义选项,可调整颜色、标签等。
    4. 实时更新:实时处理和可视化数据,非常适合视频分析项目。

    要生成饼图,请在上面的 Python 示例中设置 analytics_type="pie"。如需了解更多信息,请参阅指南中的可视化示例部分。

  • 可以。Analytics 解决方案内置跟踪功能:它可以实时跟踪多个对象,并每 30 帧根据跟踪对象的数据刷新图表,因此折线图、条形图、饼图和面积图都会显示实时统计数据。上面的 Python 示例中的帧循环正是这样实现的。如需了解底层跟踪功能,请参阅跟踪部分。

  • Ultralytics YOLO26 在多个方面有别于 OpenCV 和 TensorFlow 等其他对象检测解决方案:

    1. 先进的准确率:YOLO26 在对象检测、实例分割、语义分割和分类任务中具有卓越的准确率。
    2. 易于使用:易用的 API 无需大量编码,即可快速实现和集成。
    3. 实时性能:经过优化,可实现高速推理,适用于实时应用。
    4. 应用广泛:支持多目标跟踪、自定义模型训练,以及导出为 ONNX、TensorRT 和 CoreML 等不同格式。
    5. 文档全面:详尽的文档和博客资源可指导用户完成每个步骤。

    如需了解更详细的比较和用例,请访问我们的 Ultralytics 博客。

评论