dsprites

dSprites è un set di dati di forme 2D generate proceduralmente da 6 fattori latenti indipendenti dalla verità del terreno. Questi fattori sono colore, forma, dimensioni, rotazione, posizioni X e Y di uno sprite.

Tutte le possibili combinazioni di questi latenti sono presenti esattamente una volta, generando N = 737280 immagini totali.

Valori del fattore latente

  • Colore bianco
  • Forma: quadrato, ellisse, cuore
  • Scala: 6 valori distanziati linearmente in [0.5, 1]
  • Orientamento: 40 valori in [0, 2 pi]
  • Posizione X: 32 valori in [0, 1]
  • Posizione Y: 32 valori in [0, 1]

Abbiamo variato un latente alla volta (a partire dalla posizione Y, quindi la posizione X, ecc.) e archiviato in sequenza le immagini in un ordine fisso. Quindi l'ordine lungo la prima dimensione è fisso e permette di ricondurre al valore delle latenti corrispondenti a quell'immagine.

Abbiamo scelto deliberatamente i valori latenti per avere i più piccoli cambiamenti di passo, assicurandoci che tutti i pixel in uscita fossero diversi. Nessun rumore è stato aggiunto.

Diviso Esempi
'train' 737,280
  • Caratteristiche:
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,
})

Visualizzazione

  • citazione:
@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",
}