Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Mesh Plugin

Überblick

Netze und Punktwolken sind wichtige und leistungsstarke Datentypen zur Darstellung von 3D-Formen, die auf dem Gebiet der Bildverarbeitung und Computergrafik umfassend untersucht wurden. 3D-Daten werden immer allgegenwärtiger und Forscher stellen neue Probleme wie die Rekonstruktion der 3D-Geometrie aus 2D-Daten, die semantische Segmentierung von 3D-Punktwolken, das Ausrichten oder Verwandeln von 3D-Objekten usw. in Frage. Daher ist die Visualisierung der Ergebnisse, insbesondere während der Trainingsphase, entscheidend, um die Leistung des Modells besser zu verstehen.

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

Dieses Plugin soll 3D-Punktwolken oder -Netze (triangulierte Punktwolken) in TensorBoard anzeigen. Darüber hinaus kann der Benutzer mit den gerenderten Objekten interagieren.

Zusammenfassungs-API

Entweder ein Netz oder eine Punktwolke kann durch eine Reihe von Tensoren dargestellt werden. Beispielsweise kann man eine Punktwolke als einen Satz von 3D-Koordinaten der Punkte und einige Farben sehen, die jedem Punkt zugeordnet sind.

 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)
 

HINWEIS colors Tensor in diesem Fall optional ist, kann aber sinnvoll sein , unterschiedliche Semantik der Punkte zu zeigen.

Das Plugin unterstützt derzeit nur Dreiecksnetze, die sich von Punktwolken oben nur durch das Vorhandensein von Flächen unterscheiden - eine Reihe von Eckpunkten, die das Dreieck auf dem Netz darstellen.

 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)
 

Nur die colors Tensor für Mesh - Zusammenfassungen optional.

Szenenkonfiguration

Die Art und Weise, wie die Objekte angezeigt werden, hängt auch von der Szenenkonfiguration ab, dh Intensität und Farbe der Lichtquellen, Objektmaterial, Kameramodelle usw. All dies kann über einen zusätzlichen Parameter config_dict konfiguriert werden. Dieses Wörterbuch kann drei übergeordnete Tasten enthalten: camera , lights und material . Jeder Schlüssel muss auch ein Wörterbuch mit verbindlichen Schlüssel cls , was gültig Three.js Klassennamen.

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

camera_config aus dem obigen Snippet kann gemäß der Dokumentation zu THREE.js erweitert werden. Alle Schlüssel von camera_config werden an eine Klasse mit dem Namen camera_config.cls . Zum Beispiel (basierend auf der PerspectiveCamera Dokumentation ):

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

Beachten Sie, dass die Szenenkonfiguration keine trainierbare Variable (dh statisch) ist und nur während der Erstellung von Zusammenfassungen bereitgestellt werden sollte.

Wie installiert man

Derzeit ist das Plugin Teil des nächtlichen Builds von TensorBoard. Daher müssen Sie es installieren, bevor Sie das Plugin verwenden können.

Colab

pip install -q -U tb-nightly

Laden Sie dann die Tensorboard-Erweiterung und führen Sie sie aus, ähnlich wie Sie es im Terminal tun würden:

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

Weitere Informationen finden Sie im Beispiel-Colab-Notizbuch .

Terminal

Wenn Sie TensorBoard Nightly Build lokal ausführen möchten, müssen Sie es zuerst installieren:

 pip install tf-nightly
 

Dann führen Sie es einfach aus:

 tensorboard --logdir path/to/logs