可微分的圖形層。

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,瞭解如何開始使用。