¡Reserva! Google I / O regresa del 18 al 20 de mayo Regístrese ahora
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Complemento de malla

Descripción general

Las mallas y la nube de puntos son tipos de datos importantes y poderosos para representar formas 3D y se han estudiado ampliamente en el campo de la visión por computadora y los gráficos por computadora. Los datos 3D se están volviendo más omnipresentes y los investigadores desafían nuevos problemas como la reconstrucción de la geometría 3D a partir de datos 2D, la segmentación semántica de la nube de puntos 3D, la alineación o transformación de objetos 3D, etc. Por lo tanto, visualizar los resultados, especialmente durante la etapa de entrenamiento, es fundamental para comprender mejor cómo funciona el modelo.

Complemento de malla en TensorBoard {ancho = "100%"}

Este complemento pretende mostrar nubes de puntos 3D o mallas (nubes de puntos trianguladas) en TensorBoard. Además, permite al usuario interactuar con los objetos renderizados.

API de resumen

Una malla o una nube de puntos se pueden representar mediante un conjunto de tensores. Por ejemplo, se puede ver una nube de puntos como un conjunto de coordenadas 3D de los puntos y algunos colores asociados con cada punto.

from tensorboard.plugins.mesh import summary as mesh_summary
...

point_cloud = tf.constant([[[0.19, 0.78, 0.02], ...]], shape=[1, 1064, 3])
point_colors = tf.constant([[[128, 104, 227], ...]], shape=[1, 1064, 3])

summary = mesh_summary.op('point_cloud', vertices=point_cloud, colors=point_colors)

El tensor de colors NOTA es opcional en este caso, pero puede ser útil para mostrar diferentes semánticas de los puntos.

Actualmente, el complemento solo admite mallas triangulares que son diferentes de las nubes de puntos anteriores solo por la presencia de caras, un conjunto de vértices que representan el triángulo en la malla.

mesh = tf.constant([[[0.19, 0.78, 0.02], ...]], shape=[1, 1064, 3])
colors = tf.constant([[[128, 104, 227], ...]], shape=[1, 1064, 3])
faces = tf.constant([[[13, 78, 54], ...]], shape=[1, 752, 3])

summary = mesh_summary.op('mesh', vertices=mesh, colors=colors, faces=faces)

Solo el tensor de colors es opcional para los resúmenes de malla.

Configuración de escena

La forma en que se mostrarán los objetos también depende de la configuración de la escena, es decir, la intensidad y el color de las fuentes de luz, el material de los objetos, los modelos de cámara, etc. Todo eso se puede configurar mediante un parámetro adicional config_dict . Este diccionario puede contener tres claves de alto nivel: camera , lights y material . Cada clave también debe ser un diccionario con cls claves obligatorias, que representen un nombre de clase THREE.js válido.

camera_config = {'cls': 'PerspectiveCamera'}
summary = mesh_summary.op(
    "mesh",
    vertices=mesh,
    colors=colors,
    faces=faces,
    config_dict={"camera": camera_config},
)

camera_config del fragmento anterior se puede expandir de acuerdo con la documentación de THREE.js . Todas las claves de camera_config se pasarán a una clase con el nombre camera_config.cls . Por ejemplo (basado en la documentación de PerspectiveCamera ):

camera_config = {
  'cls': 'PerspectiveCamera',
  'fov': 75,
  'aspect': 0.9,
}
...

Tenga en cuenta que la configuración de la escena no es una variable entrenable (es decir, estática) y debe proporcionarse solo durante la creación de resúmenes.

Cómo instalar

Actualmente, el complemento es parte de la compilación nocturna de TensorBoard, por lo tanto, debe instalarlo antes de usar el complemento.

Colab

pip install -q -U tb-nightly

Luego cargue la extensión Tensorboard y ejecútela, de manera similar a como lo haría en la Terminal:

%load_ext tensorboard
%tensorboard --logdir=/path/to/logs

Consulte el ejemplo de cuaderno Colab para obtener más detalles.

Terminal

Si desea ejecutar TensorBoard nightly build localmente, primero debe instalarlo:

pip install tf-nightly

Entonces simplemente ejecútelo:

tensorboard --logdir path/to/logs