torchshow

torchshow

一行代码实现计算机视觉数据可视化

TorchShow是一个为计算机视觉项目开发的开源可视化工具。它能自动识别并处理各种张量类型,包括RGB图像、灰度图像、掩码等。支持单张和批量图像、视频、光流等多种数据的可视化。TorchShow以一行代码实现数据可视化的简洁特性,显著提升了项目开发和调试效率。适用于需要频繁验证张量数据的研究人员和开发者。

TorchShow张量可视化计算机视觉调试工具图像处理Github开源项目
<div align="center">

TorchShow标志

PyPI版本 下载量 许可证

</div>

Torchshow只需一行代码即可可视化您的数据。它旨在帮助调试计算机视觉项目。

Torchshow自动推断张量的类型,如RGB图像、灰度图像、二值掩码、分类掩码(自动应用调色板)等,并在需要时执行必要的反归一化。

支持的类型:

  • RGB图像
  • 灰度图像
  • 二值掩码
  • 分类掩码(整数标签)
  • 多张图像
  • 视频
  • 多个视频
  • 光流(由flow_vis提供支持)

v0.5.1新特性

  • 修复np.int弃用问题。
  • 可在可视化张量列表时指定nrowsncols
  • 修复保存图像时出现的意外空白。

查看完整的更新日志

安装

PyPI安装:

pip install torchshow

或者,您可以直接从此仓库安装以测试最新功能。

pip install git+https://github.com/xwying/torchshow.git@master

基本用法

TorchShow的使用非常简单。只需导入包并用一行代码可视化您的数据:

import torchshow as ts ts.show(tensor)

如果您在没有显示器的服务器上工作,可以使用ts.save(tensor)命令(自0.3.2版本起)。

import torchshow as ts ts.save(tensor) # 图像将保存在./_torchshow/***.png下 ts.save(tensor, './vis/test.jpg') # 您可以指定保存路径。

API参考

请查看此页面获取详细的API参考。

示例

目录

1. 可视化图像张量

可视化类图像张量并不困难,但可能会很繁琐。您通常需要将张量转换为具有适当形状的NumPy数组。在许多情况下,图像在数据加载器中被归一化,这意味着您必须对其进行反归一化才能正确显示。

如果您需要经常验证张量的外观,TorchShow是一个非常有用的工具。

使用Matplotlib使用TorchShow
图像张量已被归一化,所以Matplotlib无法正确显示它。TorchShow自动进行转换。

2. 可视化掩码张量

对于与语义分割或实例分割相关的项目,我们经常需要可视化掩码张量——无论是真实标注还是模型预测。使用TorchShow可以轻松完成这一任务。

使用Matplotlib使用TorchShow
不同实例具有相同的颜色。某些类别缺失。TorchShow在可视化过程中自动应用调色板。

3. 可视化批量张量

当张量是一批图像时,TorchShow会自动创建网格布局来可视化它们。也可以手动控制行数和列数。

4. 可视化特征图

如果输入张量有超过3个通道,TorchShow将会像批次可视化一样可视化每个通道。这对于可视化特征图很有用。

5. 使用自定义布局可视化多个张量

TorchShow提供了更灵活的方式来使用自定义布局可视化多个张量。

要控制布局,将张量放入列表的列表中作为二维数组。以下示例将创建一个2 x 3的网格布局。

ts.show([[tensor1, tensor2, tensor3],
         [tensor4, tensor5, tensor6]])

值得一提的是,不需要填满网格中的所有位置。以下示例在2 x 3的网格布局中可视化5个张量。

ts.show([[tensor1, tensor2],
         [tensor3, tensor4, tensor5]])

6. 查看像素的更丰富信息

从v0.4.1版本开始,TorchShow允许你通过简单地将鼠标悬停在感兴趣的像素上来获取更丰富的信息。这对于某些类型的张量(如分类掩码和光流)非常有帮助。

目前,TorchShow显示以下信息:

  • Mode:可视化模式。
  • Shape:张量的形状。
  • XY:鼠标光标的像素位置。
  • Raw:(X, Y)位置的原始张量值。
  • Disp:(X, Y)位置的显示值。

注意:如果信息没有显示在状态栏上,尝试调整窗口大小,使其更宽。

可以通过ts.show_rich_info(False)关闭此功能。

7. 将张量可视化为视频片段

张量可以被可视化为视频片段,如果张量是一系列帧,这非常有帮助。这可以使用show_video函数完成。

ts.show_video(video_tensor)

也可以在自定义网格布局中可视化多个视频。

8. 在Jupyter Notebook中显示视频动画

TorchShow将视频片段可视化为matplotlib.func_animation对象,默认情况下可能无法在notebook中显示。以下示例展示了一个简单的技巧来显示它。

import torchshow as ts from IPython.display import HTML ani = ts.show_video(video_tensor) HTML(ani.to_jshtml())

9. 可视化光流

TorchShow支持可视化光流(由flow_vis提供支持)。以下是使用VSCode调试器远程连接到SSH服务器(配置了X-server)的演示。在Jupyter Notebook中运行也受支持。

10. 更改通道顺序(RGB/BGR)

默认情况下,TensorFlow以RGB模式可视化图像张量,如果你使用OpenCV加载图像,可以将设置切换到BGR模式。

ts.set_color_mode('bgr')

11. 更改反归一化预设

图像张量可能已经通过归一化函数进行了预处理。如果未指定,torchshow将自动将其重新缩放到0-1。

要更改为ImageNet归一化预设,使用以下代码。

ts.show(tensor, unnormalize='imagenet')

要使用自定义的均值和标准差值,使用以下命令。

ts.set_image_mean([0., 0., 0.]) ts.set_image_std([1., 1., 1.])

注意,一旦设置,torchshow将在后续可视化中使用这个值。这很有用,因为通常整个项目只会使用一种归一化预设。

12. 叠加可视化

在计算机视觉项目中,我们经常会处理场景的不同表示,包括但不限于RGB图像、深度图像、红外图像、语义掩码、实例掩码等。有时,叠加这些不同的数据进行可视化会非常有帮助。从v0.5.0版本开始,TorchShow提供了一个非常有用的API ts.overlay()用于此目的。

在下面的例子中,我们有一个RGB图像和其对应的语义掩码。让我们首先使用TorchShow查看它们的样子。

import torchshow as ts ts.show(["example_rgb.jpg", "example_category_mask.png"])

现在我想将遮罩覆盖在RGB图像上以获得更多见解,使用TorchShow可以通过一行代码轻松实现。

import torchshow as ts ts.overlay(["example_rgb.jpg", "example_category_mask.png"], alpha=[1, 0.6])

编辑推荐精选

TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

即梦AI

即梦AI

一站式AI创作平台

提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作

扣子-AI办公

扣子-AI办公

AI办公助手,复杂任务高效处理

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI辅助写作AI工具蛙蛙写作AI写作工具学术助手办公助手营销助手AI助手
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
下拉加载更多