当前位置:首页 期刊杂志

一种基于深度学习模型的图像模糊自动分析处理算法

时间:2024-05-04

陈 阳,周 圆

(天津大学 电子信息工程学院,天津 300072)

1 引 言

图像中的局部运动模糊由拍摄场景中目标物体的运动造成.利用有效的手段对图像中的模糊区域和清晰区域进行分析和处理是一项非常实际的技术,可以作为诸如图像运动目标提取、图像分割、图像去模糊、图像检索等工作的前提基础.但是,现存的图像模糊处理技术致力于解决盲和非盲去模糊问题.Fergus等人[1]使用一个统计分布模型来拟合图像模糊内核.Cho等人[2]指出一些受到模糊的强边缘包含丰富的信息,可以被用来辅助模糊内核的估计和图像的重建.Perrone等人[3]指出在进行图像重建时,对模糊内核进行归一化约束可以保证正则优化模型的快速收敛.Hu等人[4]指出存在于图像中的结构信息可以用来估计模糊内核,他们提出一个基于条件随机场(CRF)的学习模型,该模型能够自动地选取出图像中一些包含丰富结构信息的图像区域来估计模糊内核.这些工作的重点是消除图像中的全局运动模糊并重建出潜在清晰图像.但是这些算法只能进行全局一致的模糊内核估计和图像去模糊,无法对局部运动模糊图像进行有效的去模糊处理.这是因为这些算法并没有事先分割出图像的模糊区域,而是对局部运动模糊图像进行全局统一的去模糊处理,这样会导致图像中原本清晰的区域出现失真.

为了有效去除图像中的局部运动模糊,应该首先检测出输入图像的运动模糊区域,然后仅对这些模糊区域进行去模糊处理,最终得到更符合人眼感官的去模糊图像.但是研究发现,图像模糊区域的检测和分类,尤其是图像局部运动模糊的检测很少被涉及.先前有一些算法[5,6]使用单一模糊特征对局部模糊图像进行检测,但是仅仅采用单一指标很难对图像的模糊区域进行准确检测.

为了实现精确的局部模糊检测,应该将不同的模糊特征指标结合成一个整体进行图像模糊程度的衡量.Liu等人[7]基于三种局部模糊特征构建出一个贝叶斯分类器,并使用该分类器进行局部模糊区域检测.Chakrabarti等人[8]提出一种在非均匀模糊情况下进行局部运动模糊分析的新方法.Su等人[9]首次根据图像块模糊程度和对应奇异分解值之间的关系来判别图像的模糊区域.Shi等人[10]结合四种高效的模糊特征对图像的模糊区域进行检测,这四种特征分别为:峭度特征、高斯混合模型、累积平均功率谱和局部线性滤波器特征.

虽然上述方法能够获得不错的图像局部模糊区域检测结果,但是这些方法有一个很明显的限制,即这些方法仅仅使用低维模糊特征,没有充分利用图像的潜在特征描述,导致算法的检测结果存在一些误判别现象.然而图像局部模糊区域检测是对局部运动模糊图像进行去模糊的至关重要的一步,为了更加有效地去除图像中的局部运动模糊,必须准确地检测出图像的局部模糊区域.并以此为基础,将图像局部模糊区域检测和图像去运动模糊这两项技术进行有效结合,实现局部运动模糊图像的去模糊.

图1 局部运动模糊图像去模糊模型的整体结构图Fig.1 Outline of the proposed partially blurred image deblurring algorithm

基于上述分析,本文提出一种基于深度学习的局部运动模糊图像的去模糊框架.图1是算法的整体结构图,分为两个部分:图像局部运动模糊区域检测以及对局部运动模糊区域进行去模糊.首先,本文提出一种针对局部运动模糊区域的检测算法,该算法能够从局部运动模糊图像中准确地检测出模糊区域和清晰区域,并将模糊区域进行标记,以便于进行局部运动模糊图像的去模糊.然后,选定出待处理的运动模糊区域,仅对这些区域进行去模糊处理,最终实现局部运动模糊的有效去除,获得清晰的场景图像.本文工作主要有两个创新点:首先,本文提出一个深度学习框架来执行图像局部模糊区域检测.其次,本文将图像局部模糊区域检测和图像去运动模糊这两项技术进行有效结合,利用检测出的局部模糊区域对图像去模糊过程进行指导,最终能够从局部运动模糊图像中重建出潜在的清晰图像.

2 图像局部运动模糊区域检测

本文提出一种基于栈式自编码神经网络的图像局部模糊区域检测算法.算法分为两个阶段,首先构建训练样本集对自编码神经网络进行权值参数训练,然后利用训练好的神经网络对待测试图像的运动模糊区域进行准确地检测.

2.1 对栈式自编码神经网络进行训练

本文首先对算法涉及的四种低维模糊特征进行简要介绍,然后对构建出的深度学习框架进行分析,最后对栈式自编码神经网络的训练流程进行说明.

2.1.1 低维模糊特征

本文综合多种低维模糊特征对图像中的模糊区域进行检测,现对这几种模糊特征进行简要介绍.

(1)峭度特征

Shi等人[10]提出利用峭度特征K(a)来衡量一个输入图像块梯度分布的峰度,将其定义为:

(1)

其中E[·]表示期望算子,a表示输入的数据向量.

给定一个清晰图像块F,模糊图像块D可以表示为:

D=F*h

(2)

其中h是局部模糊内核.Shi等人[10]证明,模糊过程会降低输入图像块的峭度值,即:

K(Dx)

(3)

K(Dy)

(4)

其中(Fx,Fy)和(Dx,Dy)是清晰图像块F和模糊图像块D沿x轴和y轴方向的梯度.在实际执行中,本文算法使用文献[10]定义的模糊特征:

αKF=min(ln(K(ax)),ln(K(ay)))

(5)

其中a是输入图像块.算法将特征αKF作为网络训练样本集的第1维特征,用来对图像数据进行模糊特征提取.

(2)累积平均功率谱

在频域,图像的平均功率谱J(ω)定义为如下形式[11]:

(6)

其中(ω,θ)是像素点(i,j)的极坐标形式,n是角度θ的取值数目,A是一个幅值常量.

本文采用Shi等人[10]提出的累积平均功率谱特征,其定义如下:

αCAPS=∑ωlog(J(ω))

(7)

可以证明[10],模糊图像块的累积平均功率谱特征值要小于清晰图像块对应的值:

∑ωlog(JD(ω))≤∑ωlog(JF(ω))

(8)

从公式(8)可以看出,累积平均功率谱是一种有区别力的模糊特征,因此本文算法将累积平均功率谱作为神经网络训练样本集的第2维输入特征.

(3) 奇异值向量和奇异值特征

Su等人[9]首次提出使用奇异值特征[9]来检测图像的模糊区域.给定一幅清晰图像f∈n×n,存在正交矩阵U=[u1,u2,…,un]∈n×n和V=[v1,v2,…,vn]∈n×n,能够将f表示为:

f=UΣVT

(9)

(10)

其中ui和vi分别是U和V的第i列,Ei∈n×n是特征图像.图像f对应的特征图像Ei是对该图像在不同尺度空间的分析[12],其中前k个主要特征图像(E1,…,Ek)代表大的尺度空间,能够表征图像的结构轮廓;其余的次要特征图像(Ek+1,…,Er)代表小的尺度空间,表征图像的纹理信息.

对于一幅模糊图像d,可以看成是其对应的潜在清晰图像f和模糊内核h的卷积:

(11)

本文从图像中提取大小为8*8的图像块,并分别计算RGB三个通道对应的奇异值,记为MR=(σ1,σ2,…,σ8) ,MG=(σ9,σ10,…,σ16),MB=(σ17,σ18,…,σ24).接下来分别针对RGB三个通道计算前4个奇异值占全部8个奇异值的比值,将其定义为图像的奇异值特征αR,αG,αB:

(12)

本文对每个图像块进行奇异值分解,得到RGB三个通道的奇异值向量MR,MG,MB和奇异值特征αR,αG,αB.然后将上述特征向量按照(αR,MR,αG,MG,αB,MB)的形式组合成一个27维向量,将其作为神经网络训练样本集的第3至第29维输入特征.

至此,本文已经介绍了涉及的四种低维模糊特征.下文将对构建的深度学习框架进行分析.

2.1.2 基于栈式自编码神经网络的深度学习框架设计

图2 单层自编码神经网络结构图Fig.2 Illustration of an auto-encoder

单层自编码神经网络由输入层、隐藏层和输出层三层组成.图2展示了一个单层自编码神经网络的结构图.其中X={xi∈SI}(i=1,2,…,N)表示原始的低维输入特征向量,SI}(i=1,2,…,N)表示神经网络的理论输出值,SI表示原始输入特征向量的维数,N表示训练样本集合中的样本个数,W(1),b(1)分别表示自编码神经网络隐藏层的网络参数和对应的偏置项,W(2),b(2)分别表示自编码神经网络输出层的网络参数和偏置项.

在神经网络的结构设置上,输入层和输出层的节点个数等于输入特征向量的维数,隐藏层节点个数小于输入特征向量的维数.即通过迭代训练,自编码神经网络会发现输入数据之间的相关性,学习出一个原始输入数据的压缩表示.

栈式自编码神经网络是一个由多层稀疏自编码器组成的神经网络,其中高层自编码器的输入值等于其前一层自编码器的激活度向量.栈式自编码神经网络能够处理更复杂的输入特征,因为每一个隐藏层可以对前一个隐藏层的输出进行非线性变换,从而能够发现输入特征之间更深层次的联系,学习到高度非线性和更加复杂的函数关系.

图3是本文构建的深度学习网络结构图,由输入层、隐藏层Ⅰ、隐藏层Ⅱ和分类器层组成.其中W(1),b(1)表示神经网络隐藏层Ⅰ对应的网络参数和偏置项,W(2),b(2)表示神经网络隐藏层Ⅱ对应的网络参数和偏置项,W(3),b(3)表示神经网络分类器层对应的网络参数和偏置项.

图3 深层栈式自编码神经网络结构图Fig.3 A deep architecture of our stacked auto-encoder

为了更好地描述这种通过栈式自编码神经网络学习得到的非线性潜在特征,本文通过公式对其进行表示:

(13)

(14)

为了对构建的深度学习网络进行有效的参数训练,使得该网络能够对输入图像块的模糊程度进行准确判别,我们将针对上述目标为深度学习网络制作相应的训练样本集.下文开始对训练样本集合的构建方式以及神经网络的训练流程进行说明.

2.1.3 栈式自编码神经网络的训练流程简述

为了对自编码网络进行高效训练,本文要构建一个包含大量模糊和清晰图像块的训练样本集.首先,随机选取30幅清晰图像和30幅运动模糊图像组成一个数据集.然后从数据集清晰图像样本中随机截取20000个8*8的图像块组成神经网络训练集的正样本,并为每一个图像块加上正样本标签1;接着从运动模糊图像样本中随机截取20000个8*8的图像块组成训练集的负样本,同时为每一个图像块加上负样本标签2.最后,将所有正、负样本图像块连同附加的标签按照矩阵形式进行组合,能够获得一个初始训练样本集.

为了实现精确的图像局部运动模糊检测,本文使用峭度特征[10]、累积平均功率谱[10]、奇异值向量和奇异值特征[9]四种模糊特征对初始训练样本集进行进一步的特征提取,并将这四种低维模糊特征的提取结果组合成一个新的训练样本矩阵.本文算法利用逐层贪婪方法训练栈式自编码神经网络.首先将这个训练样本矩阵送入自编码神经网络,然后采用无监督方式对神经网络进行逐层的预训练,学习得到所有隐藏层的最佳初始权重.接着使用上一阶段训练好的神经网络和有标签的训练样本,采用反向传播算法对网络参数进行有监督地微调,从而进一步提高分类器的性能.

至此已经完成了训练样本集合的构建以及栈式自编码神经网络的权值参数训练过程.为了准确地检测出图像中的局部运动模糊区域,本文设计了一个针对局部运动模糊图像的具体检测流程.下文将对上述检测过程进行详细介绍.

2.2 对待测试图像模糊区域进行检测

这一部分将使用已经训练好的深度学习网络对一幅新的输入图像进行局部模糊区域检测,具体流程如下.

2.2.1 对待测试图像模糊区域进行初始检测

在图像模糊区域的初始检测阶段,首先将一幅待检测模糊图像分成互不重叠、大小为8*8的图像块.针对每一个图像块,使用四种模糊特征对原始图像块进行特征提取,并将运算结果组成一个新的特征向量矩阵.接下来使用预先训练好的深度学习网络对该特征向量矩阵进行进一步的特征提取,寻找输入特征之间更深层次的联系,学习到高度非线性和更加复杂的潜在特征描述.然后将这些特征描述送入分类器进行决策,神经网络的分类器层会输出每一个原始图像块对应的预测类标签,从而实现对每一个图像块模糊程度的判别与分类,得到一幅初始的分类结果图.

2.2.2 初始分类结果图的插值和阈值分割

为了更精确地检测出一幅图像的模糊区域,本文使用插值算法[13]将初始分类结果图插值成完全分类结果图.

本文采用基于拉普拉斯的插值方法[13]对初始分类结果图进行插值,该插值方法的详细推导请参见文献[13].图4展示了一些局部模糊图像的初始分类结果、对应的插值和阈值分割结果.从图4中可以看到插值算法能够很好地处理图像中的平滑区域.

3 对检测出的局部运动模糊区域进行去模糊

为了有效地去除图像中的局部运动模糊,本文算法将图像局部运动模糊区域检测和图像去运动模糊这两项技术进行有效结合.在对待测试图像执行模糊区域检测之后,将这些检测出的局部模糊区域作为遮罩层,仅对这些区域进行去模糊处理,这样就能够在有效去除局部运动模糊的同时不发生图像失真,最终实现局部运动模糊图像的去模糊.

图4 初始结果图的插值和阈值分割Fig.4 Initial map interpolation and thresholding segmentation

图5给出一个局部运动模糊图像去模糊的示意图.首先,对输入图像执行模糊区域的检测与分类,得到一幅分类结果图.在分类结果图中,我们使用白色表示图像的运动模糊区域,使用黑色表示图像的清晰区域.然后,使用学习出的分类结果图将原始图像分割成模糊区域和清晰区域.接下来,将这些标记出的局部模糊区域作为遮罩层,先对输入图像进行去模糊处理,得到初始去模糊结果图.最后,再将原始图像的清晰区域还原到初始去模糊结果图中,得到最终的去模糊图像.

图5 针对局部运动模糊图像进行去模糊的示意图Fig.5 An illustration of the proposed partially blurred image deblurring algorithm

本文算法采用基于小波紧框架的图像去模糊方法[14]对原始输入图像进行去模糊,该算法将框架理论应用到小波分析中,在一个小波紧框架中对原始图像和模糊内核的稀疏性进行约束.给定原始模糊图像d,模糊过程可以建模为:

d=f⊗h+r

(15)

其中f是潜在的清晰图像,h是图像的模糊内核,r是加性噪声.算法[14]提出一个基于正则优化的方法来对潜在清晰图像f和模糊内核h进行估计.令h(0)表示模糊内核h的初始估计,可以用交替迭代的策略对算法[14]提出的正则优化问题进行求解,具体求解步骤见下页表1.

通过对算法进行交替迭代地求解,当正则优化模型收敛时,可以得到潜在清晰图像fk+1,此时的fk+1即为初始去模糊图像.然后,如图5所示,将原始图像的清晰区域还原到初始去模糊图像中,能够得到最终的去模糊图像.相比于现存的图像去模糊算法,由于本文算法能够预先检测出图像的模糊区域,然后仅对这些模糊区域执行去模糊处理,这样就能够在有效去除局部运动模糊的同时不发生图像失真,最终得到更高质量的去模糊图像.

表1 交替最小化方法
Table 1 An alternating minimization method

输入:原始模糊图像d1.初始化:h=h(0).2.fork=0,1,2,…,500,do 1)固定h(k),使用下式计算f(k+1): f(k+1)=argminf12‖h(k+1)⊗f-d‖22+μ1‖Wf‖1 其中μ1是正则化参数,W是框架变换矩阵; 2)固定f(k+1),使用下式计算h(k+1): h(k+1)=argminh12‖f(k+1)⊗h-d‖22+μ2‖Wh‖1+τ2‖h‖22() 其中μ2和τ是正则化参数,h是图像的模糊内核.3.endfor输出:潜在清晰图像f=fk+1

4 实验结果和分析

本文实验参数设置如下:在自编码神经网络的训练阶段,本文从数据集清晰图像样本中随机截取20000个图像块组成训练集的正样本,并为每一个图像块加上正样本标签1;接着从运动模糊图像样本中随机截取20000个图像块组成训练集的负样本,同时为每一个图像块加上负样本标签2.本文算法随机截取的40000个图像块的大小均为8*8像素.接下来将正、负样本按矩阵形式进行拼接,矩阵总大小为192*40000,其中矩阵的每一列为一个图像块RGB通道的像素值.此外,在模糊特征提取阶段,将对每一个图像块提取出29维的特征向量,最终组成一个大小为29*40000的训练样本特征矩阵.

4.1 图像局部模糊区域检测结果

本文提出的图像局部模糊区域检测框架分为训练和检测两个阶段.为了验证图像局部模糊区域检测的准确性,将本文算法与四种现存的图像模糊区域检测算法[7-10]进行比较,其中对比实验采用算法[10]中的图像集.图6展示出这5种算法的精确度-查全率曲线[7,10],通过对比,本文算法实现了最高的准确率.这表明,对于一幅待处理的局部运动模糊图像,本文算法得到的模糊区域检测结果比其余四种方法的结果更加精确,并且更接近于真值图像.

图6 不同算法基于精确度-查全率曲线的定量比较Fig.6 Quantitative comparison via precision-recall curves for different methods

图8是模糊区域检测算法的检测结果图和对应的真值图,从左至右依次为输入图像、算法[8,7,9,10]的实验结果、本文算法的结果和真值图像.从图中能够看出,前四种算法得到的结果存在误检测.通过对比发现,本文算法能够对各种复杂的运动场景进行处理,并且能够准确地检测出图像中的运动模糊区域,几乎不存在误检测的现象.此外,本文算法的检测结果更接近于真值图像.

4.2 图像模糊区域分割结果

基于学习得到的分类结果图,本文能够进行图像运动模糊区域分割.图7为本文算法与Levin[5]和Liuetal.[7]算法得到的分割实验结果.通过对比,本文算法提取出的运动目标区域更加精确,并且不需要预先估计出图像的模糊内核.

图7 局部运动模糊区域的分割结果.从左至右依次为:原始输入图像,算法[5]的实验结果,算法[7]的实验结果,以及本文算法的实验结果Fig.7 Comparison of blur region segmentation for partially blurred images.From left to right are the blurred images,the results by Levin [5],Liu et al.[7],and by our method

4.3 局部运动模糊图像去模糊实验结果

本文着重对所提出的图像去模糊算法进行实验,并与现存图像去模糊算法进行对比分析.在对局部运动模糊图像进行去模糊的过程中,由于现存的图像去模糊算法并不能事先分割出图像的模糊区域,而是对局部运动模糊图像进行全局统一的去模糊处理,这样会导致图像中原本清晰的区域出现失真.

为了更加有效地去除图像中的局部运动模糊,应该首先估计出输入图像的运动模糊区域,然后仅对这些模糊区域进行去模糊处理,最终能够得到更符合人眼感官的去模糊图像.下页图9是局部运动模糊图像去模糊的实验结果,从左至右依次为原始输入图像、算法[2,3]的实验结果和本文算法的结果.在第二列图像中,算法[2]虽然能够去除背景位置的运动模糊,但是对于图像中的清晰区域,算法[2]也对其进行了去模糊处理,这会导致图像中原本清晰的区域出现失真.而本文算法会事先标记出输入图像中的模糊区域,仅对这些模糊区域进行去模糊,因此能够在有效去除局部运动模糊的同时不发生图像失真.比如这三幅图像的运动目标位置,算法[2]的重建结果都会产生图像失真,通过对比,本文算法的实验结果更加自然.第三列图像是算法[3]的实验结果,该算法的结果出现很明显的伪影,比如第二幅图像的车窗部分和第三幅图像的车门部分均出现伪影,图像重建效果不够理想.通过对比发现,本文算法的实验结果含有较少的图像失真.值得一提的是,本文算法在保持图像更加自然的情况下,对于模糊区域的处理效果也优于上述算法,比如最后一行图像的文字区域,本文算法的重建结果比算法[2,3]的结果更加清晰自然.

图8 不同算法的局部模糊区域检测结果Fig.8 Sample detection results of partially blurred images between different methods

图9 局部运动模糊图像去模糊实验结果Fig.9 Sample deblurring results of partially blurred images

5 结 论

本文提出一种基于深度学习的图像去模糊算法,该算法针对图像块进行分析和处理,是一种基于图像局部区域的模糊处理方法.针对现存图像去模糊算法的不足之处,本文首先对现存图像局部模糊区域检测算法进行改进,提出一个基于自编码神经网络的深度学习框架,该框架能够准确检测并分类出图像的局部模糊区域.然后,本文创新性地将图像局部模糊区域检测与图像去模糊两项技术进行有效结合,利用检测出的局部模糊区域对图像去模糊过程进行指导,最终实现局部模糊图像的去模糊.实验结果表明,在定性和定量比较两个方面,本文相较于现有算法均表现出显著优势.

[1] Fergus R,Singh B,Hertzmann A,et al.Removing camera shake from a single photograph[C].ACM Transactions on Graphics(TOG),Boston:Association for Computing Machinery,2006,25(3):787-794.

[2] Cho S,Lee S.Fast motion deblurring[C].ACM Transactions on Graphics (TOG),New Orleans:Association for Computing Machinery,2009,28(5):145-152.

[3] Perrone D,Favaro P.Total variation blind deconvolution:The devil is in the details[C].Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition(CVPR),Columbus:Institute of Electrical and Electronics Engineers (IEEE),2014:2909-2916.

[4] Hu Z,Yang M H.Learning good regions to deblur images[J].International Journal of Computer Vision (IJCV),2015,115(3):345-362.

[5] Levin A.Blind motion deblurring using image statistics[C].Proceedings of the 20th Annual Conference on Neural Information Processing Systems (NIPS),2006:841-848.

[6] Da J Rugna H.Konik.Automatic blur detection for meta-data extraction in content-based retrieval context[C].International Society for Optics and Photonics (SPIE),Proceedings,vol.5304,2003:285-294.

[7] Liu R,Li Z,Jia J.Image partial blur detection and classification[C].Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR),Institute of Electrical and Electronics Engineers (IEEE),2008:1-8.

[8] Chakrabarti A,Zickler T,Freeman W T.Analyzing spatially-varying blur[C].Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition(CVPR),Institute of Electrical and Electronics Engineers (IEEE),2010:2512-2519.

[9] Su B,Lu S,Tan C L.Blurred image region detection and classification[C].Proceedings of the 19th ACM International Conference on Multimedia,Association for Computing Machinery (ACM),2011:1397-1400.

[10] Shi J,Xu L,Jia J.Discriminative blur detection features[C].Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR),Institute of Electrical and Electronics Engineers (IEEE),2014:2965-2972.

[11] Van A der Schaaf,J H van Hateren.Modelling the power spectra of natural images:statistics and information[J].Vision Research,1996,36(17):2759-2770.

[12] Andrews H,Patterson C.Singular value decompositions and digital image processing[J].IEEE Transactions on Acoustics,Speech,and Signal Processing,1976,24(1):26-53.

[13] Levin A,Lischinski D,Weiss Y.A closed-form solution to natural image matting[J].IEEE Transactions on Pattern Analysis and Machine Intelligence (T-PAMI),2008,30(2):228-242.

[14] Cai J F,Ji H,Liu C,et al.Framelet-based blind motion deblurring from a single image[J].IEEE Transactions on Image Processing,2012,21(2):562-572.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!