Esta página foi traduzida pela API Cloud Translation.
Switch to English

Plugin de malha

Visão geral

Malhas e nuvem de pontos são tipos importantes e poderosos de dados para representar formas 3D e amplamente estudadas no campo da visão computacional e da computação gráfica. Os dados 3D estão se tornando mais onipresentes e os pesquisadores desafiam novos problemas, como a reconstrução da geometria 3D a partir de dados 2D, segmentação semântica da nuvem de pontos 3D, alinhamento ou transformação de objetos 3D e assim por diante. Portanto, a visualização dos resultados, especialmente durante a fase de treinamento, é fundamental para entender melhor o desempenho do modelo.

Plugin de malha no TensorBoard {width = "100%"}

Este plugin pretende exibir nuvens de pontos 3D ou malhas (nuvens de pontos triangulares) no TensorBoard. Além disso, permite que o usuário interaja com os objetos renderizados.

API de resumo

Uma malha ou uma nuvem de pontos pode ser representada por um conjunto de tensores. Por exemplo, pode-se ver uma nuvem de pontos como um conjunto de coordenadas 3D dos pontos e algumas cores associadas a cada ponto.

 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)
 

OBSERVAÇÃO O tensor de colors é opcional neste caso, mas pode ser útil para mostrar diferentes semânticas dos pontos.

Atualmente, o plug-in suporta malhas triangulares que são diferentes das nuvens de pontos acima apenas pela presença de faces - conjunto de vértices que representam o triângulo na malha.

 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)
 

Somente o tensor de colors é opcional para resumos de malha.

Configuração de cena

A maneira como os objetos serão exibidos também depende da configuração da cena, como intensidade e cor das fontes de luz, material dos objetos, modelos de câmera e assim por diante. Tudo isso pode ser configurado através de um parâmetro adicional config_dict . Este dicionário pode conter três teclas de alto nível: camera , lights e material . Cada chave também deve ser um dicionário com cls chave obrigatórios, representando o nome da classe THREE.js válido.

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

camera_config do snippet acima pode ser expandido de acordo com a documentação do THREE.js . Todas as chaves de camera_config serão passadas para uma classe com o nome camera_config.cls . Por exemplo (com base na documentação PerspectiveCamera ):

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

Lembre-se de que a configuração da cena não é uma variável treinável (ou seja, estática) e deve ser fornecida apenas durante a criação de resumos.

Como instalar

Atualmente, o plug-in faz parte da compilação noturna do TensorBoard; portanto, você deve instalá-lo antes de usá-lo.

Colab

pip install -q -U tb-nightly

Em seguida, carregue a extensão Tensorboard e execute-a, semelhante a como você faria no Terminal:

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

Consulte o exemplo do notebook Colab para obter mais detalhes.

terminal

Se você deseja executar a compilação noturna do TensorBoard localmente, primeiro é necessário instalá-lo:

 pip install tf-nightly
 

Depois, execute-o:

 tensorboard --logdir path/to/logs