Plugin lưới

Tổng quan

Lưới và đám mây điểm là những loại dữ liệu quan trọng và mạnh mẽ để biểu diễn các hình dạng 3D và được nghiên cứu rộng rãi trong lĩnh vực thị giác máy tính và đồ họa máy tính. Dữ liệu 3D đang trở nên phổ biến hơn và các nhà nghiên cứu thách thức các vấn đề mới như tái tạo hình học 3D từ dữ liệu 2D, phân đoạn ngữ nghĩa đám mây điểm 3D, căn chỉnh hoặc biến đổi các đối tượng 3D, v.v. Do đó, việc trực quan hóa kết quả, đặc biệt là trong giai đoạn đào tạo, là rất quan trọng để hiểu rõ hơn về cách thức hoạt động của mô hình.

Plugin lưới trong TensorBoard {width="100%"}

Plugin này nhằm mục đích hiển thị các đám mây điểm hoặc lưới 3D (các đám mây điểm hình tam giác) trong TensorBoard. Ngoài ra, nó cho phép người dùng tương tác với các đối tượng được hiển thị.

API tóm tắt

Lưới hoặc đám mây điểm có thể được biểu diễn bằng một tập hợp các tensor. Ví dụ: người ta có thể xem đám mây điểm dưới dạng tập hợp tọa độ 3D của các điểm và một số màu sắc liên quan đến từng điểm.

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)

LƯU Ý tenxơ colors là tùy chọn trong trường hợp này nhưng có thể hữu ích để hiển thị các ngữ nghĩa khác nhau của các điểm.

Plugin hiện chỉ hỗ trợ các lưới hình tam giác, khác với các đám mây điểm ở trên chỉ bởi sự hiện diện của các mặt - tập hợp các đỉnh đại diện cho hình tam giác trên lưới.

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)

Chỉ có tenxơ colors là tùy chọn cho tóm tắt dạng lưới.

Cấu hình cảnh

Cách thức các vật thể được hiển thị cũng phụ thuộc vào cấu hình cảnh, tức là cường độ và màu sắc của nguồn sáng, chất liệu của vật thể, kiểu máy ảnh, v.v. Tất cả điều đó có thể được cấu hình thông qua tham số bổ sung config_dict . Từ điển này có thể chứa ba khóa cấp cao: camera , lightsmaterial . Mỗi khóa cũng phải là một từ điển có khóa bắt buộc cls , đại diện cho tên lớp THREE.js hợp lệ.

camera_config = {'cls': 'PerspectiveCamera'}
summary = mesh_summary.op(
    "mesh",
    vertices=mesh,
    colors=colors,
    faces=faces,
    config_dict={"camera": camera_config},
)

camera_config từ đoạn mã trên có thể được mở rộng theo tài liệu THREE.js . Tất cả các khóa từ camera_config sẽ được chuyển đến một lớp có tên camera_config.cls . Ví dụ: (dựa trên tài liệu PerspectiveCamera ):

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

Hãy nhớ rằng cấu hình cảnh không phải là một biến có thể huấn luyện được (tức là tĩnh) và chỉ nên được cung cấp trong quá trình tạo bản tóm tắt.

Cài đặt thế nào

Hiện tại plugin này là một phần của bản dựng hàng đêm của TensorBoard, do đó bạn phải cài đặt nó trước khi sử dụng plugin.

Colab

pip install -q -U tb-nightly

Sau đó tải tiện ích mở rộng Tensorboard và chạy nó, tương tự như cách bạn thực hiện trong Terminal:

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

Vui lòng tham khảo ví dụ về sổ tay Colab để biết thêm chi tiết.

Phần cuối

Nếu bạn muốn chạy bản dựng hàng đêm TensorBoard cục bộ, trước tiên bạn cần cài đặt nó:

pip install tf-nightly

Sau đó chỉ cần chạy nó:

tensorboard --logdir path/to/logs