मेष प्लगइन

अवलोकन

मेश और पॉइंट क्लाउड 3डी आकृतियों का प्रतिनिधित्व करने के लिए महत्वपूर्ण और शक्तिशाली प्रकार के डेटा हैं और कंप्यूटर विज़न और कंप्यूटर ग्राफिक्स के क्षेत्र में व्यापक रूप से अध्ययन किया जाता है। 3डी डेटा अधिक सर्वव्यापी होता जा रहा है और शोधकर्ता नई समस्याओं को चुनौती दे रहे हैं जैसे 2डी डेटा से 3डी ज्योमेट्री पुनर्निर्माण, 3डी पॉइंट क्लाउड सिमेंटिक सेगमेंटेशन, 3डी ऑब्जेक्ट को संरेखित या मॉर्फ करना आदि। इसलिए, मॉडल कैसा प्रदर्शन करता है, इसे बेहतर ढंग से समझने के लिए, विशेष रूप से प्रशिक्षण चरण के दौरान, परिणामों की कल्पना करना महत्वपूर्ण है।

टेंसरबोर्ड में मेश प्लगइन {चौड़ाई='100%'}

यह प्लगइन TensorBoard में 3D पॉइंट क्लाउड या मेश (त्रिकोणीय पॉइंट क्लाउड) प्रदर्शित करने का इरादा रखता है। इसके अलावा, यह उपयोगकर्ता को प्रस्तुत वस्तुओं के साथ बातचीत करने की अनुमति देता है।

सारांश एपीआई

या तो एक जाल या एक बिंदु बादल को टेंसर के एक सेट द्वारा दर्शाया जा सकता है। उदाहरण के लिए, कोई एक बिंदु बादल को बिंदुओं के 3डी निर्देशांक और प्रत्येक बिंदु से जुड़े कुछ रंगों के एक सेट के रूप में देख सकता है।

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},
)

उपरोक्त स्निपेट से camera_config THREE.js दस्तावेज़ के अनुसार विस्तारित किया जा सकता है। camera_config से सभी कुंजियाँ camera_config.cls नाम वाली कक्षा में भेज दी जाएंगी। उदाहरण के लिए ( PerspectiveCamera दस्तावेज़ के आधार पर):

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

ध्यान रखें कि दृश्य विन्यास एक प्रशिक्षण योग्य चर (यानी स्थिर) नहीं है और इसे केवल सारांश के निर्माण के दौरान ही प्रदान किया जाना चाहिए।

स्थापित करने के लिए कैसे

वर्तमान में प्लगइन TensorBoard रात्रिकालीन बिल्ड का हिस्सा है, इसलिए आपको प्लगइन का उपयोग करने से पहले इसे इंस्टॉल करना होगा।

कोलाब

pip install -q -U tb-nightly

फिर टेंसरबोर्ड एक्सटेंशन को लोड करें और इसे चलाएं, ठीक उसी तरह जैसे आप इसे टर्मिनल में करेंगे:

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

अधिक जानकारी के लिए कृपया उदाहरण कोलाब नोटबुक देखें।

टर्मिनल

यदि आप TensorBoard को स्थानीय स्तर पर रात्रिकालीन बिल्ड चलाना चाहते हैं, तो सबसे पहले आपको इसे इंस्टॉल करना होगा:

pip install tf-nightly

फिर बस इसे चलाएँ:

tensorboard --logdir path/to/logs