PyTorch3D

3D 深度学习函数库
授权协议 BSD
开发语言 C/C++ Python JavaScript SHELL
所属分类 神经网络/人工智能、 机器学习/深度学习
软件类型 开源软件
地区 不详
投 递 者 燕寒
操作系统 跨平台
开源组织 Facebook
适用人群 未知
 软件概览

PyTorch3D 是一个用于处理 3D 数据的深度学习函数库,该库高度模块化且经过专门优化,具备独有的功能,旨在通过 PyTorch 简化 3D 深度学习。PyTorch3D 为 3D 数据提供了一组常用的 3D 运算符和快速且可微分的损失函数(loss function),以及模块化的可微分渲染 API。

PyTorch3D 主要特性

  • 用于存储和操作三维物体的数据结构
  • 可在三维物体上进行高效运算,诸如投影变换、图卷积、采样、损失函数等
  • 可微分的三维物体渲染器

PyTorch3D 旨在与深度学习方法平稳集成,以预测和处理 3D 数据。因此,PyTorch3D 中的所有运算符:

  • 使用 PyTorch 张量实现
  • 可以对异构数据进行批量处理
  • 可微分
  • 可以利用 GPU 进行加速

案例与教程

▲ 将球体网格变形为海豚

▲ 渲染纹理网格

▲ 优化相机位置

示例代码

  1. 安装 PyTorch3D
    conda install pytorch torchvision -c pytorch  # OSX only
    conda install pytorch3d -c pytorch3d  # all systems
    
  2. 尝试使用一些 3D 运算符,如计算两个网格之间的倒角损耗( chamfer loss)
    from pytorch3d.utils import ico_sphere
    from pytorch3d.io import load_obj
    from pytorch3d.structures import Meshes
    from pytorch3d.ops import sample_points_from_meshes
    from pytorch3d.loss import chamfer_distance
    
    # Use an ico_sphere mesh and load a mesh from an .obj e.g. model.obj
    sphere_mesh = ico_sphere(level=3)
    verts, faces, _ = load_obj("model.obj")
    test_mesh = Meshes(verts=[verts], faces=[faces.verts_idx])
    
    # Differentiably sample 5k points from the surface of each mesh and then compute the loss.
    sample_sphere = sample_points_from_meshes(sphere_mesh, 5000)
    sample_test = sample_points_from_meshes(test_mesh, 5000)
    loss_chamfer, _ = chamfer_distance(sample_sphere, sample_test)
  • pytorch3d.ops是pytorch提供的一些关于3d数据,即计算机图形学的一些运算的包。 1.pytorch3d.ops.ball_query() pytorch3d.ops.ball_query(p1: torch.Tensor, p2: torch.Tensor, lengths1: Optional[torch.Tensor] = None, lengths2: Optional[t

  • 最近为了安装pytorch3d,折腾了两天,足足两天! 要注意,安装pytorch3d之前,必须先安装pytorch torchvision Pytorch3d官方 是建议用conda install的方式来安装,也可以用pip来安装: pip install PyTorch torchvision -c pytorch-nightly 1.首先说一下MacOS M1 芯片安装情况,刚开始使用的是

  • 先安装pytorch等依赖,参照官方安装文档中的Requirements 1、git源码 git clone https://github.com/facebookresearch/pytorch3d.git 2、打开visual studio的命令行工具 参考路径:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio

  • 0.缘由 重新安装pytorch3d的时候,踩了超多坑,特此总结一下自己的安装,希望能对大家有帮助。 弱弱地吐槽一下,这段时间用Windows+子系统,比用Ubuntu舒服多了,毕竟没事还能打打游戏哈哈哈哈。 1.安装pytorch Linux子系统下安装 安装、激活、删除conda环境可以参考这篇blog; 在pytorch官网中的Previous PyTorch Versions页面能找到安装

  • 目录 Windows下载安装 1.下载pytorch3d到本地, 2. 进入vs命令行: 安装方式1:python setup.py install

  • 按照官网的install.md安装但是会遇到各种各样的问题,问题不做赘述直接附一套必成功的流程: 一. conda镜像源设置, 直接通过更改 ~/.condarc修改 (已有环境源的最好全删掉重新按照这个配置,不然不保证必成功) channels:   - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/   - https://

  • 记录一下安装版本合适的pytorch、pytorch3d的方法 首先新建一个conda环境,进入新环境 输入nvidia-smi查看服务器的版本号: nvidia-smi 在pytorch官网查看适配于服务器的pytorch版本:  Start Locally | PyTorch 以我的服务器为例,cuda版本是11.5,pytorch给了cuda为11.3,11.6的选项,考虑到版本向下兼容,采

  • Meshes 读取 Meshes对象表示a batch of triangulated meshes,它是PyTorch3D的大部分功能的核心。并不要求一个batch中的网格的顶点或面的数量必须一致。Meshes对象可以存储与网格有关的其他信息,例如面的法线、面积和纹理。 两种常见的存储单个网格的文件格式是".obj "和".ply "文件 Meshes 是 PyTorch3D 中提供的一种独特的

 相关资料
  • 主要内容 课程列表 专项课程学习 辅助课程 论文专区 课程列表 课程 机构 参考书 Notes等其他资料 卷积神经网络视觉识别 Stanford 暂无 链接 神经网络 Tweet 暂无 链接 深度学习用于自然语言处理 Stanford 暂无 链接 自然语言处理 Speech and Language Processing 链接 专项课程学习 下述的课程都是公认的最好的在线学习资料,侧重点不同,但推

  • Google Cloud Platform 推出了一个 Learn TensorFlow and deep learning, without a Ph.D. 的教程,介绍了如何基于 Tensorflow 实现 CNN 和 RNN,链接在 这里。 Youtube Slide1 Slide2 Sample Code

  • 现在开始学深度学习。在这部分讲义中,我们要简单介绍神经网络,讨论一下向量化以及利用反向传播(backpropagation)来训练神经网络。 1 神经网络(Neural Networks) 我们将慢慢的从一个小问题开始一步一步的构建一个神经网络。回忆一下本课程最开始的时就见到的那个房价预测问题:给定房屋的面积,我们要预测其价格。 在之前的章节中,我们学到的方法是在数据图像中拟合一条直线。现在咱们不

  • 深度学习的总体来讲分三层,输入层,隐藏层和输出层。如下图: 但是中间的隐藏层可以是多层,所以叫深度神经网络,中间的隐藏层可以有多种形式,就构成了各种不同的神经网络模型。这部分主要介绍各种常见的神经网络层。在熟悉这些常见的层后,一个神经网络其实就是各种不同层的组合。后边介绍主要基于keras的文档进行组织介绍。

  • Python 是一种通用的高级编程语言,广泛用于数据科学和生成深度学习算法。这个简短的教程介绍了 Python 及其库,如 Numpy,Scipy,Pandas,Matplotlib,像 Theano,TensorFlow,Keras 这样的框架。

  • 你拿起这本书的时候,可能已经知道深度学习近年来在人工智能领域所取得的非凡进展。在图像识别和语音转录的任务上,五年前的模型还几乎无法使用,如今的模型的表现已经超越了人类。

  • 主要内容:机器学习,深度学习,机器学习与深度学习的区别,机器学习和深度学习的应用人工智能是近几年来最流行的趋势之一。机器学习和深度学习构成了人工智能。下面显示的维恩图解释了机器学习和深度学习的关系 - 机器学习 机器学习是让计算机按照设计和编程的算法行事的科学艺术。许多研究人员认为机器学习是实现人类AI的最佳方式。机器学习包括以下类型的模式 - 监督学习模式 无监督学习模式 深度学习 深度学习是机器学习的一个子领域,其中有关算法的灵感来自大脑的结构和功能,称为人工神经网络。

  • 主要内容:数据量,硬件依赖,特色工程在本章中,我们将讨论机器和深度学习概念之间的主要区别。 数据量 机器学习使用不同数量的数据,主要用于少量数据。另一方面,如果数据量迅速增加,深度学习可以有效地工作。下图描绘了机器学习和深度学习在数据量方面的工作 - 硬件依赖 与传统的机器学习算法相反,深度学习算法设计为在很大程度上依赖于高端机器。深度学习算法执行大量矩阵乘法运算,这需要巨大的硬件支持。 特色工程 特征工程是将领域知识放入指定特征的