augmentedImageDatastore
Transformar lotes para aumentar datos de imágenes
Descripción
Un almacén de datos de imágenes aumentado transforma lotes de datos de entrenamiento, validación, prueba y predicción, con preprocesamientos opcionales como cambio de tamaño, rotación y reflexión. Cambie el tamaño de las imágenes para que sean compatibles con el tamaño de entrada de la red de deep learning. El aumento de datos de imágenes de entrenamiento con operaciones de preprocesamiento aleatorizadas ayuda a evitar que la red se sobreajuste y memorice los detalles exactos de las imágenes de entrenamiento.
Para entrenar una red usando imágenes aumentadas, proporcione el augmentedImageDatastore
a trainNetwork
. Para obtener más información, consulte Preprocess Images for Deep Learning.
Cuando utiliza un almacén de datos de imágenes aumentado como fuente de imágenes de entrenamiento, el almacén de datos perturba aleatoriamente los datos de entrenamiento de cada época, para que cada época utilice un conjunto de datos ligeramente diferente. El número real de imágenes de entrenamiento de cada época no cambia. Las imágenes transformadas no se almacenan en la memoria.
Una
imageInputLayer
normaliza imágenes utilizando la media de las imágenes aumentadas, no la media del conjunto de datos original. Esta media se calcula una vez para la primera época aumentada. El resto de las épocas utilizan la misma media, de modo que la imagen media no cambia durante el entrenamiento.
De forma predeterminada, un augmentedImageDatastore
solo cambia el tamaño de las imágenes para ajustarlas al tamaño de salida. Puede configurar opciones para transformar imágenes adicionales empleando un objeto imageDataAugmenter
.
Creación
Sintaxis
Descripción
auimds = augmentedImageDatastore(outputSize,
crea un almacén de datos de imágenes aumentado para problemas de clasificación utilizando imágenes de un almacén de datos de imágenes imds
)imds
y establece la propiedad
.OutputSize
auimds = augmentedImageDatastore(outputSize,
crea un almacén de datos de imágenes aumentado para predecir respuestas de datos de imágenes en el arreglo X
)X
.
auimds = augmentedImageDatastore(outputSize,
crea un almacén de datos de imágenes aumentado para problemas de clasificación y regresión. La tabla tbl
)tbl
contiene predictores y respuestas.
auimds = augmentedImageDatastore(outputSize,
crea un almacén de datos de imágenes aumentado para problemas de clasificación y regresión. La tabla tbl
,responseNames
)tbl
contiene predictores y respuestas. El argumento responseNames
especifica las variables de respuesta en tbl
.
auimds = augmentedImageDatastore(___,Name,Value)
crea un almacén de datos de imágenes aumentado utilizando pares nombre-valor para establecer las propiedades
, ColorPreprocessing
, DataAugmentation
y OutputSizeMode
. Puede especificar varios pares nombre-valor. Encierre el nombre de cada propiedad entre comillas.DispatchInBackground
Por ejemplo, augmentedImageDatastore([28,28],myTable,'OutputSizeMode','centercrop')
crea un almacén de datos de imágenes aumentado que recorta la parte central de las imágenes.
Argumentos de entrada
Propiedades
Funciones del objeto
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 |
Ejemplos
Sugerencias
Puede visualizar muchas imágenes transformadas en la misma figura utilizando la función
imtile
. Por ejemplo, este código muestra un minilote de imágenes transformadas desde un almacén de datos de imágenes aumentado llamadoauimds
.minibatch = read(auimds); imshow(imtile(minibatch.input))
De forma predeterminada, cambiar el tamaño es la única operación de preprocesamiento de imágenes que se realiza en las imágenes. Para habilitar operaciones de preprocesamiento adicionales, utilice el argumento de par nombre-valor
con un objetoDataAugmentation
imageDataAugmenter
. Cada vez que se leen imágenes del almacén de datos de imágenes aumentado, se aplica una combinación aleatoria diferente de operaciones de preprocesamiento a cada imagen.
Historial de versiones
Introducido en R2018a