Cette page a été traduite par l'API Cloud Translation.
Switch to English

Plugin Mesh

Aperçu

Les maillages et les nuages ​​de points sont des types de données importants et puissants pour représenter des formes 3D et largement étudiés dans le domaine de la vision par ordinateur et de l'infographie. Les données 3D sont de plus en plus omniprésentes et les chercheurs remettent en question de nouveaux problèmes tels que la reconstruction de la géométrie 3D à partir de données 2D, la segmentation sémantique de nuages ​​de points 3D, l'alignement ou le morphing d'objets 3D, etc. Par conséquent, la visualisation des résultats, en particulier pendant la phase de formation, est essentielle pour mieux comprendre les performances du modèle.

Plugin Mesh dans TensorBoard {width = "100%"}

Ce plugin a l'intention d'afficher des nuages ​​de points 3D ou des maillages (nuages ​​de points triangulés) dans TensorBoard. De plus, il permet à l'utilisateur d'interagir avec les objets rendus.

Résumé de l'API

Un maillage ou un nuage de points peut être représenté par un ensemble de tenseurs. Par exemple, on peut voir un nuage de points comme un ensemble de coordonnées 3D des points et des couleurs associées à chaque point.

 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)
 

REMARQUE Le tenseur de colors est facultatif dans ce cas, mais peut être utile pour montrer différentes sémantiques des points.

Le plugin ne prend actuellement en charge que les maillages triangulaires qui ne diffèrent des nuages ​​de points ci-dessus que par la présence de faces - ensemble de sommets représentant le triangle sur le maillage.

 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)
 

Seul le tenseur de colors est facultatif pour les résumés de maillage.

Configuration de la scène

La manière dont les objets seront affichés dépend également de la configuration de la scène, c'est-à-dire de l'intensité et de la couleur des sources lumineuses, du matériau des objets, des modèles de caméras, etc. Tout cela peut être configuré via un paramètre supplémentaire config_dict . Ce dictionnaire peut contenir trois clés de haut niveau: camera , lights et material . Chaque clé doit également être un dictionnaire avec clé obligatoire cls , représentant un nom de classe THREE.js valide.

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

camera_config de l'extrait de camera_config ci-dessus peut être développé selon la documentation THREE.js . Toutes les clés de camera_config seront transmises à une classe avec le nom camera_config.cls . Par exemple (basé sur la documentation PerspectiveCamera ):

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

Gardez à l'esprit que la configuration de la scène n'est pas une variable entraînable (c'est-à-dire statique) et ne doit être fournie que lors de la création des résumés.

Comment installer

Actuellement, le plugin fait partie de la construction nocturne de TensorBoard, vous devez donc l'installer avant d'utiliser le plugin.

Colab

pip install -q -U tb-nightly

Ensuite, chargez l'extension Tensorboard et exécutez-la, de la même manière que vous le feriez dans le terminal:

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

Veuillez consulter l' exemple de cahier Colab pour plus de détails.

Terminal

Si vous souhaitez exécuter la compilation nocturne de TensorBoard localement, vous devez d'abord l'installer:

 pip install tf-nightly
 

Ensuite, lancez-le simplement:

 tensorboard --logdir path/to/logs