shapes3d

Stay organized with collections Save and categorize content based on your preferences.

3dshapes is a dataset of 3D shapes procedurally generated from 6 ground truth independent latent factors. These factors are floor colour, wall colour, object colour, scale, shape and orientation.

All possible combinations of these latents are present exactly once, generating N = 480000 total images.

Latent factor values

  • floor hue: 10 values linearly spaced in [0, 1]
  • wall hue: 10 values linearly spaced in [0, 1]
  • object hue: 10 values linearly spaced in [0, 1]
  • scale: 8 values linearly spaced in [0, 1]
  • shape: 4 values in [0, 1, 2, 3]
  • orientation: 15 values linearly spaced in [-30, 30]

We varied one latent at a time (starting from orientation, then shape, etc), and sequentially stored the images in fixed order in the images array. The corresponding values of the factors are stored in the same order in the labels array.

Split Examples
'train' 480,000
  • Feature structure:
FeaturesDict({
    'image': Image(shape=(64, 64, 3), dtype=tf.uint8),
    'label_floor_hue': ClassLabel(shape=(), dtype=tf.int64, num_classes=10),
    'label_object_hue': ClassLabel(shape=(), dtype=tf.int64, num_classes=10),
    'label_orientation': ClassLabel(shape=(), dtype=tf.int64, num_classes=15),
    'label_scale': ClassLabel(shape=(), dtype=tf.int64, num_classes=8),
    'label_shape': ClassLabel(shape=(), dtype=tf.int64, num_classes=4),
    'label_wall_hue': ClassLabel(shape=(), dtype=tf.int64, num_classes=10),
    'value_floor_hue': tf.float32,
    'value_object_hue': tf.float32,
    'value_orientation': tf.float32,
    'value_scale': tf.float32,
    'value_shape': tf.float32,
    'value_wall_hue': tf.float32,
})
  • Feature documentation:
Feature Class Shape Dtype Description
FeaturesDict
image Image (64, 64, 3) tf.uint8
label_floor_hue ClassLabel tf.int64
label_object_hue ClassLabel tf.int64
label_orientation ClassLabel tf.int64
label_scale ClassLabel tf.int64
label_shape ClassLabel tf.int64
label_wall_hue ClassLabel tf.int64
value_floor_hue Tensor tf.float32
value_object_hue Tensor tf.float32
value_orientation Tensor tf.float32
value_scale Tensor tf.float32
value_shape Tensor tf.float32
value_wall_hue Tensor tf.float32

Visualization

  • Citation:
@misc{3dshapes18,
  title={3D Shapes Dataset},
  author={Burgess, Chris and Kim, Hyunjik},
  howpublished={https://github.com/deepmind/3dshapes-dataset/},
  year={2018}
}