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