tfg.datasets.features.TriangleMesh

FeatureConnector for triangle meshes.

During _generate_examples, the feature connector accepts as input any of:

  • str: path to a {obj,stl,ply,glb} triangle mesh.
  • trimesh.Trimesh: A triangle mesh object.
  • trimesh.Scene: A scene object containing multiple TriangleMesh objects.
  • dict: A dictionary containing the vertices and faces of the mesh (see output format below).

Output:

A dictionary containing:

texture coordinates).

  • 'vertices': A float32 tensor with shape [N, 3] denoting the vertex coordinates, where N is the number of vertices in the mesh.
  • 'faces': An int64 tensor with shape [F, 3] denoting the face vertex indices, where F is the number of faces in the mesh.

  • Note: In case the input specifies a Scene (with multiple meshes), the output will be a single TriangleMesh which combines all the triangle meshes in the scene.

feature_dict (dict): Dictionary containing the feature connectors of a example. The keys should correspond to the data dict as returned by tf.data.Dataset(). Types (tf.int32,...) and dicts will automatically be converted into FeatureConnector.

ValueError If one of the given features is not recognized

dtype Return the dtype (or dict of dtype) of this FeatureConnector.
shape Return the shape (or dict of shape) of this FeatureConnector.

Methods

decode_batch_example

Decode multiple features batched in a single tf.Tensor.

This function is used to decode features wrapped in tfds.features.Sequence(). By default, this function apply decode_example on each individual elements using tf.map_fn. However, for optimization, features can overwrite this method to apply a custom batch decoding.

Args
tfexample_data Same tf.Tensor inputs as decode_example, but with and additional first dimension for the sequence length.

Returns
tensor_data Tensor or dictionary of tensor, output of the tf.data.Dataset object

decode_example

Decode the serialize examples.

Args
serialized_example Nested dict of tf.Tensor
decoders Nested dict of Decoder objects which allow to customize the decoding. The structure should match the feature structure, but only customized feature keys need to be present. See the guide for more info.

Returns
example Nested dict containing the decoded nested examples.

decode_ragged_example

Decode nested features from a tf.RaggedTensor.

This function is used to decode features wrapped in nested tfds.features.Sequence(). By default, this function apply decode_batch_example on the flat values of the ragged tensor. For optimization, features can overwrite this method to apply a custom batch decoding.

Args
tfexample_data tf.RaggedTensor inputs containing the nested encoded examples.

Returns
tensor_data The decoded tf.RaggedTensor or dictionary of tensor, output of the tf.data.Dataset object

encode_example

View source

Convert the given triangle mesh into a dict convertible to tf example.

from_json_content

View source

get_serialized_info

See base class for details.

get_tensor_info

See base class for details.

items

keys

load_metadata

See base class for details.

save_metadata

See base class for details.

to_json_content

View source

values

__contains__

__getitem__

Return the feature associated with the key.

__iter__

__len__