augmentedImageDatastore
变换批量以增强图像数据
说明
一个增强图像数据存储可变换为多个批量的训练、验证、测试和预测数据,并可选择性地进行预处理,如调整大小、旋转和翻转。调整图像大小,使其与深度学习网络的输入大小兼容。使用随机化预处理操作增强训练图像数据,以帮助防止网络过拟合和记忆训练图像的具体细节。
要使用增强的图像训练网络,请为 trainnet
函数提供 augmentedImageDatastore
。有关详细信息,请参阅预处理图像以进行深度学习。
当您使用增强的图像数据存储作为训练图像的数据源时,数据存储会随机扰动每轮的训练数据,因此每轮使用的数据集略有不同。每轮的训练图像的实际数量不变。经过变换的图像不会存储在内存中。
imageInputLayer
使用增强的图像的均值而不是原始数据集的均值来归一化图像。对于增强的第一轮训练,将计算一次此均值。所有其他轮训练都使用相同的均值,因此平均图像在训练期间不会更改。使用增强的图像数据存储对要用于深度学习的图像进行高效预处理,包括调整图像大小。不要使用
ImageDatastore
对象的ReadFcn
选项。ImageDatastore
允许使用预取功能批量读取 JPG 或 PNG 图像文件。如果您将ReadFcn
选项设置为自定义函数,则ImageDatastore
不会预取,并且通常会明显变慢。
默认情况下,augmentedImageDatastore
仅调整图像大小以适应输出大小。您可以使用 imageDataAugmenter
配置其他图像变换的选项。
创建对象
语法
描述
auimds = augmentedImageDatastore(outputSize,
使用图像数据存储 imds
)imds
中的图像创建一个用于分类问题的增强图像数据存储,并设置
属性。OutputSize
auimds = augmentedImageDatastore(outputSize,
创建一个增强图像数据存储,用于预测数组 X
)X
中图像数据的响应。
auimds = augmentedImageDatastore(outputSize,
创建一个用于分类问题和回归问题的增强图像数据存储。表 tbl
)tbl
包含预测变量和响应。
auimds = augmentedImageDatastore(outputSize,
创建一个用于分类问题和回归问题的增强图像数据存储。表 tbl
,responseNames
)tbl
包含预测变量和响应。responseNames
参量指定 tbl
中的响应变量。
auimds = augmentedImageDatastore(___,Name,Value)
通过使用名称-值对组设置
、ColorPreprocessing
、DataAugmentation
和 OutputSizeMode
属性,来创建一个增强图像数据存储。您可以指定多个名称-值对组。用引号将每个属性名称引起来。DispatchInBackground
例如,augmentedImageDatastore([28,28],myTable,'OutputSizeMode','centercrop')
会创建一个从中心裁剪图像的增强图像数据存储。
输入参量
属性
对象函数
combine | 合并来自多个数据存储的数据 |
hasdata | 确定是否有数据可读取 |
numpartitions | 数据存储分区数 |
partition | 划分数据存储 |
partitionByIndex | Partition augmentedImageDatastore according to
indices |
preview | 预览数据存储中的数据子集 |
read | Read data from augmentedImageDatastore |
readall | 读取数据存储中的所有数据 |
readByIndex | Read data specified by index from
augmentedImageDatastore |
reset | 将数据存储重置为初始状态 |
shuffle | Shuffle data in augmentedImageDatastore |
subset | 创建数据存储或 FileSet 的子集 |
transform | 变换数据存储 |
isPartitionable | 确定数据存储是否可分区 |
isShuffleable | 确定数据存储是否可乱序 |
示例
提示
通过使用
imtile
函数,您可以在同一图窗中可视化许多变换后的图像。例如,以下代码显示来自名为auimds
的增强图像数据存储的一个小批量的变换图像。minibatch = read(auimds); imshow(imtile(minibatch.input))
默认情况下,调整大小是对图像执行的唯一图像预处理操作。通过将
名称-值对组参量与DataAugmentation
imageDataAugmenter
对象结合使用,启用其他预处理操作。每次从增强图像数据存储中读取图像时,预处理操作的不同随机组合都会应用于每个图像。
版本历史记录
在 R2018a 中推出