tensorboard可视化点云


  1. 用 tensorboard 自带的 add_mesh 方法:支持可视化点云和网格,参考链接:

    1. tensorflow 网站的tensorboard
    2. pytorch 网站的 tensorboardPython torch.utils.tensorboard.writer.SummaryWriter.add_mesh用法及代码示例 - 纯净天空
  2. 用 open3d 和 tensorboard 连用的方法,支持丰富,但是好像还需要摸索一下,挖个坑,后面详细讨论
    1. open 3d 文档
    2. open 3d-ML github 文档 1
    3. open 3d code 参考
    4. open 3d youtube

但是可视化点云倒是还有其他方法,例如:matplotlib画三维散点图

因为我在服务器上没有可视化界面,所以想着能不能用tensorboard上使用

add_mesh方法


add_mesh(tag, vertices, colors=None, faces=None, config_dict=None, global_step=None, walltime=None)

基于Three.js在tensorboard中实现可视化效果,支持point cloud和mesh两种,并且因为是Three.js,所以支持与用户交互,也像使用Three.js一样配置相关的参数:相机参数,光照条件等。可以参照three.js docs网页进行配置。

Parameters:

  • tag(string):数据标识,用于显示本可视化内容的标签
  • vertices(torch.Tensor) -所有顶点的 3D 坐标。(B,N,3). (batch, number_of_vertices, channels)
  • colors(torch.Tensor) -每个顶点的颜色。(可选)(B,N,3). The values should lie in [0, 255] for type uint8 or [0, 1] for type float.
  • faces(torch.Tensor) -每个mesh三角形内的顶点索引。 (可选的) (B,N,3). The values should lie in [0, number_of_vertices] for type uint8.
  • config_dict-带有Three.js类名称和配置的字典。
  • global_step(int) - Global step value to record 在训练过程中使用,标记进度
  • walltime(float) - Optional override default walltime (time.time()) seconds after epoch of event (一般不用)
import torch
from torch.utils.tensorboard import SummaryWriter
import open3d as o3d
import numpy as np
# get point cloud data
point_cloud_path = '/3DMatch_train/7-scenes-chess/01_Data/cloud_bin_0.ply'
point_cloud = o3d.io.read_point_cloud(point_cloud_path) # 读取点云数据
points = torch.tensor(np.asarray(point_cloud.points)) # 转换为tensor print(points.shape)
writer = SummaryWriter() # visualize the point cloud
writer.add_mesh('my_pcd', vertices=points.unsqueeze(0))

效果:

open3d和tensorboard连用

但是我用不了,在服务器上的tensorboard显示不出来open3d的tensorboard插件,可能我安装的有问题

一个小例子,可视化一些简单mesh:因为如上原因没有深究了

import open3d as o3d
# Monkey-patch torch.utils.tensorboard.SummaryWriter
from open3d.visualization.tensorboard_plugin import summary
# Utility function to convert Open3D geometry to a dictionary format
from open3d.visualization.tensorboard_plugin.util import to_dict_batch
from torch.utils.tensorboard import SummaryWriter cube = o3d.geometry.TriangleMesh.create_box(1, 2, 4)
cube.compute_vertex_normals()
cylinder = o3d.geometry.TriangleMesh.create_cylinder(radius=1.0,
height=2.0,
resolution=20,
split=4)
cylinder.compute_vertex_normals()
colors = [(1.0, 0.0, 0.0), (0.0, 1.0, 0.0), (0.0, 0.0, 1.0)] logdir = "demo_logs/pytorch/small_scale"
writer = SummaryWriter(logdir)
for step in range(3):
cube.paint_uniform_color(colors[step])
writer.add_3d('cube', to_dict_batch([cube]), step=step)
cylinder.paint_uniform_color(colors[step])
writer.add_3d('cylinder', to_dict_batch([cylinder]), step=step)

tensorboard可视化点云的更多相关文章

  1. Tensorflow学习笔记3:TensorBoard可视化学习

    TensorBoard简介 Tensorflow发布包中提供了TensorBoard,用于展示Tensorflow任务在计算过程中的Graph.定量指标图以及附加数据.大致的效果如下所示, Tenso ...

  2. 学习TensorFlow,TensorBoard可视化网络结构和参数

    在学习深度网络框架的过程中,我们发现一个问题,就是如何输出各层网络参数,用于更好地理解,调试和优化网络?针对这个问题,TensorFlow开发了一个特别有用的可视化工具包:TensorBoard,既可 ...

  3. 数据可视化——阿里云解决方案DataV

    数据可视化——阿里云解决方案DataV https://help.aliyun.com/document_detail/53844.html?spm=a2c4g.11186623.6.579.37fd ...

  4. tensorboard可视化节点却没有显示图像的解决方法---注意路径问题加中文文件名

    问题:完成graph中的算子,并执行tf.Session后,用tensorboard可视化节点时,没有显示图像 1. tensorboard 1.10 我是将log文件存储在E盘下面的,所以直接在E盘 ...

  5. 在Keras中使用tensorboard可视化acc等曲线

    1.使用tensorboard可视化ACC,loss等曲线 keras.callbacks.TensorBoard(log_dir='./Graph', histogram_freq= 0 , wri ...

  6. PCL+Qt+VS可视化点云

    前言 Point Cloud Library (PCL)是一个功能强大的开源C++库,假设可以使用好PCL将会对我们在LiDAR数据处理领域的研究产生巨大帮助.LiDAR技术经过几十年的发展.眼下国内 ...

  7. 超简单tensorflow入门优化程序&&tensorboard可视化

    程序1 任务描述: x = 3.0, y = 100.0, 运算公式 x×W+b = y,求 W和b的最优解. 使用tensorflow编程实现: #-*- coding: utf-8 -*-) im ...

  8. 使用TensorBoard可视化工具

    title: 使用TensorBoard可视化工具 date: 2018-04-01 13:04:00 categories: deep learning tags: TensorFlow Tenso ...

  9. 利用tensorboard可视化checkpoint模型文件参数分布

    写在前面: 上周微调一个文本检测模型seglink,将特征提取层进行冻结,只训练分类回归层,然而查看tensorboard发现里面有histogram显示模型各个参数分布,看了目前这个训练模型参数分布 ...

  10. 【猫狗数据集】利用tensorboard可视化训练和测试过程

    数据集下载地址: 链接:https://pan.baidu.com/s/1l1AnBgkAAEhh0vI5_loWKw提取码:2xq4 创建数据集:https://www.cnblogs.com/xi ...

随机推荐

  1. ClickHouse技术研究及语法简介

    本文对Clickhouse架构原理.语法.性能特点做一定研究,同时将其与mysql.elasticsearch.tidb做横向对比,并重点分析与mysql的语法差异,为有mysql迁移clickhou ...

  2. SparkMLlib机器学习实践:基于聚类的社交媒体分析

    目录 <Spark MLlib 机器学习实践:基于聚类的社交媒体分析> 一.引言 社交媒体作为现代营销的一种重要手段,已经被广泛应用于市场调研.品牌监控.内容分析.用户互动等领域.在这个领 ...

  3. NoSQL数据库系统原理:从概念到实现

    目录 1. 引言 2. 技术原理及概念 2.1 基本概念解释 2.2 技术原理介绍 2.3 相关技术比较 3. 实现步骤与流程 3.1 准备工作:环境配置与依赖安装 3.2. 核心模块实现 3.3. ...

  4. 记一次.net加密神器 Eazfuscator.NET 2023.2 最新版 使用尝试

    很多人看到这个Eazfuscator.NET还不知是什么东东... 首先介绍下 什么是 Eazfuscator.NET? Eazfuscator.NET 是用于.NET平台的工业级混淆器. Eazfu ...

  5. 手摸手带你初探Vue 3.0

    1 前言 距离Vue 3.0正式发布已经过去一段时间了,2月7日Vue团队正式宣布Vue 3正式成为新的默认版本.最近接触的新项目也使用Vue 3.0来开发,因此有必要对它进行一波总结和学习. 2 简 ...

  6. 2022-1-10 控件学习1 TextBlock、Lable、TextBox

    TextBlock LineBreak:在指定位置手动换行和<br/>类似 TextTrimming: CharacterEllipsis没有足够空间时显示...,WordEllpsis以 ...

  7. 关于微信小程序原生组件与uniApp混合开发过程遇到的问题与解决方式

    前言: 在实际开发过程中,尤其是小程序的开发,我们常常会遇到一些在文档中解决不了的问题,在这里,我就浅谈一下我遇到的一些问题 1.小程序的构建框架是uni-app,却突然被要求用原生的微信小程序代码来 ...

  8. Linux文件管理知识查找文件

    Linux文件管理知识:查找文件 前几篇文章一一介绍了LINUX进程管理控制命令及网络层面的知识体系,综所周知,一个linux系统是由很多文件组成的,那么既然有那么多文件,那我们该如何管理这些文件呢? ...

  9. asp.net core之EfCore

    EF Core(Entity Framework Core)是一个轻量级.跨平台的对象关系映射(ORM)框架,用于在.NET应用程序中访问和操作数据库.它是Entity Framework的下一代版本 ...

  10. 【python笔记】使用zip函数迭代多个可迭代对象

    入门使用 # 示例代码 warframe = ["saryn", "wisp", "volt"] counts = [len(n) for ...