Genel Bakış
Ağlar ve nokta bulutları, 3 boyutlu şekilleri temsil eden önemli ve güçlü veri türleridir ve bilgisayarlı görme ve bilgisayar grafikleri alanında yaygın olarak incelenmektedir. 3B veriler giderek daha yaygın hale geliyor ve araştırmacılar, 2B verilerden 3B geometri yeniden oluşturma, 3B nokta bulutu semantik bölümleme, 3B nesneleri hizalama veya biçimlendirme vb. gibi yeni sorunlara meydan okuyor. Bu nedenle, özellikle eğitim aşamasında sonuçların görselleştirilmesi, modelin nasıl performans gösterdiğini daha iyi anlamak açısından kritik öneme sahiptir.
{width="100%"}
Bu eklenti TensorBoard'da 3 boyutlu nokta bulutlarını veya ağları (üçgenleştirilmiş nokta bulutları) görüntülemeyi amaçlamaktadır. Ayrıca kullanıcının işlenmiş nesnelerle etkileşime girmesine olanak tanır.
Özet API'si
Bir ağ veya bir nokta bulutu bir dizi tensörle temsil edilebilir. Örneğin, bir nokta bulutu, noktaların 3 boyutlu koordinatları ve her bir noktayla ilişkili bazı renkler kümesi olarak görülebilir.
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)
NOT colors
tensörü bu durumda isteğe bağlıdır ancak noktaların farklı anlamlarını göstermek için yararlı olabilir.
Eklenti şu anda yalnızca, ağ üzerindeki üçgeni temsil eden köşe kümesi olan yüzlerin varlığıyla yukarıdaki nokta bulutlarından farklı olan üçgen ağları desteklemektedir.
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)
Örgü özetleri için yalnızca colors
tensörü isteğe bağlıdır.
Sahne konfigürasyonu
Nesnelerin nasıl görüntüleneceği aynı zamanda sahne konfigürasyonuna, yani ışık kaynaklarının yoğunluğuna ve rengine, nesnelerin malzemesine, kamera modellerine vb. de bağlıdır. Bunların tümü ek bir config_dict
parametresi aracılığıyla yapılandırılabilir. Bu sözlük üç üst düzey anahtar içerebilir: camera
, lights
ve material
. Her anahtarın aynı zamanda geçerli THREE.js sınıf adını temsil eden zorunlu cls
anahtarını içeren bir sözlük olması gerekir.
camera_config = {'cls': 'PerspectiveCamera'}
summary = mesh_summary.op(
"mesh",
vertices=mesh,
colors=colors,
faces=faces,
config_dict={"camera": camera_config},
)
Yukarıdaki kod parçasındaki camera_config
THREE.js belgelerine göre genişletilebilir. camera_config
dosyasındaki tüm anahtarlar, camera_config.cls
adındaki bir sınıfa aktarılacaktır. Örneğin ( PerspectiveCamera
belgelerine dayanarak):
camera_config = {
'cls': 'PerspectiveCamera',
'fov': 75,
'aspect': 0.9,
}
...
Sahne konfigürasyonunun eğitilebilir bir değişken (örn. statik) olmadığını ve yalnızca özetlerin oluşturulması sırasında sağlanması gerektiğini unutmayın.
Nasıl kurulur
Şu anda eklenti TensorBoard'un gecelik yapısının bir parçasıdır, bu nedenle eklentiyi kullanmadan önce onu yüklemeniz gerekir.
Colab
pip install -q -U tb-nightly
Ardından Tensorboard uzantısını yükleyin ve Terminalde yaptığınız gibi çalıştırın:
%load_ext tensorboard
%tensorboard --logdir=/path/to/logs
Daha fazla ayrıntı için lütfen örnek Colab not defterine bakın.
terminal
TensorBoard nightly build'i yerel olarak çalıştırmak istiyorsanız, önce onu yüklemeniz gerekir:
pip install tf-nightly
Sonra sadece çalıştırın:
tensorboard --logdir path/to/logs