要训练网络并对新数据进行预测,图像必须与网络的输入大小相匹配。如果需要调整图像大小以匹配网络,则可以将数据重新缩放或裁剪到所需大小。
您可以通过应用随机化方法有效地增加训练数据量增强你的数据。增强还使您能够训练网络,使其对图像数据中的失真保持不变。例如,可以将随机旋转添加到输入图像中,以便网络对输入图像中旋转的存在保持不变。一增强图像数据存储
提供了一种方便的方法,将有限的增强集应用于二维图像的分类问题。
对于更高级的预处理操作,如为回归问题预处理图像,或预处理3-D体积图像,可以从内置数据存储开始。您还可以根据您自己的管道使用变换
和结合
功能。
您可以将图像数据存储为数字数组图像数据存储
对象或表。一图像数据存储
使您能够从太大而无法放入内存的图像集合中批量导入数据。您可以使用增强的图像数据存储或调整大小的4-D数组进行训练、预测和分类。调整大小的三维数组只能用于预测和分类。
有两种方法可以调整图像数据的大小以匹配网络的输入大小。
“重缩放”将图像的高度和宽度乘以比例因子。如果缩放因子在垂直和水平方向上不相同,则重新缩放会更改像素的空间范围和纵横比。
裁剪提取图像的一个子区域,并保留每个像素的空间范围。你可以从图像的中心或随机位置裁剪图像。
调整大小选项 | 数据格式 | 调整大小功能 | 示例代码 |
---|---|---|---|
重新缩放 |
|
imresize |
im=imresize(I,outputSize);
|
|
增强图像数据存储 |
auimds = augmentedImageDatastore (outputSize,我);
|
|
种植 |
|
imcrop (图像处理工具箱) |
im=imcrop(I,rect);
|
|
imcrop3 (图像处理工具箱) |
im=imcrop3(I,长方体);
|
|
|
增强图像数据存储 |
auimds = augmentedImageDatastore (outputSize,我,“OutputSizeMode”,m);
具体说明 具体说明 |
对于图像分类问题,可以使用增强图像数据存储
使用调整大小、旋转、反射、剪切和平移转换的随机组合来增强图像。
这个图表展示了trainNetwork
使用增强图像数据存储来转换每个历元的训练数据。使用数据增强时,在每个训练历元中使用每个图像的一个随机增强版本。有关工作流的示例,请参阅带有增强图像的列车网络.
指定训练图像。
配置图像变换选项,如旋转角度的范围和是否随机应用反射,通过创建图像数据增强器
.
提示
要预览应用于示例图像的转换,请使用加强
作用
创建一个增强图像数据存储
. 指定训练图像、输出图像的大小以及图像数据增强器
。输出图像的大小必须与图像的大小兼容图像输入层
网络的一部分。
训练网络,指定扩充的图像数据存储作为数据源trainNetwork
.对于训练的每次迭代,增强图像数据存储对小批训练数据中的图像应用随机的变换组合。
当您使用扩充图像数据存储作为训练图像的来源时,该数据存储将随机扰动每个epoch的训练数据,因此每个epoch使用略有不同的数据集。每个纪元的实际训练图像数量没有变化。转换后的图像不存储在内存中。
一些数据存储在读取一批数据时执行特定的和有限的图像预处理操作。表中列出了这些特定于应用程序的数据存储。您可以使用这些数据存储作为使用深度学习工具箱™的深度学习应用程序的培训、验证和测试数据集的来源。所有这些数据存储都以支持的格式返回数据万博1manbetxtrainNetwork
.
数据存储 | 描述 |
---|---|
增强图像数据存储 |
应用随机仿射几何变换,包括调整大小、旋转、反射、剪切和平移,用于训练深度神经网络。例如,请参见使用预训练网络进行迁移学习. |
像素标签图像数据存储 (计算机视觉工具箱) |
对图像和相应的地面真值标签应用相同的仿射几何变换来训练语义分割网络(需要计算机视觉工具箱)™). 有关示例,请参见基于深度学习的语义分割. |
随机抽取数据存储 (图像处理工具箱) |
从图像或像素标签图像中提取多对随机patch(需要图像处理工具箱™)。你也可以选择对这对补丁应用相同的随机仿射几何变换。例如,请参见基于深度学习的单幅图像超分辨率处理. |
去噪图像数据存储 (图像处理工具箱) |
应用随机生成的高斯噪声训练去噪网络(需要图像处理工具箱)。 |
要执行比特定于应用程序的数据存储提供的更一般和复杂的图像预处理操作,可以使用变换
和结合
功能。有关详细信息,请参阅用于深度学习的数据存储.
这个变换
函数创建数据存储的改变形式,称为底层数据存储,根据定义的转换函数转换基础数据存储读取的数据。
属性返回的格式中,自定义转换函数必须接受读
底层数据存储的功能。的图像数据图像数据存储
,格式取决于可读大小
所有物
当可读大小
为1时,转换函数必须接受整数数组。阵列的大小与中的图像类型一致图像数据存储
. 例如,灰度图像具有尺寸M——- - - - - -N,一个真彩色图像有尺寸M——- - - - - -N-by-3的多光谱图像C通道具有尺寸M——- - - - - -N——- - - - - -C.
当可读大小
大于1时,转换函数必须接受图像数据的单元格数组。每个元素对应于批处理中的一个图像。
这个变换
函数必须返回与网络输入大小匹配的数据。这个变换
函数不支持一对多的观测映射。万博1manbetx
提示
这个变换
函数在底层时支持预万博1manbetx取图像数据存储
读取一批JPG或PNG图像文件。对于这些图像类型,不要使用readFcn
的观点图像数据存储
应用图像预处理,因为此选项通常速度明显较慢。如果使用自定义读取函数,则图像数据存储
不预取。
这个结合
函数将从多个数据存储中读取的数据连接起来,并保持数据存储之间的奇偶校验。
将数据连接到一个两列表或两列单元阵列中,以使用单个输入训练网络,例如图像到图像的回归网络。
将数据连接到(numInputs
+1) -用于具有多个输入的训练网络的列单元阵列。
trainNetwork
|imresize
|变换
|结合
|图像数据存储