augmentedImageDatastore
Transformieren von Stapeln zur Bilddatenerweiterung
Beschreibung
Ein erweiterter Bild-Datastore transformiert Stapel von Trainings-, Validierungs-, Test- und Vorhersagedaten mit optionaler Vorverarbeitung wie Größenänderung, Drehung und Spiegelung. Ändern Sie die Größe der Bilder, damit sie mit der Eingabegröße Ihres Deep-Learning-Netzes kompatibel sind. Erweitern Sie die Trainingsbilddaten mit zufälligen Vorverarbeitungsoperationen, um zu verhindern, dass das Netz eine Überanpassung vornimmt und sich die exakten Details der Trainingsbilder merkt.
Um ein Netz mit erweiterten Bildern zu trainieren, stellen Sie den augmentedImageDatastore
für die trainnet
-Funktion bereit. Weitere Informationen finden Sie unter Preprocess Images for Deep Learning.
Wenn Sie einen erweiterten Bild-Datastore als Quelle für Trainingsbilder verwenden, stört der Datastore die Trainingsdaten für jede Epoche nach dem Zufallsprinzip, sodass jede Epoche einen etwas anderen Datensatz verwendet. Die tatsächliche Anzahl der Trainingsbilder in jeder Epoche ändert sich nicht. Die transformierten Bilder werden nicht im Speicher abgelegt.
Eine
imageInputLayer
normalisiert Bilder anhand des Mittelwerts der erweiterten Bilder und nicht anhand des Mittelwerts des ursprünglichen Datensatzes. Dieser Mittelwert wird einmal für die erste erweiterte Epoche berechnet. Alle anderen Epochen verwenden den gleichen Mittelwert, sodass sich das Durchschnittsbild während des Trainings nicht ändert.Verwenden Sie einen erweiterten Bild-Datastore für die effiziente Vorverarbeitung von Bildern für Deep Learning, einschließlich der Größenänderung von Bildern. Verwenden Sie nicht die Option
ReadFcn
vonImageDatastore
-Objekten.ImageDatastore
ermöglicht das Stapellesen von JPG- oder PNG-Bilddateien mit Prefetching. Wenn Sie die OptionReadFcn
auf eine benutzerdefinierte Funktion setzen, dann führt derImageDatastore
keinen Prefetch aus und ist in der Regel deutlich langsamer.
Standardmäßig passt ein augmentedImageDatastore
nur die Größe der Bilder an, um sie an die Ausgabegröße anzupassen. Sie können Optionen für zusätzliche Bildtransformationen mithilfe eines imageDataAugmenter
konfigurieren.
Erstellung
Syntax
Beschreibung
auimds = augmentedImageDatastore(outputSize,
erstellt einen erweiterten Bild-Datastore für Klassifizierungsprobleme mit Bildern aus dem Bild-Datastore imds
)imds
und stellt die Eigenschaft
ein.OutputSize
auimds = augmentedImageDatastore(outputSize,
erstellt einen erweiterten Bild-Datastore für die Vorhersage von Reaktionen auf Bilddaten im Array X
)X
.
auimds = augmentedImageDatastore(outputSize,
erstellt einen erweiterten Bild-Datastore für Klassifizierungs- und Regressionsprobleme. Die Tabelle tbl
)tbl
enthält Prädiktoren und Antworten.
auimds = augmentedImageDatastore(outputSize,
erstellt einen erweiterten Bild-Datastore für Klassifizierungs- und Regressionsprobleme. Die Tabelle tbl
,responseNames
)tbl
enthält Prädiktoren und Antworten. Das Argument responseNames
spezifiziert die Antwortvariablen in tbl
.
auimds = augmentedImageDatastore(___,Name,Value)
erstellt einen erweiterten Bild-Datastore, wobei Name-Wert-Paare zum Festlegen der Eigenschaften
, ColorPreprocessing
, DataAugmentation
, und OutputSizeMode
verwendet werden. Sie können mehrere Name-Wert-Paare angeben. Setzen Sie jeden Eigenschaftsnamen in Anführungszeichen.DispatchInBackground
Zum Beispiel erstellt augmentedImageDatastore([28,28],myTable,'OutputSizeMode','centercrop')
einen erweiterten Bild-Datastore, der Bilder von der Mitte her beschneidet.
Eingangsargumente
Eigenschaften
Objektfunktionen
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 |
Beispiele
Tipps
Sie können viele transformierte Bilder in derselben Abbildung visualisieren, indem Sie die Funktion
imtile
verwenden. Dieser Code zeigt zum Beispiel einen Ministapel transformierter Bilder aus einem erweiterten Bild-Datastore namensauimds
an.minibatch = read(auimds); imshow(imtile(minibatch.input))
Standardmäßig ist die Größenänderung die einzige Bildvorverarbeitung, die an Bildern vorgenommen wird. Aktivieren Sie zusätzliche Vorverarbeitungsoperationen, indem Sie das Name-Werte-Paar-Argument
mit einemDataAugmentation
imageDataAugmenter
-Objekt verwenden. Jedes Mal, wenn Bilder aus dem erweiterten Bild-Datastore gelesen werden, wird eine andere zufällige Kombination von Vorverarbeitungsvorgängen auf jedes Bild angewendet.
Versionsverlauf
Eingeführt in R2018a