可微分图形层。

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 Graphics 旨在提供一系列可微分的图形层(例如,相机、反射模型、网格卷积)以及可在您所选的机器学习模型中使用的 3D 查看器功能(例如 3D TensorBoard),从而向社区广泛提供实用的图形函数。

在过去几年内,可以插入到神经网络架构中的新型可微分图形层有所增加。从空间变换器到可微分图形渲染程序,这些新层利用多年来获取的计算机视觉和图形研究知识来构建新颖且更高效的网络架构。如果能够将几何先验知识和约束条件明确运用到机器学习模型中,您就可以可靠、高效地训练架构;更重要的是,训练方式是自我监督的。

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