主要内容

用于深度学习的图像预处理

要训练网络并对新数据进行预测,您的图像必须与网络的输入大小匹配。如果您需要调整图像的大小以匹配网络,那么您可以将数据缩放或裁剪到所需的大小。

通过应用随机化方法,可以有效地增加训练数据量增强你的数据。增强还使您能够训练网络,使其对图像数据中的失真保持不变。例如,可以将随机旋转添加到输入图像中,以便网络对输入图像中旋转的存在保持不变。一增强图像数据存储提供了一种方便的方法,可以对二维图像应用有限的增强集来解决分类问题。

对于更高级的预处理操作,要预处理回归问题的图像,或预处理三维体积图像,可以从内置数据存储开始。您还可以使用使改变结合功能。

使用重缩放和裁剪调整图像大小

您可以将图像数据存储为数字数组图像数据存储对象或表。一图像数据存储使您能够从太大而无法放入内存的图像集合批量导入数据。您可以使用增强的图像数据存储或调整大小的4-D数组进行训练、预测和分类。您可以使用调整大小的3-D数组仅用于预测和分类。

有两种方法可以调整图像数据的大小以匹配网络的输入大小。

  • “重缩放”将图像的高度和宽度乘以比例因子。如果缩放因子在垂直和水平方向上不相同,则重新缩放会更改像素的空间范围和纵横比。

  • 裁剪提取图像的一个子区域并保留每个像素的空间范围。您可以从图像的中心或随机位置裁剪图像。

调整大小选项 数据格式 调整功能 示例代码
重新缩放
  • 表示单色或多光谱图像的三维阵列

  • 表示灰度图像堆栈的三维数组

  • 表示图像堆栈的4-D数组

调整大小

im=imresize(I,outputSize);

输出大小指定重新缩放图像的尺寸。

  • 表示图像堆栈的4-D数组

  • 图像数据存储

  • 桌子

增强图像数据存储

auimds=增强图像数据存储(outputSize,I);

输出大小指定重新缩放图像的尺寸。

种植
  • 表示单色或多光谱图像的三维阵列

imcrop(图像处理工具箱)

im=imcrop(I,rect);

直肠指定2d裁剪窗口的大小和位置。

  • 表示灰度图像堆栈的三维数组

  • 表示彩色或多光谱图像堆栈的4-D阵列

imcrop3(图像处理工具箱)

im=imcrop3(I,长方体);

长方体指定3d裁剪窗口的大小和位置。

  • 表示图像堆栈的4-D数组

  • 图像数据存储

  • 桌子

增强图像数据存储

auimds=增强图像数据存储(outputSize,I,“OutputSizeMode”,m);

具体说明M“中心作物”从输入图像的中心进行裁剪。

具体说明M“randcrop”从输入图像中的随机位置裁剪。

用随机几何变换增强训练图像

对于图像分类问题,可以使用增强图像数据存储使用大小调整、旋转、反射、剪切和平移变换的随机组合来增强图像。

图中显示了如何列车网络使用增强图像数据存储来转换每个历元的训练数据。使用数据增强时,在每个训练历元中使用每个图像的一个随机增强版本。有关工作流的示例,请参阅具有增强图像的列车网络.

  1. 指定训练图像。

  2. 配置图像变换选项,例如旋转角度的范围以及是否随机应用反射,方法是创建图像数据增强器.

    提示

    要预览应用于示例图像的变换,请使用加强作用

  3. 创建一个增强图像数据存储. 指定训练图像、输出图像的大小以及图像数据增强器。输出图像的大小必须与图像的大小兼容图像输入层网络的一部分。

  4. 训练网络,指定增强图像数据存储作为列车网络。对于每个训练迭代,增强图像数据存储将随机转换组合应用于小批量训练数据中的图像。

    当您使用增强图像数据存储作为训练图像源时,数据存储会随机扰动每个历元的训练数据,以便每个历元使用稍微不同的数据集。每个历元的实际训练图像数不会改变。转换后的图像不会存储在内存中。

使用内置数据存储执行其他图像处理操作

某些数据存储在读取一批数据时执行特定且有限的图像预处理操作。表中列出了这些特定于应用程序的数据存储。您可以将这些数据存储用作使用深度学习工具箱的深度学习应用程序的培训、验证和测试数据集的来源™. 所有这些数据存储都以支持的格式返回数据万博1manbetx列车网络.

数据存储 描述
增强图像数据存储 应用随机仿射几何变换,包括调整大小、旋转、反射、剪切和平移,以训练深层神经网络。有关示例,请参阅基于预训练网络的迁移学习.
像素标签图像数据存储(计算机视觉工具箱) 对图像和相应的地面真值标签应用相同的仿射几何变换来训练语义分割网络(需要计算机视觉工具箱)™). 有关示例,请参见基于深度学习的语义分割.
随机抽取数据存储(图像处理工具箱) 从图像或像素标签图像中提取多对随机面片(需要图像处理工具箱™). 您可以选择对面片对应用相同的随机仿射几何变换。有关示例,请参阅基于深度学习的单幅图像超分辨率处理.
去噪图像数据存储(图像处理工具箱) 应用随机生成的高斯噪声训练去噪网络(需要图像处理工具箱)。

使用合并和变换应用自定义图像处理管道

要执行比特定于应用程序的数据存储提供的更一般和复杂的图像预处理操作,可以使用使改变结合功能。有关详细信息,请参阅用于深度学习的数据存储.

使用图像数据转换数据存储

这个使改变函数创建一种经过修改的数据存储形式,称为底层数据存储,根据定义的转换函数转换基础数据存储读取的数据。

自定义转换函数必须接受阅读底层数据存储的函数。用于图像数据存储,格式取决于可读大小所有物

  • 什么时候可读大小为1时,转换函数必须接受整数数组。阵列的大小与中的图像类型一致图像数据存储. 例如,灰度图像具有尺寸M-借-N,truecolor图像具有维度M-借-N-by-3和具有C通道具有尺寸M-借-N-借-C.

  • 什么时候可读大小大于1时,转换函数必须接受图像数据的单元格数组。每个元素对应于批处理中的一个图像。

这个使改变函数必须返回与网络输入大小匹配的数据。这个使改变函数不支持一对多的观测映射。万博1manbetx

提示

这个使改变函数支持在底层万博1manbetx图像数据存储读取一批JPG或PNG图像文件。对于这些图像类型,不要使用readFcn论据图像数据存储应用图像预处理,因为此选项通常速度明显较慢。如果使用自定义读取函数,则图像数据存储不预取。

将数据存储与图像数据相结合

这个结合函数将从多个数据存储中读取的数据连接起来,并保持数据存储之间的奇偶校验。

  • 将数据连接到一个两列表或两列单元格数组中,用于使用单个输入训练网络,例如图像到图像的回归网络。

  • 将数据连接到(努明普茨+1) -用于具有多个输入的训练网络的列单元阵列。

另见

||||

相关实例

更多关于