主要内容

denoisingImageDatastore

去噪图像数据存储

描述

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

这个对象需要你有深度学习工具箱™。

请注意

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

创建

描述

dnimds = denoisingImageDatastore(洛桑国际管理发展学院创建去噪图像数据存储;dnimds使用来自映像数据存储的映像洛桑国际管理发展学院.为了产生有噪声的图像补丁,去噪图像数据存储随机从洛桑国际管理发展学院然后加入标准差为的零均值高斯白噪声0.1到图像补丁。

例子

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

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

输入参数

全部展开

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

名称-值参数

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

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

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

补丁大小,指定为由逗号分隔的对组成“patchSize”一个标量或者两个元素的正整数向量。的前两个元素PatchSize财产。

  • 如果“patchSize”是标量,那么这些斑块是正方形的。

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

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

属性

全部展开

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

数据类型:字符

在训练、预测和分类过程中在后台调度观察结果,指定为真正的.要使用后台调度,您必须有并行计算工具箱™。如果DispatchInBackground真正的然后你就有了并行计算工具箱denoisingImageDatastore异步读取补丁,添加噪声,并对补丁对进行排队。

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

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

  • 如果GaussianNoiseLevel是一个2元向量,那么它指定了一个标准差范围[stdminstdmax]。加入的零均值高斯白噪声的标准差对于每个图像patch是唯一的,并且从一个均匀分布随机采样,范围为[stdminstdmax]。

数据类型:|

每批中返回的观测值的个数。的值可以修改MiniBatchSize仅在创建数据存储之后。用于训练、预测或分类MiniBatchSize属性中定义的小批量大小trainingOptions(深度学习工具箱)

该属性是只读的。

去噪图像数据存储中的观测总数。观察的次数是一个训练历元的长度。

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

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

该属性是只读的。

补丁大小,指定为正整数的3元素向量。创建去噪图像数据存储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 = denoisingImageDatastore(imds,“PatchesPerImage”, 512,“PatchSize”, 50岁,“GaussianNoiseLevel”(0.01 - 0.1),“ChannelFormat”“灰度”
dds = denoisingImageDatastore with properties: PatchesPerImage: 512 PatchSize: [50 50 1] GaussianNoiseLevel: [0.0100 0.1000] ChannelFormat: 'grayscale' MiniBatchSize: 128 NumObservations: 19456 DispatchInBackground: 0

提示

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

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

    Minibatch = preview(dnimds);蒙太奇(minibatch.input)图蒙太奇(minibatch.response)

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

版本历史

在R2018a中引入