YOLO11解决方案之分析

发布于:2025-06-08 ⋅ 阅读:(18) ⋅ 点赞:(0)

概述

Ultralytics提供了一系列的解决方案,利用YOLO11解决现实世界的问题,包括物体计数、模糊处理、热力图、安防系统、速度估计、物体追踪等多个方面的应用。

Ultralytics提供了三种基本的数据可视化类型:折线图(面积图)、条形图和饼图。
在这里插入图片描述

  • 折线图适合用于跟踪长短期的变化,以及比较同一时期多个组别的变化。
  • 条形图则适合比较不同类别的数量,并显示类别与其数值之间的关系。
  • 饼图可以有效地说明不同类别之间的比例,并显示整体的各个部分。

解决方案的演示代码如下:

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

# Video writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
out = cv2.VideoWriter(
    "analytics_output.avi",
    cv2.VideoWriter_fourcc(*"MJPG"),
    fps,
    (1280, 720),  # this is fixed
)

# Initialize analytics object
analytics = solutions.Analytics(
    show=True,  # display the output
    analytics_type="line",  # pass the analytics type, could be "pie", "bar" or "area".
    model="yolo11n.pt",  # path to the YOLO11 model file
    # classes=[0, 2],  # display analytics for specific detection classes
)

# Process video
frame_count = 0
while cap.isOpened():
    success, im0 = cap.read()
    if success:
        frame_count += 1
        results = analytics(im0, frame_count)  # update analytics graph every frame

        # print(results)  # access the output

        out.write(results.plot_im)  # write the video file
    else:
        break

cap.release()
out.release()
cv2.destroyAllWindows()  # destroy all opened windows

Analytics参数

基本参数

参数 类型 默认值 说明
data str images 用于相似性搜索的图像目录路径。
analytics_type str line 图形类型,即 line, bar, areapie.

track参数

参数 类型 默认值 说明
tracker str 'botsort.yaml' 指定要使用的跟踪算法, bytetrack.yamlbotsort.yaml.
conf float 0.3 设置检测的置信度阈值;数值越低,跟踪的物体越多,但可能会出现误报。
iou float 0.5 设置交叉重叠 (IoU) 阈值,用于过滤重叠检测。
classes list None 按类别索引筛选结果。例如 classes=[0, 2, 3] 只跟踪指定的类别(class在COCO数据集定义)。
verbose bool True 控制跟踪结果的显示,提供被跟踪物体的可视化输出。
device str None 指定用于推理的设备(例如: cpu, cuda:00). 允许用户选择CPU 、特定GPU 或其他计算设备运行模型。

可视化参数:

参数 类型 默认值 说明
show bool False 如果 True在一个窗口中显示注释的图像或视频。有助于在开发或测试过程中提供即时视觉反馈。
line_width None or int None 指定边界框的线宽。如果 None则根据图像大小自动调整线宽,使图像更加清晰。

效果展示

图像文件:

在这里插入图片描述

分析类型analytics_type=line
在这里插入图片描述

分析类型analytics_type=area

在这里插入图片描述

分析类型analytics_type=bar

在这里插入图片描述

分析类型analytics_type=pie

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到