Mesh Plugin

總覽

網格和點雲是重要的強大資料類型,可用於表示 3D 形狀,並在電腦視覺和電腦圖學領域中廣泛研究。3D 資料正變得越來越普及,研究人員挑戰新的問題,例如從 2D 資料重建 3D 幾何圖形、3D 點雲語意分割、對齊或變形 3D 物件等等。因此,視覺化結果 (尤其是在訓練階段) 對於更好地理解模型效能至關重要。

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

此外掛程式旨在 TensorBoard 中顯示 3D 點雲或網格 (三角化點雲)。此外,它允許使用者與算繪物件互動。

摘要 API

網格或點雲都可以用一組張量表示。例如,可以將點雲視為點的 3D 座標集,以及與每個點相關聯的一些顏色。

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)

注意:在這種情況下,colors 張量是選用的,但可用於顯示點的不同語意。

此外掛程式目前僅支援三角形網格,三角形網格與上述點雲的不同之處僅在於面的存在 - 代表網格上三角形的頂點集。

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)

對於網格摘要,只有 colors 張量是選用的。

場景設定

物件的顯示方式也取決於場景設定,即光源的強度和顏色、物件的材質、相機模型等等。所有這些都可以透過額外的參數 config_dict 進行設定。此字典可能包含三個高階鍵:cameralightsmaterial。每個鍵也必須是一個字典,其中包含必要的鍵 cls,代表有效的 THREE.js 類別名稱。

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

可以根據 THREE.js 文件擴充上述程式碼片段中的 camera_configcamera_config 中的所有鍵都將傳遞到名稱為 camera_config.cls 的類別。例如 (根據 PerspectiveCamera 文件)

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

請注意,場景設定不是可訓練變數 (即靜態),並且應僅在建立摘要期間提供。

如何安裝

目前,此外掛程式是 TensorBoard 每夜建置版本的一部分,因此您必須先安裝它才能使用此外掛程式。

Colab

pip install -q -U tb-nightly

然後載入 Tensorboard 擴充功能並執行它,類似於您在終端機中的操作方式

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

請參閱 範例 Colab 筆記本以瞭解更多詳細資訊。

終端機

如果您想在本機執行 TensorBoard 每夜建置版本,首先需要安裝它

pip install tf-nightly

然後執行它即可

tensorboard --logdir path/to/logs