মেশ প্লাগইন

ওভারভিউ

মেশ এবং পয়েন্ট ক্লাউড হল 3D আকারের প্রতিনিধিত্ব করার জন্য গুরুত্বপূর্ণ এবং শক্তিশালী ধরণের ডেটা এবং কম্পিউটার দৃষ্টি এবং কম্পিউটার গ্রাফিক্সের ক্ষেত্রে ব্যাপকভাবে অধ্যয়ন করা হয়। 3D ডেটা আরও সর্বব্যাপী হয়ে উঠছে এবং গবেষকরা নতুন সমস্যাগুলিকে চ্যালেঞ্জ করছেন যেমন 2D ডেটা থেকে 3D জ্যামিতি পুনর্গঠন, 3D পয়েন্ট ক্লাউড শব্দার্থিক বিভাজন, 3D অবজেক্টগুলিকে সারিবদ্ধ করা বা মরফ করা ইত্যাদি। অতএব, ফলাফলগুলিকে ভিজ্যুয়ালাইজ করা, বিশেষ করে প্রশিক্ষণের পর্যায়ে, মডেলটি কীভাবে কাজ করে তা আরও ভালভাবে বোঝার জন্য গুরুত্বপূর্ণ।

টেনসরবোর্ডে মেশ প্লাগইন {width="100%"}

এই প্লাগইনটি টেনসরবোর্ডে 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)

NOTE 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

আরও বিশদ বিবরণের জন্য অনুগ্রহ করে Colab নোটবুকের উদাহরণ দেখুন।

টার্মিনাল

আপনি যদি স্থানীয়ভাবে টেনসরবোর্ড রাত্রিকালীন বিল্ড চালাতে চান, প্রথমে আপনাকে এটি ইনস্টল করতে হবে:

pip install tf-nightly

তারপর শুধু এটি চালান:

tensorboard --logdir path/to/logs