dsprites

dSprites ist ein Datensatz von 2D-Formen, der prozedural aus 6 Ground-Truth-unabhängigen latenten Faktoren generiert wird. Diese Faktoren sind Farbe, Form, Maßstab, Rotation, x und y - Positionen eines Sprites.

Alle möglichen Kombinationen dieser Latenzen sind genau einmal vorhanden, wodurch N = 737280 Gesamtbilder erzeugt werden.

Latente Faktorwerte

  • Farbe weiß
  • Form: Quadrat, Ellipse, Herz
  • Skala: 6 Werte mit linearem Abstand in [0.5, 1]
  • Orientierung: 40 Werte in [0, 2 pi]
  • Position X: 32 Werte in [0, 1]
  • Position Y: 32 Werte in [0, 1]

Wir variierten jeweils eine Latenz (beginnend mit Position Y, dann Position X usw.) und speicherten die Bilder sequentiell in fester Reihenfolge. Daher ist die Reihenfolge entlang der ersten Dimension festgelegt und ermöglicht es Ihnen, den Wert der Latents entsprechend diesem Bild zuzuordnen.

Wir haben die Latents-Werte bewusst so gewählt, dass sie die kleinsten Schrittänderungen aufweisen und gleichzeitig sicherstellen, dass alle Pixelausgaben unterschiedlich waren. Es wurde kein Rauschen hinzugefügt.

Teilt Beispiele
'train' 737,280
  • Eigenschaften:
FeaturesDict({
    'image': Image(shape=(64, 64, 1), dtype=tf.uint8),
    'label_orientation': ClassLabel(shape=(), dtype=tf.int64, num_classes=40),
    'label_scale': ClassLabel(shape=(), dtype=tf.int64, num_classes=6),
    'label_shape': ClassLabel(shape=(), dtype=tf.int64, num_classes=3),
    'label_x_position': ClassLabel(shape=(), dtype=tf.int64, num_classes=32),
    'label_y_position': ClassLabel(shape=(), dtype=tf.int64, num_classes=32),
    'value_orientation': tf.float32,
    'value_scale': tf.float32,
    'value_shape': tf.float32,
    'value_x_position': tf.float32,
    'value_y_position': tf.float32,
})

Visualisierung

  • Zitat:
@misc{dsprites17,
author = {Loic Matthey and Irina Higgins and Demis Hassabis and Alexander Lerchner},
title = {dSprites: Disentanglement testing Sprites dataset},
howpublished= {https://github.com/deepmind/dsprites-dataset/},
year = "2017",
}