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. 基于uniapp+vite4+vue3搭建跨端项目|uni-app+uview-plus模板

    最近得空学习了下uniapp结合vue3搭建跨端项目.之前也有使用uniapp开发过几款聊天/仿抖音/后台管理等项目,但都是基于vue2开发.随着vite.js破局出圈,越来越多的项目偏向于vue3开 ...

  2. 前端Vue非常简单实用商品分类展示组件 侧边商品分类组件

    前端vue非常简单实用商品分类展示组件 侧边商品分类组件 , 下载完整代码请访问uni-app插件市场址:https://ext.dcloud.net.cn/plugin?id=13084 效果图如下 ...

  3. JavaScript 整理的基础的方法

    innerHTML //innerHTML 属性设置或返回表格行的开始和结束标签之间的 HTML. innertext//innerText 属性返回文本值 没有结构信息 $("#test& ...

  4. P2709 小B的询问题解

    本题需要用到莫队算法 关于莫队算法 莫队算法是一种离线算法,适用于序列中统计区间特定的目标的问题. 时间复杂度通常是 \(O(n \sqrt n)\) 或更高. P2709 小B的询问 点击查看原题 ...

  5. 【小小demo】SpringBoot+Layui登录

    easy-login 基于layui 注册.登录简单实现,并他通过拦截器拦截未登录请求. 项目地址文章末尾 登录拦截器 SystemInterceptor preHandle在 Controller ...

  6. ISP-AF相关-聚焦区域选择-清晰度评价

    1.镜头相关 镜头类型 变焦类型: 定焦.手动变焦.自动变焦 光圈: 固定光圈.手动光圈.自动光圈 视场角: 鱼眼镜头.超广角镜头.广角镜头.标准镜头.长焦镜头.超长焦镜头(由大至小) 光圈: 超星光 ...

  7. Linux0.11内核笔记(-)

    基础知识 C语言.汇编知识.嵌入式汇编.x86处理器和编程的相关知识和.UNIX操作系统设计 Linus在最初开发Linux操作系统时参考了MINIX操作系统:<操作系统:设计与实现>一种 ...

  8. TCP 链接关闭 -- 客户端为什么需要60秒的time_wait状态

    客户端主动关闭连接时( FIN-> ACK<- FIN<- ACK->),在发送最后一个ack后会进入TIME_WAIT状态,停留2个MSL时间,进入CLOSED状态 MSL就 ...

  9. Avalonia项目在OpenKylin运行踩坑

    Avalonia项目在OpenKylin运行踩坑 本篇博客记录OpenKylin开源操作系统中运行Avalonia项目遇到的各种问题,会一直更新,最新的内容请点击文末的链接跳转到我的博客原文地址查看. ...

  10. 关于"覆盖问题”的反思

    [HAOI2007]覆盖问题 题目描述 某人在山上种了N棵小树苗.冬天来了,温度急速下降,小树苗脆弱得不堪一击,于是树主人想用一些塑料薄膜把这些小树遮盖起来,经过一番长久的思考,他决定 用3个L*L的 ...