Capas diferenciables para gráficos.

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 tiene como objetivo hacer que las funciones gráficas útiles sean ampliamente accesibles para la comunidad al proporcionar un conjunto de capas gráficas diferenciables (por ejemplo, cámaras, modelos de reflectancia, convoluciones de malla) y funcionalidades de visor 3D (por ejemplo, 3D TensorBoard) que se pueden usar en sus modelos de aprendizaje automático de elección.

En los últimos años se ha producido un aumento de las nuevas capas de gráficos diferenciables que se pueden insertar en las arquitecturas de redes neuronales. Desde transformadores espaciales hasta renderizadores de gráficos diferenciables, estas nuevas capas aprovechan el conocimiento adquirido durante años de investigación de gráficos y visión por computadora para construir arquitecturas de red novedosas y más eficientes. El modelado explícito de restricciones y antecedentes geométricos en modelos de aprendizaje automático abre la puerta a arquitecturas que se pueden entrenar de manera sólida, eficiente y, lo que es más importante, de manera autosupervisada.

Para comenzar, consulte una descripción general más detallada, la guía de instalación y la API .