基于深度学习的图像噪声水平估计方法与流程

文档序号:14325382阅读:2765来源:国知局

本发明属于计算机图像处理领域,涉及电荷耦合器件噪声水平估计和卷积神经网络。具体讲,通过卷积神经网络提取图像特征,学习信号相关噪声分布,建立端到端的噪声图像和相应噪声水平函数之间的映射关系。



背景技术:

电荷耦合器件(charge-coupleddevice,ccd),作为数码相机的核心器件,在成像过程中会产生复杂的噪声。这种噪声并不是简单的加性高斯白噪声(additivegaussianwhitenoise,awgn),而是一种严重依赖于信号强度的噪声(signal-dependentnoise,sdn)。获知ccd(电荷耦合器件)的噪声水平不仅可以用来评价图像传感器的质量,还可以用来调整许多计算机视觉算法的参数,因此准确估计ccd的噪声水平函数具有重要意义。

常见的噪声估计算法都是针对高斯白噪声设计,对于这种依赖于信号的噪声并不适用。因此研究并提出一种有效的方法对ccd图像进行噪声估计,显得尤为迫切且更有价值。近年来,随着深度学习技术的不断发展,越来越多的被用于图像处理领域,且获得了较好的效果。利用卷积神经网络学习图像噪声分布,为ccd噪声水平估计提供了有效的解决方案。

卷积神经网络不仅能有效较少网络的训练参数,使得神经网络简单化,而且具有很强的适应性。



技术实现要素:

本发明旨在提出一种基于深度学习的框架,对图像噪声水平进行有效的估计。为实现上述目的,本发明采取以下技术方案:基于深度学习的图像噪声水平估计方法,步骤如下:

步骤1、提出信号相关噪声(sdn)模型:

i=f(li)

in=f(li+ns+nc)+nq

其中,i表示理想的无噪声图像,in表示ccd相机实际得到的噪声图像,f(·)表示相机响应函数,表示依赖于光照强度li的噪声分量,表示跟信号无关的噪声分量,nq表示量化噪声予以忽略,这里的ns和nc的噪声参数假设为

步骤2、进行数据预处理

步骤2.1、获取伯克利图像分割bsd500数据集以及在网上下载无噪声的图像作为原始无噪声图像集;

步骤2.2、对无噪声图像集利用步骤1提出的噪声模型人工添加噪声,合成带噪声图像,则噪声图像噪声水平函数表示为进一步扩展为:

其中i表示原始的无噪声图像,in表示带噪声图像,in(·)表示噪声合成过程;

步骤2.3、将合成的带噪声图像裁剪成256*256大小的图像块,得到60000多个不同噪声水平的图像块作为训练数据,相对应的噪声水平函数样本点作为训练标签;

步骤3、构建神经网络结构

步骤3.1、噪声图像分别输入三路平行的卷积神经网络之中,三路神经网络的结构分别是(1)卷积层,卷积核大小5*5,—平均池化层,核大小为2*2—卷积层,卷积核大小3*3—平均池化层,核大小为2*2—卷积层,卷积核大小3*3—卷积层,卷积核大小3*3(2)卷积层,卷积核大小7*7—平均池化层,核大小为2*2—卷积层,卷积核大小5*5—平均池化层,核大小为2*2—卷积层,卷积核大小5*5—卷积层,卷积核大小5*5(3)卷积层,卷积核大小9*9—平均池化层,核大小为2*2—卷积层,卷积核大小7*7—平均池化层,核大小为2*2—卷积层,卷积核大小7*7—卷积层,卷积核大小7*7,接下来每路神经网络经过第四个卷积层的输出串联,接下来经过空间金字塔池化层,接着经过两个全连接层输出256噪声水平样本点,拟合得到噪声水平函数曲线;

步骤3.2、每一个卷积网络层后面都会跟着一个批量标准化层以及激活函数层,选用参数修正线性单元relu为激活函数;

步骤4、设置好网络的学习率和动量参数,利用深度学习框架caffe训练上述卷积神经网络,直至代价损失减小到一定程度且训练达到迭代最大次数,生成训练模型。代价损失函数选用

其中ij代表训练样本中第j个噪声图像,pj代表相应的噪声水平;

步骤5、将有噪声图像输入至训练好的模型中,输出噪声水平函数。

步骤4所述的训练过程为:

步骤4.1、网络结构确定以后,将训练样本和测试样本输入网络;

步骤4.2、在网络的训练阶段,学习率设置为0.0001,防止不收敛,设置每十万次迭代,学习率变为原来的0.8倍,动量参数设置为0.9;最大迭代次数设置为100万次;

步骤4.3、进行训练,得到噪声图像和噪声水平函数之间的映射关系。

本发明的技术特点及效果:

本发明方法针对电荷耦合器件噪声,通过深度学习及卷积神经网络,有效对噪声水平函数进行了估计,具有以下特点:

1、本文提出的算法是基于大量数据的训练,通过卷积神经网络学习噪声分布情况,不需要手动设计的模型。

2、本文提出的算法具有较强的鲁棒性,在现今大部分方法估计不准确的低噪声水平下,有较准确的估计效果。

3、对各种不同水平的噪声分布都具有较好的估计效果,具有一定的普适性。

附图说明

图1是算法流程图;

图2是算法输入输出示意图;

图3是卷积神经网络结构图;

图4是分界矩形和拟合矩形示意图。

具体实施方式

本发明采用的技术方案是:

步骤1、提出信号相关噪声(sdn)模型:

i=f(li)

in=f(li+ns+nc)+nq

其中,i表示理想的无噪声图像,in表示ccd相机实际得到的噪声图像,f(·)表示相机响应函数,表示依赖于光照强度li的噪声分量,表示跟信号无关的噪声分量,nq表示量化噪声。由于跟其他噪声相比,量化噪声的强度较小,所以该分量可以被忽略。这里的ns和nc的噪声参数假设为

步骤2、进行数据预处理

步骤2.1、获取bsd500(伯克利图像分割)数据集以及在网上下载无噪声的图像作为原始无噪声图像集。

步骤2.2、对无噪声图像集利用步骤1提出的噪声模型人工添加噪声,合成带噪声图像。则噪声图像噪声水平函数表示为可以进一步扩展为其中i表示原始的无噪声图像,in表示带噪声图像,in(·)表示噪声合成过程。

步骤2.3、将合成的带噪声图像裁剪成256*256大小的图像块,得到60000多个不同噪声水平的图像块作为训练数据,相对应的噪声水平函数样本点作为训练标签。

步骤3、构建神经网络结构

步骤3.1、噪声图像分别输入三路平行的卷积神经网络之中,三路神经网络的结构分别是(1)卷积层(卷积核大小5*5)—平均池化层(核大小为2*2)—卷积层(卷积核大小3*3)—平均池化层(核大小为2*2)—卷积层(卷积核大小3*3)—卷积层(卷积核大小3*3)(2)卷积层(卷积核大小7*7)—平均池化层(核大小为2*2)—卷积层(卷积核大小5*5)—平均池化层(核大小为2*2)—卷积层(卷积核大小5*5)—卷积层(卷积核大小5*5)(3)卷积层(卷积核大小9*9)—平均池化层(核大小为2*2)—卷积层(卷积核大小7*7)—平均池化层(核大小为2*2)—卷积层(卷积核大小7*7)—卷积层(卷积核大小7*7),接下来每路神经网络经过第四个卷积层的输出串联,接下来经过空间金字塔池化层,接着经过两个全连接层输出256噪声水平样本点,拟合得到噪声水平函数曲线。

步骤3.2、每一个卷积网络层后面都会跟着一个批量标准化层以及激活函数层,这里我们选用参数修正线性单元relu为激活函数。

步骤4、设置好网络的学习率和动量参数,利用深度学习框架caffe训练上述卷积神经网络,直至代价损失减小到一定程度且训练达到迭代最大次数,生成训练模型。代价损失函数选用

其中ij代表训练样本中第j个噪声图像,pj代表相应的噪声水平

步骤5、将有噪声图像输入至训练好的模型中,输出噪声水平函数。

步骤4所述的训练过程为:

步骤4.1、网络结构确定以后,将训练样本和测试样本输入网络;

步骤4.2、在网络的训练阶段,学习率设置为0.0001,防止不收敛,设置每十万次迭代,学习率变为原来的0.8倍,动量参数设置为0.9;最大迭代次数设置为100万次;

步骤4.3、进行训练,得到噪声图像和噪声水平函数之间的映射关系。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1