主要内容

denoisingImageDatastore

去噪图像数据存储

描述

使用一个denoisingImageDatastore对象中的图像生成批量的噪声图像补丁和相应的噪声补丁ImageDatastore.这些补丁被用来训练去噪深度神经网络。

此对象要求您拥有深度学习工具箱™。

请注意

当您使用去噪图像数据存储作为训练数据的来源时,数据存储为每个epoch的图像补丁添加随机噪声,以便每个epoch使用略微不同的数据集。每个纪元的实际训练图像数量增加了一个因子PatchesPerImage.噪声图像补丁和相应的噪声补丁不存储在内存中。

创建

描述

dnimds =去噪imagedatastore (洛桑国际管理发展学院创建去噪图像数据存储,dnimds使用图像数据存储中的图像洛桑国际管理发展学院.为了产生有噪声的图像补丁,去噪图像数据存储随机从原始图像中提取洛桑国际管理发展学院然后添加标准偏差为的零均值高斯白噪声0.1到图像补丁。

例子

dnimds =去噪imagedatastore (洛桑国际管理发展学院名称,值使用名称-值对指定二维图像补丁大小或设置PatchesPerImageGaussianNoiseLevelChannelFormat,DispatchInBackground属性。可以指定多个名称-值对。将每个参数或属性名用引号括起来。

例如,denoisingImageDatastore (imd的PatchesPerImage 40)创建去噪图像数据存储,并从图像数据存储中的每张图像随机生成40个噪声补丁,洛桑国际管理发展学院

输入参数

全部展开

映像数据存储,指定为ImageDatastore对象。

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:denoisingImageDatastore (imd, patchSize, 48)创建一个48像素方形补丁大小的去噪图像数据存储。

补丁大小,由逗号分隔的对组成“patchSize”和带有正整数值的标量或2元素向量。属性的前两个元素PatchSize财产。

  • 如果“patchSize”为标量,则补片为方形。

  • 如果“patchSize”是形式为[的2元向量rc],则第一个元素指定补丁的行数,第二个元素指定列数。

数据类型:||int8|int16|int32|uint8|uint16|uint32

属性

全部展开

通道格式,指定为“灰度”“rgb”

数据类型:字符

在训练、预测和分类期间,在后台发送观察结果,具体为真正的.要使用后台调度,必须拥有并行计算工具箱™。如果DispatchInBackground真正的然后你就有了并行计算工具箱denoisingImageDatastore异步读取补丁、添加噪声、队列补丁对。

作为图像类最大值的一个分数的高斯噪声标准偏差,指定为范围为[0,1]的标量或2元素向量。

  • 如果GaussianNoiseLevel为标量,则添加的零均值高斯白噪声的标准差对于所有图像补丁都是相同的。

  • 如果GaussianNoiseLevel为2元向量,则它指定一个标准偏差范围[stdminstdmax].添加的零均值高斯白噪声的标准差对于每个图像补丁都是唯一的,并且是从均匀分布中随机采样,其范围为[stdminstdmax].

数据类型:|

每批中返回的观察数。你可以改变的值MiniBatchSize只有在创建数据存储之后。对于训练、预测或分类,使用MiniBatchSize属性中定义的小批处理大小trainingOptions(深度学习工具箱)

此属性是只读的。

去噪图像数据存储中的观测总数。观察的数量是一个训练周期的长度。

每张图像的随机补丁数,指定为正整数。

数据类型:||int8|int16|int32|uint8|uint16|uint32

此属性是只读的。

补丁大小,指定为正整数的3元素向量。如果您通过指定a来创建去噪图像数据存储patchSize参数的前两个元素PatchSize属性的值设置patchSize论点。

ChannelFormat属性的第三个元素PatchSize财产。

  • 如果ChannelFormat“灰度”,则将所有彩色图像转换为灰度和的第三元素PatchSize1

  • 如果ChannelFormat“RGB”,然后复制灰度图像来模拟RGB图像和的第三元素PatchSize3.

数据类型:||int8|int16|int32|uint8|uint16|uint32

对象的功能

结合 组合来自多个数据存储的数据
hasdata 确定是否有数据可以读取
partitionByIndex 分区denoisingImageDatastore根据指标
预览 预览数据存储中的数据子集
读取数据denoisingImageDatastore
readall 读取数据存储中的所有数据
readByIndex 读取索引中指定的数据denoisingImageDatastore
重置 将数据存储重置为初始状态
洗牌 Shuffle数据存储中的数据
变换 变换数据存储
isPartitionable 确定数据存储是否可分区
isShuffleable 确定数据存储是否可洗牌

例子

全部折叠

获取一个映像数据存储。本例中的数据存储包含彩色图像。

setDir = fullfile(toolboxdir(“图片”),“imdata”);imds = imageDatastore(setDir,“FileExtensions”, {“jpg”});

创建一个denoisingImageDatastore对象,该对象从图像数据存储中的每个图像创建许多补丁,并向这些补丁添加高斯噪声。设置可选的PatchesPerImagePatchSizeGaussianNoiseLevel,ChannelFormat的属性denoisingImageDatastore使用名称-值对。当你设置ChannelFormat财产到'灰度”,denoisingImageDatastore将所有彩色图像转换为灰度。

dnds =去噪imagedatastore (imds,...“PatchesPerImage”, 512,...“PatchSize”, 50岁,...“GaussianNoiseLevel”(0.01 - 0.1),...“ChannelFormat”“灰度”
dnds = denoisingImageDatastore with properties: PatchesPerImage: 512 PatchSize: [50 50 1] GaussianNoiseLevel: [0.0100 0.1000] ChannelFormat: 'grayscale' MiniBatchSize: 128 NumObservations: 16896 DispatchInBackground: 0

提示

  • 训练一个具有高斯噪声标准差范围的深度神经网络比训练一个单一高斯噪声标准差的网络要困难得多。与单个噪声级案例相比,您应该创建更多补丁,并且训练可能需要更多时间。

  • 要可视化去噪图像数据存储中的数据,可以使用预览函数,该函数返回表中数据的子集。的输入变量包含有噪声的图像补丁和响应变量包含相应的噪声补丁。控件可以可视化同一图形中的所有噪声图像补丁或噪声补丁蒙太奇函数。例如,这段代码显示去噪图像数据存储名为dnimds

    Minibatch =预览(dnimds);蒙太奇(minibatch.input)

  • 每次从去噪图像数据存储中读取图像时,每个图像都会添加不同的随机高斯噪声量。

版本历史

在R2018a中引入