如何用 Ultralytics YOLO26 的 Heatmap 方案为视频生成目标移动热力图

发布时间:2026/9/9 22:00:32

如何用 Ultralytics YOLO26 的 Heatmap 方案为视频生成目标移动热力图 如何用 Ultralytics YOLO26 的 Heatmap 方案为视频生成目标移动热力图【免费下载链接】ultralyticsUltralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking项目地址: https://gitcode.com/GitHub_Trending/ul/ultralytics如果你有一段监控、交通或人流视频想在一张空间分布图上直观看出目标最常出现在哪里、在哪停留Ultralytics 的 Heatmap solution 可以直接完成这件事它基于 YOLO26 的目标跟踪在视频帧间追踪每个目标把每个目标停留位置上的强度持续累加再用 OpenCV colormap 把累加结果上色并叠回原帧。忙的区域呈暖色高亮冷清的区域保持冷色。整个流程只需要一个 Python 脚本或一条 CLI 命令无需自己搭建检测加跟踪的管线。本文的主路径是安装环境 → 用 Python 脚本把热力图叠加帧写入输出视频文件 → 验证结果CLI 和可选的计数区域、类别过滤作为分支给出。准备工作安装ultralytics包文档推荐 pip 方式# Install or upgrade the ultralytics package from PyPI pip install -U ultralytics准备一个输入视频文件脚本中所有示例的路径path/to/video.mp4都需要替换成你自己的视频路径这是读者必须提供的值。示例统一使用yolo26n.pt这个 YOLO26n 检测模型文件名文档中的所有 Heatmap 示例都直接传入该文件名。原理Heatmap 方案每帧做了什么Heatmap 实现继承自ObjectCounter处理流程是第一帧创建一块与帧尺寸相同的空白强度层initialized标志保证只创建一次之后每一帧先由 YOLO26 跟踪检测并跟随帧内所有目标对每个被跟踪目标以其边界框中心为圆心的圆形区域内强度增加每帧结束把累加的强度层归一化、按所选 colormap 上色再与原帧按 0.5/0.5 权重混合。由此产生两个行为特征读结果时要注意热力图是随时间逐步长出来的视频越靠后累计效果越明显当某帧没有跟踪到任何目标时该帧直接显示原图不带热力图叠加。主路径Python 脚本生成热力图视频下面代码来自官方 Heatmap 指南完整可运行。需要替换的只有视频路径path/to/video.mp4输出文件固定为当前目录下的heatmap_output.avi。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)) video_writer cv2.VideoWriter(heatmap_output.avi, cv2.VideoWriter_fourcc(*mp4v), fps, (w, h)) # Initialize heatmap object heatmap solutions.Heatmap( showTrue, # display the output modelyolo26n.pt, # path to the YOLO26 model file colormapcv2.COLORMAP_PARULA, # colormap of heatmap # regionregion_points, # object counting with heatmaps, you can pass region_points # classes[0, 2], # generate heatmap for specific classes, e.g., person and car. ) # Process video while cap.isOpened(): success, im0 cap.read() if not success: print(Video frame is empty or processing is complete.) break results heatmap(im0) # print(results) # access the output video_writer.write(results.plot_im) # write the processed frame. cap.release() video_writer.release() cv2.destroyAllWindows() # destroy all opened windows关键参数说明showTrue会弹出窗口实时显示处理后的帧默认值为False需要显示反馈时才传Trueresults.plot_im是已经叠加好热力图的帧逐帧写入video_writer后得到输出视频脚本跑完会在当前目录生成heatmap_output.avi。替代路径CLI 快速运行安装完成后可以直接用命令行跑yolo solutions heatmap是官方给出的入口语法为yolo SOLUTIONS SOLUTION_NAME ARGS# Run a heatmap example yolo solutions heatmap showTrue # Pass a source video yolo solutions heatmap sourcepath/to/video.mp4 # Pass a custom colormap yolo solutions heatmap colormapcv2.COLORMAP_INFERNO其中source参数仅 CLI 可用用来指定输入视频视频文件、RTSP 等。常用参数Heatmap()可传入以下三类参数默认值来自官方参数表参数类型默认值说明modelstrNoneUltralytics YOLO 模型文件路径colormapintcv2.COLORMAP_DEEPGREEN热力图所用 colormap可传任意cv2.COLORMAP_*常量regionlistordictNone兴趣区域点集None时不计数。传入后同时统计进出该区域的目标数line_widthint2方案绘制的框、关键点、计数的线宽verboseboolTrue开启后按帧输出输入尺寸、类别计数和处理速度的日志另外可透传track参数Heatmap把部分参数转发给跟踪调用参数类型默认值说明trackerstrbotsort.yaml跟踪算法内置选项botsort.yaml、bytetrack.yaml、ocsort.yaml、deepocsort.yaml、fasttrack.yaml、tracktrack.yamlconffloat0.25检测置信度阈值调低会让更多目标被跟踪但可能混入误检ioufloat0.7过滤重叠检测的 IoU 阈值classeslistNone按类别索引过滤如classes[0, 2, 3]只跟踪指定类别devicestrNone推理设备如cpu、cuda:0或0colormap接受任意 OpenCV colormap 常量文档列出的选项包括cv2.COLORMAP_JET、cv2.COLORMAP_HOT、cv2.COLORMAP_INFERNO、cv2.COLORMAP_MAGMA、cv2.COLORMAP_PLASMA、cv2.COLORMAP_PARULA、cv2.COLORMAP_VIRIDIS、cv2.COLORMAP_TURBO等二十余种按需选择即可。可选分支只统计特定类别如果视频里人和车混在一起只想看人COCO 类别索引 0和车索引 2的热力图传入classesimport cv2 from ultralytics import solutions cap cv2.VideoCapture(path/to/video.mp4) # 替换为你的视频路径 heatmap solutions.Heatmap(showTrue, modelyolo26n.pt, classes[0, 2]) while cap.isOpened(): success, im0 cap.read() if not success: break results heatmap(im0) cap.release() cv2.destroyAllWindows()可选分支热力图 区域计数传入region后方案在生成热力图的同时统计进出该区域的目标数。region点集可以是两点一条计数线或三点以上多边形区域按连接顺序书写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把region_points赋给主路径示例中注释掉的region参数即可对应的 CLI 写法是yolo solutions heatmap region[(20, 400), (1080, 400), (1080, 360), (20, 360)]。这些示例坐标按官方文档的 1080 宽画面给出实际使用时需要按你的视频分辨率自行确定。区域配置细节可参考 Object Counting 指南。如何验证结果输出文件脚本正常结束后当前目录应出现heatmap_output.avi。文档没有给出固定的像素级成功标准判断方式就是打开该视频确认目标密集区域随播放时间逐渐出现暖色叠加。返回值检查每次调用heatmap(im0)返回SolutionResults其属性包括plot_im叠加后的帧、in_count与out_count进出区域计数仅在设置region时有意义、classwise_count按类别的计数和total_tracks当前跟踪到的目标数。把示例中被注释的print(results)打开即可查看。逐帧日志verbose默认为True运行时控制台会输出每帧的输入尺寸、类别计数和处理速度可用于确认管线在正常推进。读取失败如果视频路径错误或文件损坏脚本会触发assert cap.isOpened(), Error reading video file直接报错视频读完最后一帧时进入break分支并打印Video frame is empty or processing is complete.。限制与注意点热力图强度是整段视频累计的中途重启脚本会重新从空白强度层开始同一视频想获得完整累计效果需要一次性跑完。未跟踪到目标的帧不带叠加层这是正常行为而非错误。classes使用的是 COCO 类别索引换用自训练模型时类别含义会随你的数据集变化。默认show为False无显示环境如服务器跑脚本时不要开showTrue。延伸阅读Heatmap 完整指南包含 FAQ 与更多 colormap 选项Object Counting 指南region配置与计数逻辑跟踪模式文档各 tracker 算法的对比Solutions 总览Heatmap之外的其他可视化方案【免费下载链接】ultralyticsUltralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking项目地址: https://gitcode.com/GitHub_Trending/ul/ultralytics创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/9/9 22:00:31

STM32F0x标准库使用指南:从解压到GPIO点灯跑通

简介:STM32F0x.zip 是一套面向 STM32F0 系列微控制器(ARM Cortex-M0)的嵌入式开发资料包,适合正在学习或实际开发 STM32F0 的软硬件工程师。压缩包内除 IAR 工程文件与链接/调试配置外,还包含 stm32f0xx_tim.c、stm32f…

2026/9/9 22:50:48

Telegraf 上手指南:10分钟跑通第一条监控数据

Telegraf 上手指南:10分钟跑通第一条监控数据 【免费下载链接】telegraf Agent for collecting, processing, aggregating, and writing metrics, logs, and other arbitrary data. 项目地址: https://gitcode.com/GitHub_Trending/te/telegraf Telegraf 是一…

2026/9/9 22:50:48

数据治理实战:从元数据到主数据,构建可信数据底座

刚接手一家制造业客户的数据治理项目时,对方信息中心主任跟我倒苦水:集群搭起来了、数仓建好了、BI报表也上了线,可业务部门开月会还是各自从Excel里取数,因为系统里的同一个“客户”在不同部门口径下能差出三倍。这种事在大数据圈…

2026/9/9 22:50:48

DBA 面试不用再到处找题:530 道题库 + AI 模拟面试!

准备 DBA 面试时,最容易陷进去的不是没题,而是题太散:收藏夹里一份 Oracle 文档,网盘里几套 MySQL 题目,临面试了还在判断哪些该背、哪些只要理解。 ORA100 把这件事收拢成了一个面试准备台。先按数据库、难度和能力方…

2026/9/9 22:45:48

Wonderdraft+Dungeondraft:从世界地图到战斗场景的地图制作实战指南

做地图这件事,做了这么多年,我越来越觉得它不是一个“画图”的活儿,而是一个“搭建舞台”的活儿。无论是跑团主持人准备一张大陆全景图,还是独立游戏开发者给关卡配一张战斗地图,工具选对了,效率能差出好几…

2026/9/9 13:11:35

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/8 7:15:15

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/9 16:31:09

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/9 0:00:48

MHS模型硬件标准:让大模型像调用软件一样控制物理设备

让Claude真正看着显微镜说“这个细胞形态不太对”,或者让大模型自己调一版机械臂的运动轨迹,这事儿听上去已经很接近科幻片了。但你真上手试一次就会发现,模型不缺智商,缺的是一个能插进显微镜、机械臂、激光控制器里的“通用插座…

2026/9/9 0:00:48

AI五大核心方向详解:从机器学习到大模型,零基础转行选哪条?

会有人告诉我,他想转行学AI,但打开招聘网站一看直接傻眼:机器学习、深度学习、自然语言处理、计算机视觉、大模型应用……满屏都是这些词,好像每个都会一点,又好像每个都离自己很远。还有人上来就问“学Python还是学Ja…

2026/9/9 0:00:49

从50行最小循环到生产级AI引擎:工程化改造全解析

直接说干货。这一章我写的不是那种"hello world跑通某个模型"的教程,而是把AI引擎当做一个真正要上线、要被人调用、要扛流量的系统来聊。从最初只有50行的最小循环,到能够承载生产流量的AI引擎,中间差的不是代码量,而是…

2026/9/7 16:23:03

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/7 22:46:00

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/9 10:21:54

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码