Ringkasan
Meshes dan points cloud adalah jenis data yang penting dan kuat untuk mewakili bentuk 3D dan dipelajari secara luas di bidang visi komputer dan grafik komputer. Data 3D kini semakin banyak ditemui dan para peneliti menantang permasalahan baru seperti rekonstruksi geometri 3D dari data 2D, segmentasi semantik point cloud 3D, menyelaraskan atau mengubah objek 3D, dan sebagainya. Oleh karena itu, memvisualisasikan hasil, terutama selama tahap pelatihan, sangat penting untuk lebih memahami kinerja model.
{lebar="100%"}
Plugin ini bermaksud untuk menampilkan point cloud atau mesh 3D (triangulated point cloud) di TensorBoard. Selain itu, ini memungkinkan pengguna untuk berinteraksi dengan objek yang dirender.
Ringkasan API
Baik mesh maupun point cloud dapat direpresentasikan dengan sekumpulan tensor. Misalnya, seseorang dapat melihat awan titik sebagai kumpulan koordinat 3D dari titik-titik dan beberapa warna yang terkait dengan setiap titik.
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)
Tensor colors
CATATAN bersifat opsional dalam kasus ini tetapi dapat berguna untuk menampilkan semantik titik yang berbeda.
Plugin saat ini hanya mendukung jaring segitiga yang berbeda dari titik awan di atas hanya dengan adanya wajah - kumpulan simpul yang mewakili segitiga pada jaring.
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)
Hanya tensor colors
yang opsional untuk ringkasan mesh.
Konfigurasi pemandangan
Cara objek ditampilkan juga bergantung pada konfigurasi pemandangan, misalnya intensitas dan warna sumber cahaya, material objek, model kamera, dan sebagainya. Semua itu dapat dikonfigurasi melalui parameter tambahan config_dict
. Kamus ini mungkin berisi tiga tombol tingkat tinggi: camera
, lights
, dan material
. Setiap kunci juga harus berupa kamus dengan kunci wajib cls
, yang mewakili nama kelas THREE.js yang valid.
camera_config = {'cls': 'PerspectiveCamera'}
summary = mesh_summary.op(
"mesh",
vertices=mesh,
colors=colors,
faces=faces,
config_dict={"camera": camera_config},
)
camera_config
dari cuplikan di atas dapat diperluas sesuai dengan dokumentasi THREE.js . Semua kunci dari camera_config
akan diteruskan ke kelas dengan nama camera_config.cls
. Misalnya (berdasarkan dokumentasi PerspectiveCamera
):
camera_config = {
'cls': 'PerspectiveCamera',
'fov': 75,
'aspect': 0.9,
}
...
Ingatlah bahwa konfigurasi adegan bukanlah variabel yang dapat dilatih (yaitu statis) dan harus disediakan hanya selama pembuatan ringkasan.
Bagaimana cara menginstal
Saat ini plugin tersebut merupakan bagian dari TensorBoard nightly build, oleh karena itu Anda harus menginstalnya sebelum menggunakan plugin.
Kolaborasi
pip install -q -U tb-nightly
Kemudian muat ekstensi Tensorboard dan jalankan, mirip dengan cara Anda melakukannya di Terminal:
%load_ext tensorboard
%tensorboard --logdir=/path/to/logs
Silakan lihat contoh notebook Colab untuk detail selengkapnya.
Terminal
Jika Anda ingin menjalankan TensorBoard nightly build secara lokal, Anda harus menginstalnya terlebih dahulu:
pip install tf-nightly
Kemudian jalankan saja:
tensorboard --logdir path/to/logs