augmentedImageDatastore
变换批量以增强图像数据
说明
一个增强图像数据存储可变换为多个批量的训练、验证、测试和预测数据,并可选择性地进行预处理,如调整大小、旋转和翻转。调整图像大小,使其与深度学习网络的输入大小兼容。使用随机化预处理操作增强训练图像数据,以帮助防止网络过拟合和记忆训练图像的具体细节。
要使用增强的图像训练网络,请为 trainnet
函数提供 augmentedImageDatastore
。有关详细信息,请参阅预处理图像以进行深度学习。
当您使用增强的图像数据存储作为训练图像的数据源时,数据存储会随机扰动每轮的训练数据,因此每轮使用的数据集略有不同。每轮的训练图像的实际数量不变。经过变换的图像不会存储在内存中。
imageInputLayer
使用增强的图像的均值而不是原始数据集的均值来归一化图像。对于增强的第一轮训练,将计算一次此均值。所有其他轮训练都使用相同的均值,因此平均图像在训练期间不会更改。使用增强的图像数据存储对要用于深度学习的图像进行高效预处理,包括调整图像大小。不要使用
ImageDatastore
对象的ReadFcn
选项。ImageDatastore
允许使用预取功能批量读取 JPG 或 PNG 图像文件。如果您将ReadFcn
选项设置为自定义函数,则ImageDatastore
不会预取,并且通常会明显变慢。
默认情况下,augmentedImageDatastore
仅调整图像大小以适应输出大小。您可以使用 imageDataAugmenter
配置其他图像变换的选项。
创建对象
语法
描述
auimds = augmentedImageDatastore(
使用图像数据存储 outputSize
,imds
)imds
中的图像创建一个用于分类问题的增强图像数据存储。数据存储将图像大小调整为 outputSize
指定的高度和宽度。
auimds = augmentedImageDatastore(
创建一个用于分类问题和回归问题的增强图像数据存储。数组 outputSize
,X
,Y
)X
包含预测变量,数组 Y
包含分类标签或数值响应。
auimds = augmentedImageDatastore(
创建一个增强图像数据存储,用于预测数组 outputSize
,X
)X
中图像数据的响应。
auimds = augmentedImageDatastore(
创建一个用于分类问题和回归问题的增强图像数据存储。表 outputSize
,tbl
)tbl
包含预测变量和响应。
auimds = augmentedImageDatastore(
创建一个用于分类问题和回归问题的增强图像数据存储。表 outputSize
,tbl
,responseNames
)tbl
包含预测变量和响应。responseNames
参量指定 tbl
中的响应变量。
auimds = augmentedImageDatastore(___,
还使用名称-值参量设置可写属性。例如,Name=Value
)augmentedImageDatastore([28,28],imds,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 中推出