Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Complemento de malla

Visión general

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

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

Este complemento tiene la intención de mostrar nubes de puntos 3D o mallas (nubes de puntos triangulados) en TensorBoard. Además, permite al usuario interactuar con los objetos renderizados.

Resumen API

Una malla o una nube de puntos se pueden representar mediante un conjunto de tensores. Por ejemplo, uno 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)
 

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

El complemento actualmente solo admite mallas triangulares que son diferentes de las nubes de puntos de arriba solo por la presencia de caras: 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 la 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 a través de un parámetro adicional config_dict . Este diccionario puede contener tres teclas de alto nivel: camera , lights y material . Cada clave también debe ser un diccionario con clave obligatoria cls , que represente el nombre válido de la clase THREE.js .

 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 ampliar 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 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 forma similar a como lo haría en la Terminal:

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

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

Terminal

Si desea ejecutar la compilación de TensorBoard todas las noches localmente, primero debe instalarla:

 pip install tf-nightly
 

Entonces solo ejecútalo:

 tensorboard --logdir path/to/logs