תוסף רשת

סקירה כללית

ענן רשתות ונקודות הם סוגים חשובים וחזקים של נתונים לייצוג צורות תלת-ממדיות ונחקרים בהרחבה בתחום הראייה הממוחשבת והגרפיקה הממוחשבת. נתונים תלת-ממדיים הופכים נפוצים יותר וחוקרים קוראים תיגר על בעיות חדשות כמו שחזור גיאומטריה תלת-ממדית מנתונים דו-ממדיים, פילוח סמנטי של ענן נקודות תלת-ממד, יישור או שינוי אובייקטים תלת-ממדיים וכן הלאה. לכן, הדמיית תוצאות, במיוחד בשלב האימון, היא קריטית כדי להבין טוב יותר את ביצועי המודל.

תוסף Mesh ב- TensorBoard {width="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 מהקטע שלמעלה לפי התיעוד של THREE.js . כל המפתחות מ- 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