總覽
網格和點雲是重要的強大資料類型,可用於表示 3D 形狀,並在電腦視覺和電腦圖學領域中廣泛研究。3D 資料正變得越來越普及,研究人員挑戰新的問題,例如從 2D 資料重建 3D 幾何圖形、3D 點雲語意分割、對齊或變形 3D 物件等等。因此,視覺化結果 (尤其是在訓練階段) 對於更好地理解模型效能至關重要。
{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
進行設定。此字典可能包含三個高階鍵:camera
、lights
和 material
。每個鍵也必須是一個字典,其中包含必要的鍵 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_config
。camera_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