新闻详情

新闻详情

首页 / 资讯中心 / 详情

MMDetection 跟踪任务可视化指南:TrackVisualizationHook 与 TrackLocalVisualizer 详解

发布时间:2026/9/19 22:35:00来源:尧图网络
MMDetection 跟踪任务可视化指南:TrackVisualizationHook 与 TrackLocalVisualizer 详解
人工智能计算机视觉深度学习模型评测【免费下载链接】mmdetectionOpenMMLab Detection Toolbox and Benchmark项目地址https://gitcode.com/gh_mirrors/mm/mmdetection点击查看免费下载本文围绕 MMDetection 仓库中跟踪Tracking任务的可视化能力展开系统讲解TrackVisualizationHook与TrackLocalVisualizer的配置方式、全部参数语义及其在 MOT多目标跟踪与 VIS视频实例分割任务中的实际应用。阅读本文后你将掌握如何通过修改配置文件在验证与测试阶段绘制并保存预测结果、如何按帧间隔抽帧可视化、如何将结果输出到本地目录或 TensorBoard 等后端并能结合源码理解底层绘制逻辑与运行时机。概览跟踪任务的两级可视化体系在 MMDetection 中跟踪任务的可视化由两级组件协作完成源码实现见 mmdet/engine/hooks/visualization_hook.py 与 mmdet/visualization/local_visualizer.pyTrackVisualizationHook一个训练/测试钩子Hook负责在验证val与测试test迭代结束后触发可视化动作决定何时画、画哪些帧、是否显示、保存到哪里。TrackLocalVisualizer实际执行绘图的本地可视化器负责怎么画包括边界框、掩码、实例 ID 与类别文本的渲染。二者的调用关系在钩子的visualize_single_image方法中体现钩子从数据样本中读取图像路径、加载 RGB 图像然后调用self._visualizer.add_datasample(...)将数据样本交给可视化器完成绘制与输出。此外仓库中还提供了面向检测任务的DetVisualizationHook与面向开放词汇检测的GroundingVisualizationHook后者继承前者三个钩子统一注册在mmdet.registry.HOOKS中并统一从 mmdet/engine/hooks/init.py 导出。启用跟踪可视化设置 drawTrue在配置文件中跟踪任务默认通过default_hooks注册可视化钩子。要真正绘制预测结果需要将TrackVisualizationHook的draw参数设置为Truedefault_hooks dict(visualizationdict(typeTrackVisualizationHook, drawTrue))需要说明的是仓库内各跟踪任务的官方配置文件如 configs/deepsort/deepsort_faster-rcnn_r50_fpn_8xb2-4e_mot17halftrain_test-mot17halfval.py中默认均为drawFalse即不开绘制如需可视化只需在上述配置基础上把draw改为True并按需添加test_out_dir。TrackVisualizationHook 参数详解TrackVisualizationHook共支持以下参数定义见 mmdet/engine/hooks/visualization_hook.py参数含义默认值draw是否绘制预测结果。设为False时完全不绘制也不显示图像Falseframe_interval可视化抽帧间隔即每隔多少帧可视化一次对应官方文档中所称的interval源码中实际参数名为frame_interval30score_thr确定是否可视化边界框与掩码的置信度阈值得分低于该值的预测将被过滤0.3show是否以弹窗形式展示绘制的图像Falsewait_time弹窗展示的时间间隔秒0test_out_dir测试阶段绘制图像的保存目录Nonebackend_args用于实例化文件客户端file client的参数常用于从远端读取图像例如dict(petrel...)之类的配置None其中frame_interval与检测任务的DetVisualizationHook.interval默认 50含义类似但针对视频场景按帧计数。score_thr会传递给可视化器的pred_score_thr在绘制前过滤低置信度框。测试阶段的保存路径规则当指定test_out_dir时源码会在after_test_iter中将其拼接为runner.work_dir / runner.timestamp / test_out_dir并自动创建目录见 mmdet/engine/hooks/visualization_hook.py。对于视频数据输出会进一步按视频名分子目录保存例如work_dir/ └── 20260919_120000/ └── test_out_dir/ └── MOT17-02-FRCNN/ ├── 000001.jpg ├── 000002.jpg └── ...这一行为对应源码visualize_single_image中video_name img_path.split(/)[-3]的目录划分逻辑。验证与测试阶段的不同行为从源码after_val_iter与after_test_iter的实现可以看出两者差异验证阶段仅当batch_idx满足every_n_inner_iters(batch_idx, frame_interval)时才可视化当前帧且仅可视化 batch 中第一个样本因此验证时只支持 batch_size1源码中有显式断言。测试阶段若使用视频采样器DefaultSampler会遍历视频内全部帧按frame_id % frame_interval 0抽帧绘制若使用图像采样器TrackImgSampler来自 mmdet/datasets/samplers则按迭代间隔绘制。showTrue时的特殊处理源码中当show为 True 时会清空_vis_backends并发出警告——弹窗展示模式不会写入任何后端存储避免重复存储。配置可视化器TrackLocalVisualizerTrackLocalVisualizer专为 MOT 与 VIS 任务设计在配置中注册方式如下visualizer dict(typeTrackLocalVisualizer)其构造参数定义见 mmdet/visualization/local_visualizer.py包括参数含义默认值name所选实例的名称visualizerimage用于绘制的原始图像格式需为 RGBNonevis_backends可视化后端配置列表例如dict(typeLocalVisBackend)、TensorboardVisBackend、WandbVisBackend 等Nonesave_dir所有后端存储的保存目录若为None后端将不会保存任何数据Noneline_width边界框线条宽度3alpha边界框与掩码的透明度0.8以仓库自带的 DeepSORT 配置为例configs/deepsort/deepsort_faster-rcnn_r50_fpn_8xb2-4e_mot17halftrain_test-mot17halfval.py其default_hooks与visualizer的完整写法为default_hooks dict( loggerdict(typeLoggerHook, interval1), visualizationdict(typeTrackVisualizationHook, drawFalse)) vis_backends [dict(typeLocalVisBackend)] visualizer dict( typeTrackLocalVisualizer, vis_backendsvis_backends, namevisualizer)同样的组合也出现在 configs/bytetrack、configs/qdtrack/qdtrack_faster-rcnn_r50_fpn_4e_base.py、configs/masktrack_rcnn 与 configs/mask2former_vis 等跟踪类配置中可见这是 MOT/VIS 任务的标准可视化配置模板。其中vis_backends若配置为LocalVisBackend绘制结果会通过后端写入save_dir若替换为 Tensorboard/Wandb 后端则可将结果存储到对应平台。源码级解析跟踪结果是如何被画出来的绘制内容实例 ID 驱动的随机配色TrackLocalVisualizer._draw_instances是核心绘制方法mmdet/visualization/local_visualizer.py。与检测可视化按类别取色的策略不同跟踪可视化以instances_id为依据为每个目标生成随机颜色colors [random_color(_id) for _id in instances.instances_id]从而保证同一目标跨帧颜色一致便于观察轨迹。绘制内容包括边界框以line_width为线宽、alpha为透明度绘制文本标签若预测包含scores文本格式为类别\n实例ID | 得分例如pedestrian\n3 | 0.95否则为类别\n实例ID。文本字号根据边界框面积自适应缩放_get_adaptive_scales掩码VIS 任务先通过bitmap_to_polygon提取轮廓绘制多边形边再以draw_binary_masks按实例颜色填充。GT 与预测的并排展示add_datasample方法mmdet/visualization/local_visualizer.py会同时绘制 GT 与预测当两者都存在时将 GT 图与预测图横向拼接np.concatenate(..., axis1)输出左图是标注、右图是预测。绘制预测时若实例含有scores会先按pred_score_thr过滤低分实例。最终根据参数决定showTrue调用self.show(...)本地弹窗显示指定out_file调用mmcv.imwrite写盘注意此处会做 BGR 通道转换否则通过add_image(name, drawn_img, step)写入所有已注册的可视化后端。数据前提add_datasample要求数据样本中必须包含gt_instances绘制 GT 时与pred_track_instances绘制预测时并且默认将样本.cpu()后再绘制因此 GPU 训练/测试场景下无需手动搬移数据。可视化结果验证单测视角仓库在 tests/test_engine/test_hooks/test_visualization_hook.py 中为两个可视化组件提供了完整单测可作为理解参数行为的参考TestTrackVisualizationHook.setUp构造了带instances_id、bboxes、labels、scores的TrackDataSampletest_after_val_iter_image以frame_interval10、drawTrue验证验证阶段抽帧绘制不报错test_after_test_iter验证设置test_out_dir后输出目录会被真实创建断言osp.exists(...)同时drawFalse时不会创建目录。可视化器侧的单测位于 tests/test_visualization/test_local_visualizer.py覆盖TrackLocalVisualizer的实例化与绘制接口。配套资源与延伸阅读跟踪任务的训练与测试完整流程docs/zh_cn/user_guides/tracking_train_test_zh_cn.md跟踪任务配置文件写法docs/zh_cn/user_guides/tracking_config.md跟踪结果分析与指标可视化docs/zh_cn/user_guides/tracking_analysis_tools.md检测任务非跟踪的可视化指南docs/zh_cn/user_guides/visualization.md底层可视化基础设施来自 MMEngine 的Visualizer与Hook抽象若需在自有流程中扩展后端或钩子行为可参阅 MMEngine 的 Visualization 与 Hook 文档。小结MOT/VIS 任务的可视化在 MMDetection 中是一套高度可配置的流程通过TrackVisualizationHook控制何时画frame_interval抽帧、验证/测试阶段差异化触发通过TrackLocalVisualizer控制怎么画实例 ID 随机配色、GT/预测并排、自适应文本与掩码渲染最终结果可弹窗展示、写入本地目录或同步到 TensorBoard/Wandb 后端。掌握这两个组件的参数与源码行为即可在任何跟踪任务配置中快速开启、定制并沉淀可视化结果。赞分享人工智能计算机视觉深度学习模型评测【免费下载链接】mmdetectionOpenMMLab Detection Toolbox and Benchmark项目地址https://gitcode.com/gh_mirrors/mm/mmdetection点击查看免费下载相关推荐MMDetection 跟踪可视化实战指南TrackVisualizationHook 与 TrackLocalVisualizer 的配置、原理与验证MMDetection 跟踪可视化实战指南TrackVisualizationHook 与 TrackLocalVisualizer 的配置、原理与验证 导读人工智能计算机视觉深度学习模型评测CoTracker可视化工具详解跟踪结果的可视化呈现与导出CoTracker可视化工具详解跟踪结果的可视化呈现与导出 还在为视频点跟踪结果难以直观展示而烦恼CoTracker提供了一套完整的可视化解决方案让跟踪结人工智能计算机视觉深度学习MMDetection 跟踪任务数据集准备指南MOT Challenge、CrowdHuman 与 YouTube-VIS 的下载、转换与配置实战MMDetection 跟踪任务数据集准备指南MOT Challenge、CrowdHuman 与 YouTube VIS 的下载、转换与配置实战 导读 多目人工智能计算机视觉深度学习模型评测创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

换电站土建设计:决定换电效率与十年运维成本的关键 2026/9/19 23:23:07

换电站土建设计:决定换电效率与十年运维成本的关键

简介:本资源是一份面向新能源汽车基础设施建设从业者、电力设计院工程师及高校交通与能源交叉领域研究者的专业技术参考文献,聚焦电动汽车换电站土建设计的核心难点与工程优化路径。全文系统阐述总平面紧凑布局(含环形道路分流设计&#xff0…

阅读更多 →
Fairseq 命令行工具全解析:从数据预处理到模型训练、生成与评估的完整实战指南 2026/9/19 23:23:07

Fairseq 命令行工具全解析:从数据预处理到模型训练、生成与评估的完整实战指南

Fairseq 命令行工具全解析:从数据预处理到模型训练、生成与评估的完整实战指南 【免费下载链接】fairseq Facebook AI Research Sequence-to-Sequence Toolkit written in Python. 项目地址: https://gitcode.com/gh_mirrors/fa/fairseq 导读 fairseq 是 Fa…

阅读更多 →
Windows下配置Claude Code与Playwright MCP:三个坑与完整排查实录 2026/9/19 23:23:07

Windows下配置Claude Code与Playwright MCP:三个坑与完整排查实录

如果你跟我一样,是在 Windows 上折腾 Claude Code 的开发者,那你大概率会在某天遇到 Playwright MCP 这个词。简单说,这个组合就是让 Claude Code 获得真实浏览器操作能力:打开网页、点击按钮、填写表单、截图保存、抓取页面数据&…

阅读更多 →
一份七年前的无人机电池标准,如何指导今天的锂电池测试? 2026/9/19 23:23:07

一份七年前的无人机电池标准,如何指导今天的锂电池测试?

简介:《无人机电池标准(DB44)》是一份面向无人机锂电池研发、生产与测试人员的规范性文档。内容依据广东省质量技术监督局发布的《无人飞行器用锂离子电池与电池组技术要求(工作组讨论稿)》整理,系统覆盖术语和定义、试验环境与设…

阅读更多 →
VS Code+Ace Data Cloud MCP:构建AI工作站实战指南 2026/9/19 23:23:07

VS Code+Ace Data Cloud MCP:构建AI工作站实战指南

1. 整体思路:VS Code 为什么能成为 AI 工作站的底座1.1 从"代码编辑器"到"AI 开发中枢"的转变我这两年最大的感受是:VS Code 早就不是单纯的代码编辑器了。以前大家装它,是为了写 TypeScript、调 Python、改配置方便&…

阅读更多 →
BrewUI:为Homebrew套上图形界面,让macOS包管理更直观 2026/9/19 23:20:07

BrewUI:为Homebrew套上图形界面,让macOS包管理更直观

提到 macOS 上的开发环境,Homebrew 是绕不开的一个词。装了它,装 Node、装 Redis、装各种命令行工具,基本就是一行 brew install 的事。但问题也出在这"一行命令"上——用久了你会发现,自己的终端里积累了一大堆不知道干…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞