用于图形的可微分层。

import numpy as np
import tensorflow as tf
import trimesh

import tensorflow_graphics.geometry.transformation as tfg_transformation
from tensorflow_graphics.notebooks import threejs_visualization

# Download the mesh.
!wget https://storage.googleapis.com/tensorflow-graphics/notebooks/index/cow.obj
# Load the mesh.
mesh = trimesh.load("cow.obj")
mesh = {"vertices": mesh.vertices, "faces": mesh.faces}
# Visualize the original mesh.
threejs_visualization.triangular_mesh_renderer(mesh, width=400, height=400)
# Set the axis and angle parameters.
axis = np.array((0., 1., 0.))  # y axis.
angle = np.array((np.pi / 4.,))  # 45 degree angle.
# Rotate the mesh.
mesh["vertices"] = tfg_transformation.axis_angle.rotate(mesh["vertices"], axis,
                                                        angle).numpy()
# Visualize the rotated mesh.
threejs_visualization.triangular_mesh_renderer(mesh, width=400, height=400)
笔记本 中运行
TensorFlow 图形 旨在通过提供一组可微分图形层(例如相机、反射模型、网格卷积)和 3D 查看器功能(例如 3D TensorBoard)来使有用的图形功能广泛地为社区所用,这些功能可用于您选择的机器学习模型。

在过去几年中,出现了许多新颖的可微分图形层,这些层可以插入神经网络架构中。从空间变换器到可微分图形渲染器,这些新层利用多年来计算机视觉和图形研究积累的知识来构建新颖且更高效的网络架构。将几何先验和约束明确地建模到机器学习模型中,为可以稳健、高效地训练的架构打开了大门,更重要的是,以自监督的方式进行训练。

要开始使用,请参阅更详细的 概述安装指南API