一种边缘拟合的分类稀疏表示图像修复方法与流程

文档序号:12367040阅读:290来源:国知局
一种边缘拟合的分类稀疏表示图像修复方法与流程
本发明属于数字图像修复
技术领域
,具体一种边缘拟合的分类稀疏表示图像修复方法。
背景技术
:传统的图像修复方法分为两类:一类是基于偏微分方程的方法。该方法本质上是一种扩散过程,但在修复大面积区域时存在明显模糊。另一类是基于纹理合成的方法。该方法用匹配块替换待修复块,当找不到匹配块时就会产生错误匹配并延续错误。为了解决贪婪性造成的错误匹配,人们对算法进行了很多改进,但仍然避免不了错误的匹配和加权图像块过多带来的模糊。最近,一种新的图像稀疏表示方法在图像处理领域得到重视,许多学者将稀疏理论运用到图像修复的方法中。技术实现要素:在实验中发现,基于稀疏表示的图像修复算法中均采用OMP重构算法,在对待修复图像进行重构时,往往需要预估信号的稀疏度,无论稀疏度估计过小或者过大都不能达到较好的重构效果;其次,稀疏表示方法对结构平滑性的保持不够理想,特别是对曲线进行修复时,会在结构处产生一些畸变。为了较好地修复图像的结构信息,本发明从考虑结构整体平滑性的角度,结合样本稀疏表示和结构约束修复的优点,发明了一种边缘拟合的分类稀疏表示图像修复方法。本发明采取以下技术方案:采用整体边缘和局部边缘相结合的提取方法,对待修复区域的断裂边缘进行提取,获得反映边缘特征的各类信息,根据这些信息按一定规则将断裂边缘线进行曲线拟合,以保证图像边缘结构的修复严格受到边缘轮廓线的约束;采用按特征分类进行字典训练,以增强学习字典的自适应性;采用近似双曲正切函数去近似l0范数,利用共轭梯度法求解该函数,实现对传统SL0算法的改进,将不需要预估稀疏度的SL0重构算法应用于非边缘破损区域的图像修复中,以提高稀疏表示修复纹理信息的可靠性。具体步骤如下:第一步:获取和修复图像的边缘信息。1-1.通过Sobel算子提取整体边缘,获得破损图像的强边缘,为图像修复提供图像的整体边缘结构;1-2.采用“将存在连续4个边缘点及以上的断裂边缘线定义为主体结构边缘”的原则,采用整体边缘提取与破损周边区域局部边缘提取相结合的方法实现,有效获取破损周边区域的断裂边缘结构信息,找到待修复边界与边缘信息的交点。将这些断裂曲线(设断裂曲线为c1,c2,…,cn,记为集合Q,其中断裂曲线ci的起点为pi1)一一对应地连接。将断裂曲线ci在其起点pi1上的方向向量几乎相反的两条断裂曲线相连。由此通过曲线ci的方向向量将Q分为两个集合Q1,Q2。分类完成后,计算各曲线起点之间的距离,将起点距离最近的两条曲线通过二次多项式曲线拟合的方法进行连接。具体步骤如下:1-2-1.对于任意的断裂曲线ci,由起点pi1出发,获取ci上的其它各点pi2,pi3,pi4,。若为点pi,j的坐标向量,则曲线ci在起点pi1上的方向向量定义为:s→i=0.5(p→i,1-p→i,2)+0.25(p→i,2-p→i,3)+0.125(p→i,3-p→i,4)---(1)]]>其中,将单位化,1-2-2.循环步骤1-2-1求出每条断裂曲线ci的方向向量,将c1放入集合Q1中,然后遍历剩下的所有曲线ci,求出与Q1中所有曲线的方向向量夹角和最小的曲线,记为cmin,并放入集合Q1,直到Q1中的元素为总曲线数量的一半,剩下的曲线放入集合Q2。cmin∈Q1,iffΣci∈Q1θ(s→i,s→min)=mincj∈Q-Q1{Σcj∈Q1θ(s→i,s→j)}---(2)]]>1-2-3.将Q中的曲线分类后,取Q1中的一条曲线,在Q2中寻找与Q1中选取的曲线起点距离最近的曲线,将这两条曲线进行二次多项式曲线拟合,即完成断裂曲线的连接;当完成这两条断裂曲线的连接后,将这两条曲线分别从集合Q1,Q2中剔除,然后按照上述方法对剩下的曲线进行处理,直到断裂的曲线全部连接完成,得到修复的边缘轮廓信息。第二步:对图像块按特征分类以及K-SVD字典训练。为了增强学习字典的自适应性,采用结合图像块梯度信息和局部方差的方法对图像块进行分类。众所周知,边缘和纹理信息往往存在于含有丰富结构信息的图像块中,反之,图像的平滑区域含有较少的结构信息。根据像素的梯度变化的越剧烈,图像块内结构信息就越丰富;而结构信息稀少的图像块,其内部像素的梯度普遍比较小。因此,梯度信息可以很好的反映图像块的结构信息丰富程度(即平滑程度)。令图像中任意位置(x,y)的像素值为f(x,y),其上下左右4个方向的梯度值为:g1(x,y)=|f(x,y)-f(x-1,y)|g2(x,y)=|f(x,y)-f(x+1,y)|g3(x,y)=|f(x,y)-f(x,y-1)|g4(x,y)=|f(x,y)-f(x,y+1)|---(3)]]>取这4个方向上的最大梯度值为该像素点的权值:g(x,y)=max{g1(x,y),g2(x,y),g3(x,y),g4(x,y)}(4)将每个图像块(大小为n×m)内的每个像素进行梯度加权,其大小为:uk=Σx=1nΣy=1mg(x,y)×f(x,y)Σx=1nΣy=1mg(x,y)---(5)]]>uk为第k个图像块的梯度加权值。为了将图像块进行分类,设定一个阈值T1,其中T1为经验常数,一般取T1=100。当uk<T1时,表示图像块为平滑区,反之图像块为结构丰富区。虽然边缘结构区和不规则纹理区域的梯度变化都普遍较大,但图像的局部方差往往能较好的体现出图像的细节信息,其包含了图像的大量结构信息。因此,利用局部方差对上述结构丰富区进行再分类得到边缘结构区和不规则纹理区。第k个图像块的局部方差为:Vark=1n×mΣx=1nΣy=1m|f(x,y)-f‾k|2---(6)]]>其中,为图像块中的平均像素值。设定一个阈值T2,其中T2为经验常数,一般取T2=300。当Vark<T2时,图像块为不规则纹理区,反之图像块为边缘结构区。在将图像块按结构特征分成边缘结构区、不规则纹理区和平滑区三个不同的子区域后,将不同区域的图像样本块进行字典训练,得到与之相对应的过完备字典。下面以平滑字典Ds为例,说明K-SVD算法对字典训练的实现过程。根据稀疏表示模型:minD,X||Y-DX||2s.t||xi||0<K---(7)]]>其中,D=[d1,d2,…,dL]是过完备字典,K<<L表示xi的最大稀疏度为K;表示待训练信号,即同一特征的样本图像块。算法在求解D的同时也对稀疏系数xi进行稀疏编码。由于l0问题的非凸性,通常采用OMP算法进行求解。但字典训练算法与式(7)有所区别的是,训练信号已知,而过完备字典D是未知的,其需要通过字典训练算法得到。假设Ys={yi|i∈Ωs}表示从平滑区域图像块中选择的待训练样本块集合,Ωs表示平滑区域图像块,用K-SVD算法训练该样本集合所对应的特征字典的过程可描述为:minDs,Xs||Ys-Dsxs||2s.t||xi||0<K,i∈Ωs---(8)]]>为了求解式(8),必须首先初始化字典Ds。为了加快算法的收敛速度,在本算法选择图像分类后的平滑图像块对Ds进行初始化。K-SVD算法是根据稀疏编码的步骤给出样本块集合的估计,从而更新字典中的各个原子。具体而言,要更新平滑字典Ds中的第k列dk,则式(8)可以改写为:||Ys-Dsxs||2=||Ys-Σj=1Kdjxj||2=||(Ys-Σj≠kKdjxj)-dkxk||2=||Ek-dkxk||2---(9)]]>其中,DsXs被分解为K个秩为1的矩阵和,其余K-1项都是固定的,剩下的1列就是要更新的列,Ek表示去掉原子dk后对所有样本造成的误差,进而对Ek进行SVD分解,更新dk。用上述方法,将{d1,d2,…,dL}中的所有原子都进行更新,即对平滑字典Ds完成了训练。这样,根据以上K-SVD的训练方法,由分类的图像块就可得相应的过完备字典:边缘字典De、不规则纹理字典Dt以及平滑字典Ds。第三步:将近似l0范数的稀疏重构算法SL0应用于稀疏表示的图像修复。采用近似双曲正切函数去近似l0范数,利用共轭梯度法求解该函数。由于SL0的数学模型为:min||X||0,s.t.Y=DX(10)向量X=[x1x2…xn]T,其l0范数表示向量X中非0元素的个数,若假设:f(x)=1,x≠00,x=0---(11)]]>则:||X||0=Σi=1nf(xi)---(12)]]>因此,只要找到一个合适的平滑的连续函数f(x),就可以很好的逼近||X||0的值。为了构造具有“陡峭性”明显的平滑连续函数,且该连续函数能准确的逼近l0范数。因此本专利采用式(13)所示的近似双曲正切函数作为近似估计l0范数的函数。fσ(x)=18ex22σ2-e-x22σ2ex22σ2+e-x22σ2+78(1-e-8x2σ2)---(13)]]>从式(13)可知,变量σ值越小,近似双曲正切函数“陡峭性”越明显,越逼近l0范数,但随着σ值的不断变小,函数曲线也越来越不光滑。因此,σ参数的选取非常关键,它的选取必须在逼近l0范数的程度和函数光滑度两者之间取折中。为此,采用一组递减的σ序列{σ1,σ2,…,σn}用来逼近目标函数,对σ每一次取值的同时利用最速下降法来求解函数的最佳值。最速下降法的搜索方向为函数的负梯度方向,越接近目标值,步长越小,前进越慢,在求解过程中存在锯齿效应,使得l0范数估计的准确性降低。而共轭梯度法的搜索方向为负梯度方向与上一次迭代的搜索方向的线性组合,可以解决最速下降法带来的锯齿效应。对于求解minf(x)这类无约束化问题,假设一个初始值x0,经过一系列迭代得到xn。假如目前的迭代值为xk,则下一个迭代值即xk+1=xk+u×dk,u表示迭代步长,dk表示求最小值的搜索方向,使用共轭梯度法求解公式为:dk=-gk,k=1-gk+βkdk-1,k≥2---(14)]]>其中,gk代表函数f(x)的梯度,βk能够通过不同的共轭梯度法来求解。对βk的求解方法采用混合共轭梯度法,即混合FR(Fletcher-Reeves)共轭梯度法和PRP(Polak,RibiereandPolyar)共轭梯度法:βk=βkPRP,0<βkPRP<βkFRβkFR,else---(15)]]>这种混合的共轭梯度法避免了可能产生连续小步长的缺点;同时,由于共轭梯度法的每一次迭代的方向都是上一次迭代方向与负梯度方向组合而成,能够克服最速下降法带来的锯齿现象。因此,利用SL0的稀疏表示方法,分类修复图像各类特征信息的实现步骤如下:(1)令初始值分别为X=DT(DDT)-1Y,σ1=2max(X),k=1;(2)j=1,2,…,L,(L为共轭梯度法迭代次数,L=5)利用共轭梯度法求解gn代表函数f(x)的梯度:①搜寻方向:②X←X+μdn,其中步长因子μ=1.5;③X←X-DT(DDT)-1(DX-Y);④n=n+1,j=j+1;如果j<L,则重复步骤①、②、③;(3)k=k+1,σk=ησk-1,η∈[0.51],重复步骤(2),直到σk<ε,ε=0.01,此时得到X的最优解。本发明有益效果如下:在对待修复图像进行重构时,往往需要预估信号的稀疏度,无论稀疏度估计过小或者过大都不能达到较好的重构效果;其次,稀疏表示方法对结构平滑性的保持不够理想,特别是对曲线进行修复时,会在结构处产生一些畸变。为了较好地修复图像的结构信息,本发明从考虑结构整体平滑性的角度,结合样本稀疏表示和结构约束修复的优点。本发明对待修复区域的断裂边缘进行提取,获得反映边缘特征的各类信息,根据这些信息按一定规则将断裂边缘线进行曲线拟合,以保证图像边缘结构的修复严格受到边缘轮廓线的约束;采用按特征分类进行字典训练,以增强学习字典的自适应性;采用近似双曲正切函数去近似l0范数,利用共轭梯度法求解该函数,实现对传统SL0算法的改进,将不需要预估稀疏度的SL0重构算法应用于非边缘破损区域的图像修复中,以提高稀疏表示修复纹理信息的可靠性。附图说明图1为本发明的流程图。图2为整体与局部法提取的结构边缘示意图,图2(a)为破损Lena图像;图2(b)整体法提取的结构边缘;图2(c)整体与局部法提取的结构边缘;图2(d)边缘拟合效果图,其中图中‘△’表示未经筛选前的主体结构边缘的起点,‘o’表示经过筛选后的主体结构边缘的起点。图3(a)-(d)为断裂边缘的拟合修复模型。图4(a)-(b)为边缘信息修复示意图。图5(a)-(c)为图像块按特征分类的示意图。图6(a)-(f)为分别采用修复算法[1]、修复算法[2]、修复算法[3]以及本发明算法对破损Baboon图像修复结果的比较。图7(a)-(f)为采用上述算法对破损Barb图像修复效果的比较。图8(a)-(f)为采用上述算法对Baboon图像进行英文字母去除处理结果的比较。图9(a)-(f)为采用上述算法对实物移除效果图的比较。图10(a)-(f)为采用上述算法对大面积破损Lena修复效果的比较。图11(a)-(f)为采用上述算法对人物移除效果的比较。说明:为了比较本发明算法的优越性,与下列相关修复算法进行了比较。修复算法[1]:CriminisiA,PerezP,ToyamaK.RegionfillingandobjectremovalbyEexemplar-basedinpainting[J].IEEETransactionsonImageProcessing,2004,13(9):1200-1212.修复算法[2]:XuZ,SunJ.Imageinpaintingbypatchpropagationusingpatchsparsity[J].IEEETransactionsonImageProcessing,2010,19(5):1153-1165.修复算法[3]:康佳伦,唐向宏,张东,屠雅丽.特征分类学习的结构稀疏传播图像修复方法[J].计算机辅助设计与图形学学报,2015,27(5):864-872.具体实施说明下面结合附图对本发明实施例作详细说明。在本实施例中,图1给出的本发明的流程图。第一步:首先,通过Sobel算子提取整体边缘,获得破损图像的强边缘,为图像修复提供图像的整体边缘结构,如图2(b)所示,给出了对破损Lena图像整体法提取的结构边缘;然后采用“将存在连续4个边缘点及以上的断裂边缘线定义为主体结构边缘”的原则,采用整体边缘提取与破损周边区域局部边缘提取相结合的方法实现,有效获取破损周边区域的断裂边缘结构信息,找到待修复边界与边缘信息的交点,如图2(c)所示。为了将这些点一一对应地连接,图3(a)给出了多条断裂边缘线分别为c1,c2,…,cN,记为集合Q,其中曲线ci的起点为pi1。规定将曲线ci在其起点pi1上的方向向量几乎相反的两条断裂曲线相连。由此通过曲线ci的方向向量将Q分为两个集合Q1,Q2。分类完成后,计算各曲线起点之间的距离,将起点距离最近的两条曲线通过二次多项式曲线拟合的方法进行连接。具体步骤如下:(1)对于任意的断裂曲线ci,由起点pi1出发,获取ci上的其它各点pi2,pi3,pi4,。若为点pi,j的坐标向量,则曲线ci在起点pi1上的方向向量定义为:s→i=0.5(p→i,1-p→i,2)+0.25(p→i,2-p→i,3)+0.125(p→i,3-p→i,4)---(1)]]>其中,将单位化,(2)循环步骤(1)求出每条曲线ci的方向向量,将c1放入集合Q1中,然后遍历剩下的所有曲线ci,求出与Q1中所有曲线的方向向量夹角和最小的曲线,记为cmin,并放入集合Q1,直到Q1中的元素为总曲线数量的一半,剩下的曲线放入集合Q2。cmin∈Q1,iffΣci∈Q1θ(s→i,s→min)=mincj∈Q-Q1{Σcj∈Q1θ(s→i,s→j)}---(2)]]>(3)将Q中的曲线分类后,取Q1中的一条曲线,在Q2中寻找与其起点距离最近的曲线,将这两条曲线进行二次多项式曲线拟合,即完成断裂曲线的连接;当完成这两条断裂曲线的连接后,将这两条曲线分别从集合Q1,Q2中剔除,然后按照上述方法对剩下的曲线进行处理,直到断裂的曲线全部连接完成。断裂曲线修复效果如图3(b)所示:(4)当断裂曲线总数N为奇数时,n(Q1)≠n(Q2)(如图3(c)所示)。这种情况下,实现步骤做以下调整:①在执行步骤(2)中,若n(Q1)=(N-1)/2,则接下来的一条曲线ci按以下规则归类:cmin∈Q1,Σci∈Q1θ(S→i,S→min)≤π(N-1)/22Q2,Σci∈Q1θ(S→i,S→min)>π(N-1)/22]]>完成(N-1)/2+1条曲线归类后,剩下的曲线放入集合Q2中。②在步骤(3)中,比较Q1,Q2中的元素个数,选取个数少的集合,假设n(Q1)<n(Q2),则取集合Q1中的一条曲线,在Q2中寻找与其起点距离最近的曲线,将这两条曲线进行二次多项式曲线拟合。依次类推,完成集合Q1中的所有曲线配对后,Q2中还剩一条曲线未配对,则在Q1中寻找与其起点距离最近的曲线,完成连接。这样Q中的所有曲线配对完成,如图3(d)所示。按上述拟合规则对破损Lena图(图2(a))的断裂边缘的拟合效果如图2(d)所示。当图像边缘曲线完成拟合后,该拟合曲线便可以作为边缘修复的约束信息,使得边缘上图像块的修复按边缘的轨迹进行。本发明以拟合后的边缘线上的点为中心,取修复窗口大小为3×3(为了修复的准确性,修复窗口取值较小),利用像素的误差平方和(SSD)在ψ1,ψ2,ψ3…(边缘线上的已知像素块,大小为3×3,如图4(a)所示)中寻找与ψ最相似的匹配块,再将最佳匹配块的像素值填充到对应的待修复图像块的未知像素点。按上述方法依次完成边缘上的小图像块的修复。修复结果如图4(b)所示。第二步:对图像块按特征分类以及K-SVD字典训练。为了增强学习字典的自适应性,采用结合图像块梯度信息和局部方差的方法对图像块进行分类。众所周知,边缘和纹理信息往往存在于含有丰富结构信息的图像块中,反之,图像的平滑区域含有较少的结构信息。根据像素的梯度变化的越剧烈,图像块内结构信息就越丰富;而结构信息稀少的图像块,其内部像素的梯度普遍比较小。因此,梯度信息可以很好的反映图像块的结构信息丰富程度(即平滑程度)。若令图像中任意位置(x,y)的像素值为f(x,y),其上下左右4个方向的梯度值为:g1(x,y)=|f(x,y)-f(x-1,y)|g2(x,y)=|f(x,y)-f(x+1,y)|g3(x,y)=|f(x,y)-f(x,y-1)|g4(x,y)=|f(x,y)-f(x,y+1)|---(3)]]>取这4个方向上的最大梯度值为该像素点的权值:g(x,y)=max{g1(x,y),g2(x,y),g3(x,y),g4(x,y)}(4)将每个图像块(大小为n×m)内的每个像素进行梯度加权,其大小为:uk=Σx=1nΣy=1mg(x,y)×f(x,y)Σx=1nΣy=1mg(x,y)---(5)]]>uk为第k个图像块的梯度加权值。为了将图像块进行分类,设定一个阈值T1,其中T1为经验常数,一般取T1=100。当uk<T1时,表示图像块为平滑区,反之图像块为结构丰富区。图5(b)给出了使用梯度加权值对图5(a)进行图像块分类的结果。图5(b)中,黑色部分表示平滑区域,白色部分表示结构丰富区域。但由于边缘结构区和不规则纹理区域的梯度变化都普遍较大,无法用梯度加权值去识别边缘结构区和不规则纹理区。因此,利用局部方差对上述结构丰富区进行再分类得到边缘结构区和不规则纹理区。第k个图像块的局部方差为:Vark=1n×mΣx=1nΣy=1m|f(x,y)-f‾k|2---(6)]]>其中,为图像块中的平均像素值。设定一个阈值T2,其中T2为经验常数,一般取T2=300。当Vark<T2时,图像块为不规则纹理区,反之图像块为边缘结构区。图5(c)给出了结合梯度加权值和局部方差的图像分类结果,其中黑色区域代表平滑区,灰色部分代表不规则纹理区,白色部分代表边缘结构区。从图中可以看出,梯度加权值和局部方差相结合的图像特征分类效果较好。在将图像块按结构特征分成边缘结构区、不规则纹理区和平滑区三个不同的子区域后,将不同区域的图像样本块进行字典训练,得到与之相对应的过完备字典。下面以平滑字典Ds为例,说明K-SVD算法对字典训练的实现过程。根据稀疏表示模型:minD,X||Y-DX||2s.t||xi||0<K---(7)]]>其中,D=[d1,d2,…,dL]是过完备字典,K<<L表示xi的最大稀疏度为K;表示待训练信号,即同一特征的样本图像块。算法在求解D的同时也对稀疏系数xi进行稀疏编码。由于l0问题的非凸性,通常采用OMP算法进行求解。但字典训练算法与式(7)有所区别的是,训练信号已知,而过完备字典D是未知的,其需要通过字典训练算法得到。假设Ys={yi|i∈Ωs}表示从平滑区域图像块中选择的待训练样本块集合,Ωs表示平滑区域图像块,用K-SVD算法训练该样本集合所对应的特征字典的过程可描述为:minDs,Xs||Ys-Dsxs||2s.t||xi||0<K,i∈Ωs---(8)]]>为了求解式(8),必须首先初始化字典Ds。为了加快算法的收敛速度,在本发明选择图像分类后的平滑图像块对Ds进行初始化。K-SVD算法是根据稀疏编码的步骤给出样本块集合的估计,从而更新字典中的各个原子。具体而言,要更新Ds中的第k列dk,则式(8)可以改写为:其中,DsXs被分解为K个秩为1的矩阵和,其余K-1项都是固定的,剩下的1列就是要更新的列,Ek表示去掉原子dk后对所有样本造成的误差,进而对Ek进行SVD分解,更新dk。用上述方法,将{d1,d2,…,dL}中的所有原子都进行更新,即对字典Ds完成了训练。这样,根据以上K-SVD的训练方法,由分类的图像块就可得相应的过完备字典:边缘字典De、不规则纹理字典Dt以及平滑字典Ds。第三步:将近似l0范数的稀疏重构算法SL0应用于稀疏表示的图像修复。采用近似双曲正切函数去近似l0范数,利用共轭梯度法求解该函数。由于SL0的数学模型为:min||X||0,s.t.Y=DX(10)向量X=[x1x2…xn]T,其l0范数表示向量X中非0元素的个数,若假设:f(x)=1,x≠00,x=0---(11)]]>则:||X||0=Σi=1nf(xi)---(12)]]>因此,只要找到一个合适的平滑的连续函数f(x),就可以很好的逼近||X||0的值。为了构造具有“陡峭性”明显的平滑连续函数,且该连续函数能准确的逼近l0范数。因此本发明采用式(13)所示的近似双曲正切函数作为近似估计l0范数的函数。fσ(x)=18ex22σ2-e-x22σ2ex22σ2+e-x22σ2+78(1-e-8x2σ2)---(13)]]>从式(13)可知,变量σ值越小,近似双曲正切函数“陡峭性”越明显,越逼近l0范数,但随着σ值的不断变小,函数曲线也越来越不光滑。因此,σ参数的选取非常关键,它的选取必须在逼近l0范数的程度和函数光滑度两者之间取折中。为此,采用一组递减的σ序列{σ1,σ2,…,σn}用来逼近目标函数,对σ每一次取值的同时利用最速下降法来求解函数的最佳值。最速下降法的搜索方向为函数的负梯度方向,越接近目标值,步长越小,前进越慢,在求解过程中存在锯齿效应,使得l0范数估计的准确性降低。而共轭梯度法的搜索方向为负梯度方向与上一次迭代的搜索方向的线性组合,可以解决最速下降法带来的锯齿效应。对于求解minf(x)这类无约束化问题,假设一个初始值x0,经过一系列迭代得到xn。假如目前的迭代值为xk,则下一个迭代值即xk+1=xk+u×dk,u表示迭代步长,dk表示求最小值的搜索方向,使用共轭梯度法求解公式为:dk=-gk,k=1-gk+βkdk-1,k≥2---(14)]]>其中,gk代表函数f(x)的梯度,βk能够通过不同的共轭梯度法来求解。对βk的求解方法采用混合共轭梯度法,即混合FR(Fletcher-Reeves)共轭梯度法和PRP(Polak,RibiereandPolyar)共轭梯度法:βk=βkPRP,0<βkPRP<βkFRβkFR,else---(15)]]>这种混合的共轭梯度法避免了可能产生连续小步长的缺点;同时,由于共轭梯度法的每一次迭代的方向都是上一次迭代方向与负梯度方向组合而成,能够克服最速下降法带来的锯齿现象。因此,利用SL0的稀疏表示方法,分类修复图像各类特征信息的实现步骤如下:(1)令初始值分别为X=DT(DDT)-1Y,σ1=2max(X),k=1;(2)j=1,2,…,L,(L为共轭梯度法迭代次数,L=5)利用共轭梯度法求解gn代表函数f(x)的梯度:①搜寻方向:②X←X+μdn,其中步长因子μ=1.5;③X←X-DT(DDT)-1(DX-Y);④n=n+1,j=j+1;如果j<L,则重复步骤①、②、③;(3)k=k+1,σk=ησk-1,η∈[0.51],重复步骤(2),直到σk<ε,ε=0.01,此时得到X的最优解。为了检验本发明算法的修复效果,对图像进行了模拟仿真,并与其他算法进行了对比实验。仿真实验在MATLAB环境下进行。在对图像修复效果评时,除了采用主观评价外,同时也采用峰值信噪比(PSNR)进行客观评价。图6和图7给出了修复算法[1]、修复算法[2]、修复算法[3]和本算法对破损图像Baboon和Barb进行修复处理的结果。从图6Baboon修复效果图可以看出,在鼻子中间部分(平滑区域),四种算法的修复效果都比较理想;在鼻子与脸颊连接处的破损,修复算法[1]、算法[2]和算法[3]修复后均出现结构断裂现象(图6(c)、图6(d)和图6(e)所示),但本算法在修复后鼻子的边缘结构平滑;对于眼睛部分的修复,这部分结构和纹理信息都较复杂,算法[1]和算法[2]在眼睛的右上部分出现大块的不自然的白色延伸(图6(c)、图6(d)所示),对眼部结构造成了严重破坏,算法[3]修复后在眼角出现了一定的延伸现象(图6(e)所示),而本算法在修复后眼角保持了良好的结构特征且眼珠周围清晰无延伸现象,修复效果比较自然(图6(f)所示)。从图7Barb图修复处理的结果可以看出,四种算法在手臂(平滑区域)修复效果均良好;四种算法在桌腿边缘部分(平滑区和边缘结合区域)修复效果较好;在修复围巾部分时(纹理与边缘结合区域),算法[1]、算法[2]和算法[3]均出现纹理不连贯的现象(图7(c)、图7(d)、和图7(e)所示),修复效果比较模糊;而本算法由于首先对围巾的边缘进行了修复,形成了一定的结构约束,因此修复后边缘结构得到保持,并且纹理清晰、走向合理自然(图7(f)所示)。图8和图9分别给出了物体去除处理效果的比较。图8给出了对Baboon图进行英文字母去除处理的结果。从图中可以看出,在修复Baboon图的鼻子中部等图像平滑区时,四种算法的修复效果均良好;但算法[2]和算法[3]在修复鼻子与脸颊交界处时,鼻子边界出现断裂现象(图8(d)和图8(e)画黑圈部分),结构遭到破坏,而其它二种算法能保持此处结构连贯;在修复脸颊的纹路时,算法[1]、算法[2]和算法[3]均出现不自然的延伸(图8(c)、图8(d)和图8(e)所示),不符合视觉规律,而本算法修复效果较理想;Baboon图中的胡子部分属于纹理结构复杂区域,算法[1]、算法[2]和算法[3]这三种算法均出现模糊或者不自然的延伸现象(图8(c)、图8(d)和图8(e)所示),而本算法在纹理部分修复效果自然(图8(f)所示)。图9给出了对实物移除的仿真实验结果。从图中可以看出,算法[1]、算法[2]和算法[3]在修复岸边时出现边缘扭曲和不连续的现象(图9(c)、图9(d)和图9(e)所示),边缘结构无法保持连贯性,修复痕迹明显,使得修复效果不自然。而本算法对物体移除效果十分自然,符合视觉规律。图10和图11分别给出了对大面积破损修效果的比较。图10给出了对Lena图进行大面积修复的仿真实验结果,其中破损面积为10.1%(每小块破损大小为20×20像素)。从图中可以看出,算法[1]和算法[2]对Lena图中的左脸颊和部分背景区域(平滑部分)的修复效果不佳(图10(c)、图10(d)画黑圈部分),而其他二种算法对这部分的修复效果均良好;头发部分的纹理结构复杂,算法[1]、算法[2]、和算法[3]这三种算法在修复头发部分时均出现断裂现象(图10(c)、图10(d)和图10(e)所示),而本算法的修复效果较理想,修复后头发部分比较自然也没有出现不自然的断裂现象(图10(f)所示)。在帽顶、帽檐和右脸颊等部分(画黑圈部分),前三种算法在修复其边缘时均出现一定程度的凹凸和不自然的延伸现象,而本算法先对待修复区域的断裂边缘线进行拟合,保障了图像边缘的平滑性,使得修复效果符合人眼视觉效应(图10(f)所示)。图11给出了对大面积实物移除的仿真实验结果。从图中可以看出,算法[2](图11(d)所示)在修复远处的海平面和海浪这两部分时,都出现不连贯现象,结构信息遭到破坏,有比较明显的修复痕迹;而算法[1]、算法[2]和算法[3]在修复海浪部分时,其边缘线条不够平坦,使实物移除效果不自然(图11(c)、图11(d)和图11(e)所示);而本算法修复效果自然,符合视觉规律。以上对本发明的优选实施例及原理进行了详细说明,对本领域的普通技术人员而言,依据本发明提供的思想,在具体实施方式上会有改变之处,而这些改变也应视为本发明的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1