Örgü Eklentisi

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 geometrinin yeniden yapılandırılması, 3B nokta bulutu semantik bölümleme, 3B nesnelerin hizalanması veya dönüştürülmesi 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.

TensorBoard'daki Mesh Eklentisi {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 aynı zamanda geçerli THREE.js sınıf adını temsil eden zorunlu cls içeren bir sözlük olmalıdır.

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