图像处理工具箱™和深度学习工具箱™提供了许多选择,从图像中的噪声去除。最简单和最快的解决方案是使用内置的降噪预先训练神经网络,被称为DnCNN。然而,预训练的网络不提供在有噪声的认可类型的灵活性。为了更灵活,使用预定义的层培养自己的网络,或者培养出完全自定义的去噪神经网络。
您可以使用内置的预训练DnCNN网络,而训练的网络挑战,以去除高斯噪声。与预训练的网络噪声消除有以下限制:
噪声去除仅适用于2-d单通道图像。如果有多个颜色通道,或者如果与3- d图像时,通过单独地将每个信道或平面噪声除去。对于一个示例,请参见从彩色图像使用预训练神经网络去噪音。
网络仅识别高斯噪声,用标准偏差的范围有限。
要加载预训练DnCNN网络,使用denoisingNetwork
功能。然后,通过网络DnCNN和嘈杂的2-d单通道图像到denoiseImage
。该图像示出工作流使用预训练DnCNN网络去噪的图像。
你可以训练网络以检测较大范围的高斯从灰度图像噪声标准偏差,从内置的由图像处理工具箱提供层。为了使用预定义的训练层去噪网络,遵循这些步骤。该图显示了深灰色框培训工作流程。
创建ImageDatastore
对象,其存储原始图像。
创建一个denoisingImageDatastore
对象生成从原始图像嘈杂的训练数据。噪声指定高斯的范围内标准偏差,设置GaussianNoiseLevel
属性。您必须使用默认值PatchSize
(50
)和ChannelFormat
(“灰度”
),使得训练数据的大小的网络的输入尺寸相匹配。
获取使用预先给定的去噪层dnCNNLayers
功能。
定义使用培训选项trainingOptions
功能。
训练网络,指定去噪图像数据存储,作为数据源trainNetwork
。对于训练每次迭代,去噪图像数据存储通过随机剪切从原始图像生成一个小批量的训练数据的ImageDatastore
,然后加入随机生成的零均值高斯白噪声每个图像补丁。所添加的噪声的标准偏差是对于每个图像补丁唯一的,并具有由所指定的范围内的值GaussianNoiseLevel
去噪图像数据存储的性能。
你已经训练网络后,通过网络和嘈杂的灰度图像denoiseImage
。该图显示了在浅灰色框中的去噪工作流程。
为了培养具有最大的灵活性降噪神经网络,您可以使用自定义数据存储,生成训练数据或定义自己的网络架构。例如,您可以:
训练检测更多种类的噪声,如非高斯噪声分布,在单信道的图像的网络。您可以通过使用由返回层定义了网络架构dnCNNLayers
功能。为了生成训练兼容的图像与这个网络,可以使用转变
和结合
功能噪声图像的批次和对应的噪声信号。欲了解更多信息,请参阅深学习预处理图像(深学习工具箱)。
您使用DnCNN网络架构训练去噪网络后,您可以使用denoiseImage
功能,以除去图像的噪声。
所述DnCNN网络也可以检测由其它类型的失真的高频图像伪影。例如,你可以训练DnCNN网络来提高图像分辨率或删除JPEG压缩失真。该JPEG图像分块使用Deep学习示例示出了如何训练DnCNN网络以除去JPEG压缩伪像
培养,其检测范围的彩色图像的高斯噪声分布的一个网络。要生成训练图像的这个网络,你可以使用denoisingImageDatastore
并设置ChannelFormat
属性'RGB'
。你必须定义一个自定义的卷积神经网络架构,支持RGB输入图像。金宝app
您使用自定义的网络架构,培养了去噪网络后,您可以使用激活
函数来隔离噪声或高频伪影的失真图像。然后,从失真图像中减去所述噪声以获得去噪图像。
激活
|结合
|denoiseImage
|denoisingImageDatastore
|denoisingNetwork
|dnCNNLayers
|trainNetwork
|trainingOptions
|转变