ปลั๊กอินตาข่าย

ภาพรวม

เมชและพอยต์คลาวด์เป็นประเภทข้อมูลที่สำคัญและมีประสิทธิภาพในการนำเสนอรูปร่าง 3 มิติ และได้รับการศึกษาอย่างกว้างขวางในด้านคอมพิวเตอร์วิทัศน์และคอมพิวเตอร์กราฟิก ข้อมูล 3 มิติเริ่มแพร่หลายมากขึ้น และนักวิจัยก็ท้าทายปัญหาใหม่ๆ เช่น การสร้างเรขาคณิต 3 มิติขึ้นมาใหม่จากข้อมูล 2 มิติ การแบ่งส่วนความหมายบนคลาวด์แบบพอยต์ 3 มิติ การจัดแนวหรือการปรับเปลี่ยนวัตถุ 3 มิติ และอื่นๆ ดังนั้น การแสดงผลลัพธ์เป็นภาพ โดยเฉพาะอย่างยิ่งในระหว่างขั้นตอนการฝึกอบรม จึงเป็นสิ่งสำคัญอย่างยิ่งในการทำความเข้าใจวิธีการทำงานของแบบจำลองให้ดียิ่งขึ้น

ปลั๊กอิน Mesh ใน TensorBoard {ความกว้าง="100%"}

ปลั๊กอินนี้ตั้งใจที่จะแสดงพอยต์คลาวด์หรือเมช 3 มิติ (พอยต์คลาวด์แบบสามเหลี่ยม) ใน TensorBoard นอกจากนี้ยังช่วยให้ผู้ใช้สามารถโต้ตอบกับออบเจ็กต์ที่แสดงผลได้

API สรุป

เมชหรือพอยต์คลาวด์สามารถแสดงได้ด้วยชุดเทนเซอร์ ตัวอย่างเช่น เราสามารถเห็นพอยต์คลาวด์เป็นชุดพิกัด 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 nightly build ดังนั้นคุณต้องติดตั้งก่อนที่จะใช้ปลั๊กอิน

โคลาบ

pip install -q -U tb-nightly

จากนั้นโหลดส่วนขยาย Tensorboard และเรียกใช้งาน คล้ายกับที่คุณทำใน Terminal:

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

โปรดดู ตัวอย่างสมุดบันทึก Colab สำหรับรายละเอียดเพิ่มเติม

เทอร์มินัล

หากคุณต้องการรัน TensorBoard บิลด์ทุกคืนในเครื่อง คุณต้องติดตั้งก่อน:

pip install tf-nightly

จากนั้นเพียงแค่เรียกใช้:

tensorboard --logdir path/to/logs