要训练网络并对新数据进行预测,您的图像必须与网络的输入大小匹配。如果您需要调整图像的大小以匹配网络,那么您可以将数据缩放或裁剪到所需的大小。
您可以通过应用随机有效地增加培训数据量增强到您的数据。增强还使您可以培训网络以不变地扭曲图像数据中的扭曲。例如,您可以将随机旋转添加到输入图像,使得网络是不变的输入图像中的旋转的存在。一个AugmentedimageGedataStore
提供一种方便的方法来应用有限的增强件到2-D图像以进行分类问题。
对于更高级的预处理操作,对回归问题的预处理图像或预处理3-D体积映像,可以从内置数据存储开始。您还可以通过使用根据自己的管道进行预处理图像转变
和结合
职能。
您可以将图像数据存储为数字数组,一个ImageageAtastore.
对象或表格。一个ImageageAtastore.
使您能够从太大而无法放入内存的图像集合批量导入数据。您可以使用增强的图像数据存储或调整大小的4-D数组进行训练、预测和分类。您可以使用调整大小的3-D数组仅用于预测和分类。
有两种方法可以调整图像数据的大小以匹配网络的输入大小。
重新缩放将图像的高度和宽度乘以缩放因子。如果缩放因子在垂直和水平方向上不相同,则重新扫描改变像素的空间范围和纵横比。
裁剪提取图像的子区域并保留每个像素的空间范围。您可以从中心或从图像中的随机位置裁剪图像。
调整选项大小 | 数据格式 | 调整功能 | 示例代码 |
---|---|---|---|
重新开始 |
|
imresize |
IM = imresize(i,输出);
|
|
AugmentedimageGedataStore |
auimds = augmentedimagedataStore(输出,i);
|
|
裁剪 |
|
IMCrop. (图像处理工具箱) |
IM = Imcrop(I,Rect);
|
|
imcrop3. (图像处理工具箱) |
IM = imcrop3(i,长方体);
|
|
|
AugmentedimageGedataStore |
auimds = augmentedimagedataStore(输出,我,'outputsizeMode',m);
指定 指定 |
对于图像分类问题,您可以使用AugmentedimageGedataStore
增加具有调整大小,旋转,反射,剪切和转换变换的随机组合的图像。
该图展示了如何Trainnetwork.
使用增强图像数据存储来转换每个时代的培训数据。当您使用数据增强时,每个图像的一个随机增强版本在每个训练时使用。有关工作流程的示例,请参阅用增强图像列车网络。
指定培训图像。
配置图像转换选项,例如旋转角度范围,以及是否通过创建旋转反射,通过创建一个ImagedataAugmenter.
。
提示
要预览应用于样本图像的转换,请使用增加
功能。
创建一个AugmentedimageGedataStore
。指定培训图像,输出图像的大小,以及ImagedataAugmenter.
。输出图像的大小必须与大小兼容imageInputlayer.
网络。
培训网络,将增强图像数据存储指定为数据源Trainnetwork.
。对于训练的每次迭代,增强图像数据存储在迷你批量数据中将变换的随机组合应用于迷你批量数据中的图像。
当您使用增强图像数据存储作为训练图像的来源时,数据存储随机仔细使用每个时代的训练数据,以便每个时代使用略微不同的数据集。每个时期的训练图像的实际数量不会改变。变换的图像未存储在内存中。
某些数据存储在读取批次数据时执行特定和有限的图像预处理操作。这些特定于应用程序的数据存储列在表中列出。您可以将这些数据存储作为使用深度学习工具箱™的深度学习应用程序的培训,验证和测试数据集。所有这些数据存储都以支持的格式返回数据金宝appTrainnetwork.
。
数据存储 | 描述 |
---|---|
AugmentedimageGedataStore |
涂抹随机仿射几何变换,包括调整深度神经网络的调整,旋转,反射,剪切和翻译。例如,看到使用净化网络转移学习。 |
PixellabelimagedAtastore. (电脑视觉工具箱) |
将相同的仿射几何变换应用于图像和相应的地面真理标签,用于训练语义分段网络(需要计算机Vision Toolbox™)。例如,看到利用深度学习的语义分割。 |
RandompatchExtractionDataStore. (图像处理工具箱) |
从图像或像素标签图像中提取多对随机贴片(需要图像处理工具箱™)。您可选择将相同的随机仿射几何变换应用于成对的补丁。例如,看到单幅图像超分辨率使用深度学习。 |
denoisingimagedatastore (图像处理工具箱) |
为培训去噪网络应用随机生成的高斯噪声(需要图像处理工具箱)。 |
要执行更一般和复杂的图像预处理操作,而不是由应用程序特定的数据存储提供,可以使用转变
和结合
职能。有关更多信息,请参阅DataStores深入学习。
这转变
函数创建一个更改的数据存储形式,称为一个底层数据存储,通过根据您定义的转换函数转换由底层数据存储读取的数据。
自定义转换函数必须以返回的格式接受数据读
底层数据存储的功能。用于图像数据ImageageAtastore.
,格式取决于阅读
财产 。
什么时候阅读
是1,转换函数必须接受整数阵列。阵列的大小与中的图像类型一致ImageageAtastore.
。例如,灰度图像具有尺寸M.-经过-N.,TrueColor图像具有尺寸M.-经过-N.-By-3,以及多光谱图像C频道具有尺寸M.-经过-N.-经过-C。
什么时候阅读
大于1,转换函数必须接受单元数据的单元格阵列。每个元素对应于批处理中的图像。
这转变
函数必须返回与网络输入大小匹配的数据。这转变
功能不支持一对多观察映射。金宝app
提示
这转变
函数支持底层时预取金宝appImageageAtastore.
读取一批JPG或PNG图像文件。对于这些图像类型,请勿使用readfcn.
争论ImageageAtastore.
要应用图像预处理,因为此选项通常会显着较慢。如果您使用自定义读取功能,那么ImageageAtastore.
没有预取。
这结合
函数串联从多个数据存储读取的数据,并在数据存储之间维护奇偶校验。
将数据连接到双列表或双列单元阵列中,用于具有单个输入的网络,例如图像到图像回归网络。
将数据连接到A(numinputs.
+1)用于培训具有多个输入的网络的科学单元格数组。
Trainnetwork.
|imresize
|转变
|结合
|ImageageAtastore.