YOLO11解决方案之热力图探索
概述
Ultralytics提供了一系列的解决方案,利用YOLO11解决现实世界的问题,包括物体计数、模糊处理、热力图、安防系统、速度估计、物体追踪等多个方面的应用。
使用YOLO11生成的热力图把复杂的数据转换成生动的彩色编码矩阵。这种可视化工具采用色谱来表示不同的数据值,暖色调表示较高的强度,冷色调表示较低的值。热力图在可视化复杂的数据模式、相关性和异常情况方面表现出色,为不同领域的数据解读提供了一种直观可视化方法。
热力图有助于说明空间关系,帮助商业智能、环境研究和城市规划等领域进行辅助决策。
热力图在交通中的应用
热力图在零售中的应用
演示代码
Ultralytics提供了CLI和Python例子,展示如何使用热力图解决方案。
import cv2from ultralytics import solutionscap = 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))
video_writer = cv2.VideoWriter("heatmap_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))# 传入区域或直线坐标,可以同时进行物体计数
# region_points = [(20, 400), (1080, 400)] # line points
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)] # rectangle region
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360), (20, 400)] # polygon points# Initialize heatmap object
heatmap = solutions.Heatmap(show=True, # display the outputmodel="yolo11n.pt", # path to the YOLO11 model filecolormap=cv2.COLORMAP_PARULA, # 颜色图# region=region_points, # 传入区域或直线坐标,可以同时进行物体计数# classes=[0, 2], # 只对特定类别生成热力图
)# Process video
while cap.isOpened():success