Créer votre jeu de données

Consignes

De la même manière que dans le mini-projet, vous allez collecter votre propre jeu de données d’images à classifier. Il devra contenir deux classes d’au moins 30 images chacunes, typiquement prises avec votre téléphone portable.

Pour aller plus loin \(\clubsuit\)

Si vous êtes à l’aise et souhaitez aller plus loin, vous pouvez:

  • Avoir plus de deux classes d’images.

  • Traiter d’autres données que des images.

Notez que, dans ce cas, vous pourrez être amenés à devoir adapter fortement les feuilles que nous vous fournissons.

Métadonnées

Il est important de noter qu’il est très difficile de collecter de bonnes données qui ne soient pas entachées de biais. En vue de rechercher et corriger de tels biais, vous devez essayer de conserver le plus d’informations possible sur vos exemples: par exemple, le lieu, la date et l’heure à laquelle les images ont été prises etc. Heureusement, la plupart des téléphones ou appareils photos récents capturent ce genre d’informations, encodées dans le fichier d’image lui-même! Nous appelons cela les métadonnées

La semaine prochaine, nous verrons comment nous pouvons étudier les biais dans les données en utilisant ces métadonnées. Si vous finissez cette fiche en avance, vous poucez d’ores et déjà commencer la fiche biais.ipynb dans le dossier 2.biais.

Structure

Créez un répertoire data et mettez-y votre propre jeu de données en respectant la même structure que dans les exemples fournis: notamment, vous nommerez vos fichiers classXX.ext, où class est le nom de la classe, XX est le numéro de l’échantillon, et ext est l’extension (typiquement .jpg ou .png).

Nous recommandons de n’utiliser que des images de taille pas trop grosse (mettons pas plus de 100x100). Comme pour le premier mini-projet, vous pouvez utiliser l’utilitaire mogrify pour redimensionner vos images (confère les consignes ìndex.md` de la semaine 3 pour plus de détail).

Chargement de votre jeu de données

# Automatically reload code when changes are made
%load_ext autoreload
%autoreload 2
from PIL import Image, ImageDraw, ImageFont
import matplotlib.pyplot as plt

from utilities import *
dataset_dir = 'data'
images = load_images(dataset_dir, "*.png")
first = images[:10]
image_grid(first, titles=first.index)
last = images[-10:]
image_grid(last, titles=last.index)
assert len(images) > 60

Fin

Maintenant que vous avez préparé votre jeu de données, vous pouvez reprendre l’analyse de la feuille premiere_analyse avec vos propres images.