CV2 et data augmentation

Dans cette page tu découvriras comment augmenter ton dataset avec la data-augmentation

Tu trouveras également dans ce fichier quelques exemples d’utilisation

Data augmentation

C’est quoi ?

Le principe de la data augmentation est d’augmenter le nombre d’image en modifiant l’image.
Selon ce qu’on cherche à reconnaître on peut se demander :  » Est-ce que l’image est reconnaissable si …
  • Je la mets en miroir horizontal? vertical? Les deux?
  • Je la tourne légèrement dans un sens ou dans l’autre ?
  • Si je la floute légèrement etc…

Tout cela permet de produire plus d’images à partir des mêmes images en base de donnée et d’étendre les données d’apprentissage.

Pour mettre cela en place nous allons pouvoir ajouter quelques couches de pré-traitement des images à notre réseau de neurones.

Exemple

Voici un petit exemple de deux couches qui permettent des rotations et miroir :

  • Le flip permet de retourner l’image verticalement et/ou horizontalement
  • La rotation permet de tourner d’un certain pourcentage de cercle

from keras.layers import RandomFlip, RandomRotation

model = Sequential()

model.add(RandomFlip(« horizontal_and_vertical »))
model.add(RandomRotation(0.5))

A la suite de ces couches tu peux ajouter tout le reste du réseau.

Une seule petite différence : après avoir ajouté toutes les couches, tu devras build ton modèle en précisant l’input_shape.

# Après toutes les couches du réseau :
model.build(input_shape=(batch_size,hauteur,largeur,couleur))

model.summary()

L’input shape est augmentée d’une dimension en 1ère position qui correspond à la batch_size

Tu trouveras dans ce fichier exemple différentes utilisation de ces couches et comment les visualiser

Documentation

Tu peux retrouver la doc complète des fonctions RandomRotation et RandomFlip

Il existe plein d’autres couches utilisables pour modifier les images :

Il est également possible d’intégrer directement le resize et le changement d’échelle (transformation des pixels entre 0 et 255 en des valeurs entre 0 et 1)

Retour en haut