augmentedImageDatastore
Transformer des batchs de données pour augmenter les images
Description
Un datastore d'images augmentées (Augmented Image Datastore) transforme des batchs de données d’apprentissage, de validation, de test et de prédiction avec un prétraitement facultatif tel que le redimensionnement, la rotation et la réflexion. Redimensionnez les images pour qu’elles soient compatibles avec la taille en entrée de votre réseau de Deep Learning. Augmentez les images d’apprentissage avec des opérations de prétraitement randomisées pour éviter un surajustement du réseau et la mémorisation des détails exacts des images d’apprentissage.
Pour entraîner un réseau avec des images augmentées, utilisez augmentedImageDatastore
avec la fonction trainnet
. Pour plus d’informations, veuillez consulter Preprocess Images for Deep Learning.
Lors de l’utilisation d’un datastore d'images augmentées comme source d’images d’apprentissage, le datastore introduit des perturbations en modifiant les données d’apprentissage de manière aléatoire à chaque epoch. Ainsi, chaque epoch utilise un jeu de données légèrement différent. Le nombre d’images d’apprentissage par epoch ne change pas. Les images transformées ne sont pas stockées en mémoire.
Une couche
imageInputLayer
normalise les images selon la moyenne des images augmentées et non la moyenne du jeu de données d’origine. Cette moyenne est calculée une seule fois pour le premier epoch augmenté. Tous les autres epochs utilisent cette même moyenne pour que l’image moyenne ne change pas en cours d’apprentissage.Utilisez un datastore d'images augmentées pour prétraiter efficacement les images pour le Deep Learning, y compris en les redimensionnant. N’utilisez pas l’option
ReadFcn
des objetsImageDatastore
.ImageDatastore
permet de lire les fichiers d’images JPG ou PNG en batch au moyen de la prélecture. Si vous définissez l’optionReadFcn
pour une fonction personnalisée,ImageDatastore
n’effectue pas de prélecture et est généralement beaucoup plus lent.
Par défaut, augmentedImageDatastore
redimensionne uniquement les images pour les adapter à la taille en sortie. Vous pouvez configurer des options de transformation d’image supplémentaires avec imageDataAugmenter
.
Création
Syntaxe
Description
auimds = augmentedImageDatastore(outputSize,
crée un datastore d'images augmentées pour les problèmes de classification avec les images du datastore d’images imds
)imds
et définit la propriété
.OutputSize
auimds = augmentedImageDatastore(outputSize,
crée un datastore d'images augmentées pour la prédiction des réponses des images du tableau X
)X
.
auimds = augmentedImageDatastore(outputSize,
crée un datastore d'images augmentées pour les problèmes de classification et de régression. La table tbl
)tbl
contient les prédicteurs et les réponses.
auimds = augmentedImageDatastore(outputSize,
crée un datastore d'images augmentées pour les problèmes de classification et de régression. La table tbl
,responseNames
)tbl
contient les prédicteurs et les réponses. L’argument responseNames
spécifie les variables de réponse de tbl
.
auimds = augmentedImageDatastore(___,Name,Value)
crée un datastore d'images augmentées avec des paires nom-valeur pour définir les propriétés
, ColorPreprocessing
, DataAugmentation
et OutputSizeMode
. Vous pouvez spécifier plusieurs paires nom-valeur. Mettez chaque nom de propriété entre guillemets.DispatchInBackground
Par exemple, augmentedImageDatastore([28,28],myTable,'OutputSizeMode','centercrop')
crée un datastore d'images augmentées qui recadre les images au centre.
Arguments en entrée
Propriétés
Fonctions d'objet
combine | Combine data from multiple datastores |
hasdata | Determine if data is available to read |
numpartitions | Number of datastore partitions |
partition | Partition a datastore |
partitionByIndex | Partition augmentedImageDatastore according to
indices |
preview | Preview subset of data in datastore |
read | Read data from augmentedImageDatastore |
readall | Read all data in datastore |
readByIndex | Read data specified by index from
augmentedImageDatastore |
reset | Reset datastore to initial state |
shuffle | Shuffle data in augmentedImageDatastore |
subset | Create subset of datastore or FileSet |
transform | Transform datastore |
isPartitionable | Determine whether datastore is partitionable |
isShuffleable | Determine whether datastore is shuffleable |
Exemples
Conseils
La fonction
imtile
permet de visualiser un grand nombre d’images transformées dans la même figure. Par exemple, le code suivant affiche un mini-batch d’images transformées provenant d’un datastore d'images augmentées nomméauimds
.minibatch = read(auimds); imshow(imtile(minibatch.input))
Par défaut, le redimensionnement est la seule opération de prétraitement appliquée aux images. Pour activer des opérations de prétraitement supplémentaires, utilisez l’argument de type nom-valeur
avec un objetDataAugmentation
imageDataAugmenter
. À chaque lecture d’images depuis le datastore d'images augmentées, une combinaison aléatoire différente d’opérations de prétraitement est appliquée à chaque image.
Historique des versions
Introduit dans R2018a
Voir aussi
imageDataAugmenter
| imageInputLayer
| trainnet
| trainingOptions
| dlnetwork