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