این صفحه به‌وسیله ‏Cloud Translation API‏ ترجمه شده است.
Switch to English

افزونه مش

بررسی اجمالی

مش و ابر نقاط از انواع مهم و قدرتمند داده برای نشان دادن اشکال سه بعدی هستند و به طور گسترده در زمینه دید رایانه و گرافیک رایانه مورد مطالعه قرار می گیرند. داده های سه‌بعدی بیش از همه مورد توجه قرار گرفته و محققان مشکلات جدیدی از قبیل بازسازی هندسه سه بعدی را از داده های 2D ، تقسیم بندی معنایی ابر 3 بعدی ، تراز کردن یا شکل دادن اشیاء سه بعدی و غیره به چالش می کشند. بنابراین ، تجسم نتایج بخصوص در مرحله آموزش برای درک بهتر نحوه عملکرد مدل بسیار مهم است.

افزونه مش در TensorBoard عرض = "100٪"

این افزونه در نظر دارد ابرهای سه بعدی یا مش (ابرهای نقطه مثلثی) را در TensorBoard نمایش دهد. علاوه بر این ، به کاربر این امکان را می دهد تا با اشیاء ارائه شده ارتباط برقرار کند.

خلاصه API

یا مش یا ابر نقطه ای را می توان با مجموعه ای از تنش ها نشان داد. به عنوان مثال ، می توان ابر نقطه را به عنوان مجموعه ای از مختصات سه بعدی نقاط و برخی از رنگ های مرتبط با هر نقطه مشاهده کرد.

 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 از قطعه بالا با توجه به مستندات camera_config قابل گسترش است . کلیه کلیدهای camera_config به کلاس با نام camera_config.cls . به عنوان مثال (بر اساس مستندات PerspectiveCamera ):

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

توجه داشته باشید که پیکربندی صحنه یک متغیر قابل آموزش نیست (یعنی استاتیک) و فقط باید در هنگام تهیه خلاصه ها ارائه شود.

روش نصب

در حال حاضر این افزونه بخشی از ساخت شبانه TensorBoard است ، بنابراین باید قبل از استفاده از افزونه آن را نصب کنید.

کلاب

pip install -q -U tb-nightly

سپس برنامه افزودنی Tensorboard را بارگیری کرده و آن را اجرا کنید ، مشابه نحوه انجام این کار در ترمینال:

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

لطفا برای اطلاعات بیشتر با نمونه نوت بوک Colab مشورت کنید.

پایانه

اگر می خواهید ساخت شبانه TensorBoard را به صورت محلی اجرا کنید ، ابتدا باید آن را نصب کنید:

 pip install tf-nightly
 

سپس فقط آن را اجرا کنید:

 tensorboard --logdir path/to/logs