稀疏度约束和字典原子大小自适应的彩色图像修复方法与流程

文档序号:11655329阅读:301来源:国知局
稀疏度约束和字典原子大小自适应的彩色图像修复方法与流程

本发明属于数字图像修复技术领域,具体一种稀疏度约束和字典原子大小自适应的彩色图像修复方法。



背景技术:

传统的图像修复方法分为两类:一类是基于偏微分方程的方法。该方法本质上是一种扩散过程,但在修复大面积区域时存在明显模糊。另一类是基于纹理合成的方法。该方法用匹配块替换待修复块,当找不到匹配块时就会产生错误匹配并延续错误。为了解决贪婪性造成的错误匹配,人们对算法进行了很多改进,但仍然避免不了错误的匹配和加权图像块过多带来的模糊。最近,一种新的图像稀疏表示方法在图像处理领域得到重视,许多学者将稀疏理论运用到图像修复的方法中。

同时研究发现,在传统稀疏表示的图像修复算法中,字典原子大小往往是固定不变的,在修复纹理区域时,会因字典原子过大产生模糊的现象,而在修复平滑区域时,会因字典原子过小导致区域的延伸,从而影响图像修复效果;其次,rgb颜色模型三通道间的相关性以及其结构复杂性导致修复效果的不理想,图像修复过程中较少考虑修复块的优先顺序会使得结构边缘修复效果不理想。

备注:为了比较本发明算法的优越性,与下列相关修复算法进行了比较。

修复算法[1]:m,koprivai,cichockia.inpaintingcolorimagesinlearneddictionary[c].signalprocessingconference(eusipco),2012proceedingsofthe20theuropean.ieee,2012:66-70.

修复算法[2]:huangw,wangsw,yangxp,etal.dunhuangmuralsin-paintingbasedonimagedecomposition[j].shandongdaxuexuebao(gongxueban),2010,40(2):24-27.

修复算法[3]:xuz,sunj.imageinpaintingbypatchpropagationusingpatchsparsity[j].imageprocessing,ieeetransactionson,2010,19(5):1153-1165.



技术实现要素:

本发明的目的是针对现有技术的不足,为了较好地修复图像的结构信息,采用待修复块的结构稀疏性大小和边缘判别因子来调整修复优先权,通过分析修复块位于纹理、边缘、平滑等不同区域的结构信息,自适应确定字典原子的大小,提供一种稀疏度约束和字典原子大小自适应的彩色图像修复方法。

本发明解决其技术问题所采取以下技术方案:

将彩色图像从rgb颜色空间映射到yuv颜色空间分层进行修复,这样在分别对三个分量修复时,可消除分量之间相关性对修复产生的干扰;引入优先权决定待修复块的修复的先后顺序。由于图像的点、线结构具有稀疏性,与邻域相似度较低,可以采用结构稀疏度来定义优先级,确定图像的边缘修复要优先于纹理区域的修复;结合结构稀疏性和边缘判别因子自适应选择字典原子大小,并采用k-svd方法完成字典的训练,以保字典原子的具有自适应性。具体实现步骤如下:

步骤1、rgb颜色空间到yuv颜色空间的映射

先利用rgb颜色模型与yuv颜色模型之间的转化公式,将图像从rgb空间映射到yuv空间。为了克服rgb颜色模型三通道间的相关性以及其结构复杂性导致修复效果的不理想,本发明在yuv颜色空间对破损图像进行修复。yuv模型是用亮度和色度来表示颜色信息,其中,y表示亮度,u和v表示色度,三分量之间彼此相互独立。yuv模型中的亮度y与rgb模型中的r、g、b三个颜色分量的转换关系可以表示为:

y=0.3r+0.59g+0.11b(1)

色度信息u和v是由b-y、r-y按照不同的比例混合而成的,gamma校准之后其模型之间的转化公式为:

步骤2、确定结构稀疏度及待修复块的修复顺序,实现对y、u、v分量进行修复,具体如下:

采用sobel算子对图像待修部分的边缘进行提取,然后确定结构稀疏度及待修复块的修复顺序。

为了确定图像的边缘修复要优先于纹理区域的修复。利用图像的点、线结构具有稀疏性与邻域相似度较低的特点,采用结构稀疏度来定义优先级。

设待修复图像i,破损区域ω,源区域修复边界以点p为中心的待重构块ψp。块结构稀疏度s(p),其定义为:

其中n(p)表示邻域中图像块的总数量,ns(p)为n(p)中已知图像块的集合。|ns(p)|表示邻域中已知图像块的数量。ωp,k表示待重构块ψp与ns(p)集合中已知图像块ψk的相似度,即ωp,k定义了待修复块与其邻域之间的相似程度,其定义为:

其中,d(,)表示两个图像块已知像素的均方距离,z(p)为归一化系数,σ为一常数(一般取σ=5)。由此,优先权定义为:

p(p)=s(p)·c(p)(5)

其中c(p)为置信度项,其大小定义为:

其中|ψp|为待修复块ψp的面积。函数c(p)初始化定义为:

在优先权函数定义中,置信度c(p)大小表示待修复块中已知信息的多少,对其优先权的大小影响较为有限,而结构稀疏度s(p)是决定块优先修复的主要因素。虽然利用块结构稀疏度可以很好的判别平滑部分,但是在纹理和边缘区域,用块结构稀疏度来判别修复块的优先级会出现误差,甚至出现部分纹理区域的块结构稀疏度大于边缘区域的稀疏度的现象。研究中发现,其一,位于平滑区域的待修复块的结构稀疏度要小于位于边缘区域或纹理区域的待修复块的结构稀疏度。因此,可以利用结构稀疏度s(p)大小来判别待修复块位于平滑区域还是位于纹理区域或边缘区域;其二,虽然大多数位于边缘区域的待修复块的结构稀疏度大于位于纹理区域的待修复块的结构稀疏度,但也出现二者相近,甚至出现位于纹理区域的待修复块的修复优先度大于位于边缘区域的待修复块的修复优先度,打破了边缘的修复优先级高于纹理的修复优先级的图像修复规则,会导致修复效果不佳。因此,利用结构稀疏度s(p)不能准确的判别待修复块是位于边缘区域还是位于纹理区域。

为了克服仅用结构稀疏度大小来判别是否为边缘区域或纹理区域存在的不足,在本发明中,引入一个边缘判别因子β,并对优先权函数重新定义。

将待修复块ψp沿着法线方向进行分割,待修复块ψp被分割成大小均匀的块1(记为p1)和块2(记为p2)。分别对p1和p2的已知像素求均值e(p1)和e(p2)。判别因子β被定义为:

β=|e(p1)-e(p2)|/α(8)

其中,α是归一化参数,一般取α=255。

结合结构稀疏性s(p)和边缘判别因子β的特性,对优先权函数p(p)重新定义,其大小为:

p(p)=s'(p)·c(p)(9)

式中,s'(p)的取值取决于待修复块所处的区域结构,其大小由以下原则决定:

(1)平滑区域块。s(p)值的大小可以较好的区别平滑区域与纹理区,因此,可设定一个阈值为γ(γ为经验常数,一般取0.0500),当结构稀疏度s(p)小于该阈值时待修复块位于平滑区域,反之则位于边缘纹理区域。因此,当修复块位于平滑区域时:

s'(p)=s2(p)(10)

(2)边缘或纹理区域块。在判别纹理和边缘区域时,根据表3的数据分析,利用判别因子β来进行判别,即设定一个阈值λ(λ为经验常数,一般取0.1000)。当判别因子β小于阈值λ时,表明待修复块位于纹理区域,这时s'(p)的大小为:

s'(p)=s2(p)(11)

否则待修复块位于边缘区域:

s'(p)=s(p)(12)

步骤3、自适应确定字典原子大小及字典的训练。

由于边缘区域和纹理区域具有较多的细节信息,而小尺度的字典原子能够捕获图像细小的特征,有利于边缘和纹理区域破损修复时的稀疏重构。平滑区域细节信息较少具有整体性,而大尺度的字典原子能够描述图像的整体特征,较为适合用于平滑区域的稀疏重构。为了确保字典原子大小的选择具有自适应性,对于图像不同结构区域的信息重构,应根据待修复区域的结特征,自适应地选择更优的字典原子大小,以满足不同结构区域修复的需要。因此,本发明利用待修复块所处区域结构的不同,自适应的选择合适的原子大小的字典,即结合结构稀疏性s(p)和边缘判别因子β自适应选择字典原子大小,其选择原则如下:

(1)当结构稀疏性s(p)小于其阈值γ时,待修复块位于平滑区域,重构该待修复块时,采用大小为9×9原子的字典。

(2)当结构稀疏性s(p)大于阈值γ且判别因子β小于阈值λ时,待修复块位于复杂纹理区域,重构该待修复块时,采用大小为7×7原子的字典。

(3)当结构稀疏性s(p)大于阈值γ且判别因子β大于阈值λ时,待修复块处于边缘区域,重构该待修复块时,采用大小为5×5原子的字典。

在字典训练时,为了提高字典的完备性,字典训练块不仅从待修复图像中提取,同时也从公共图像库中选取一部分自然图像中提取,以训练获得三个原子大小分别为9×9、7×7、5×5的字典。

在字典训练过程中,字典d为未知需要为其预定义初始值,然后依次获取稀疏编码以及更新字典。假设y={yi|i∈ω}表示从待修复图像中已知信息区域与自然图像中随机抽取的待训练样本集,在本发明中,采用k-svd方法求解待训练的样本集合所对应的字典。用k-svd算法训练样本集合所对应字典的过程可描述为:

其中,d=[d1,d2,…,dl]是过完备字典,k<<l表示xi的最大稀疏度为k;表示待训练信号。式(13)的求解是一个迭代过程,在迭代之前需先将字典初始化d,一般使用原图像中的随机图像块作为字典的初始值。k-svd方法是根据稀疏编码的步骤给出样本集的估计,达到字典原子更新的目的。其具体步骤,首先将式(13)改写为:

式中,dx分解成秩为1的k个矩阵和,其中k-1项为固定项,余下的1项为更新项。ek表示去掉相对应原子后,对样本集产生的误差;然后,对ek进行svd分解,更新相对应的原子dk。按照上述步骤,将字典{d1,d2,…,dl}中的所有原子都进行更新,即完成了字典d的训练。

步骤4、更新边缘,并重复第二、三步骤直至图像完成修复。

本发明有益效果如下:

在传统稀疏表示的图像修复算法中,由于字典原子大小固定不变,在修复纹理区域时,会因字典原子过大产生模糊的现象,在修复平滑区域时,会因字典原子过小导致区域的延伸;其次,在修复过程中,在纹理和边缘区域,仅用块结构稀疏度来判别修复块的优先级会出现误差,使得结构边缘修复效果不理想。为了较好地修复图像的结构信息,本发明从考虑字典原子大小的自适应性的角度,结合样本稀疏表示和结构约束修复的优点,以提高彩色图像的修复效果。

本发明为了较好地修复图像的结构信息,采用待修复块的结构稀疏性大小与边缘判别因子来调整修复优先权,以确定边缘修复要优先于纹理区域的修复;其次,采用结构稀疏性大小和边缘判别因子,自适应地确定字典原子大小,以提高字典的自适应性。

附图说明

图1为本发明的流程图。

图2块结构稀疏性计算原理图

图3边缘判别因子计算原理图

图4(a)-(d)不同优先权函数及本发明算法对破损图baboon的修复效果比较

图5(a)-(d)不同优先权函数及本发明算法的对破损图barb的修复效果比较

图6(a)-(f)利用原子大小不同的字典以及本算法采用自适应大小字典修复的图像

图7(a)-(f)为分别采用修复算法[1]、修复算法[2]、修复算法[3]以及本发明算法对破损lena图像修复结果的比较。

图8(a)-(f)为分别采用修复算法[1]、修复算法[2]、修复算法[3]以及本发明算法对破损baboon图像修复结果的比较。

图9(a)-(f)为采用上述算法对图像中英文字母去除处理结果的比较。

图10(a)-(e)为采用不同优先权或字典原子大小对破损lena图像修复结果的比较。

图11(a)-(e)为采用不同优先权或字典原子大小对baboon图像修复结果的比较。

具体实施说明

下面结合附图对本发明实施例作详细说明。

在本实施例中,图1给出的本发明的流程图。

第一步:rgb颜色空间到yuv颜色空间的映射。

先利用rgb颜色模型与yuv颜色模型之间的转化公式,将图像从rgb空间映射到yuv空间。为了克服rgb颜色模型三通道间的相关性以及其结构复杂性导致修复效果的不理想,本发明在yuv颜色空间对破损图像进行修复。yuv模型是用亮度和色度来表示颜色信息,其中,y表示亮度,u和v表示色度,三分量之间彼此相互独立。yuv模型中的亮度y与rgb模型中的r、g、b三个颜色分量的转换关系可以表示为:

y=0.3r+0.59g+0.11b(1)

色度信息u和v是由b-y、r-y按照不同的比例混合而成的,gamma校准之后其模型之间的转化公式为:

然后,对y、u、v分量分别进行修复。

第二步:结构稀疏度及待修复块的修复顺序的确定。

对于图像待修部分的边缘提取,采用sobel算子实现;然后在此基础上,确定结构稀疏度及待修复块的修复顺序。

为了确定图像的边缘修复要优先于纹理区域的修复。利用图像的点、线结构具有稀疏性与邻域相似度较低的特点,采用结构稀疏度来定义优先级。

如图2所示,设待修复图像i,破损区域ω,源区域修复边界以点p为中心的待重构块ψp。块结构稀疏度s(p),其定义为:

其中,n(p)表示邻域中图像块的总数量,ns(p)为n(p)中已知图像块的集合。|ns(p)|表示邻域中已知图像块的数量。ωp,k表示待重构块ψp与ns(p)集合中已知图像块ψk的相似度,即ωp,k定义了待修复块与其邻域之间的相似程度,其定义为:

其中,d(,)表示两个图像块已知像素的均方距离,z(p)为归一化系数,σ为一常数(一般取σ=5)。由此,优先权可以定义为:

p(p)=s(p)·c(p)(5)

其中c(p)为置信度项,其大小定义为:

其中,|ψp|为待修复块ψp的面积。函数c(p)初始化定义为:

在优先权函数定义中,置信度c(p)大小表示待修复块中已知信息的多少,对其优先权的大小影响较为有限,而结构稀疏度s(p)是决定块优先修复的主要因素。虽然利用块结构稀疏度可以很好的判别平滑部分,但是在纹理和边缘区域,用块结构稀疏度来判别修复块的优先级会出现误差,甚至出现部分纹理区域的块结构稀疏度大于边缘区域的稀疏度的现象。研究中发现,其一,位于平滑区域的待修复块的结构稀疏度要小于位于边缘区域或纹理区域的待修复块的结构稀疏度。因此,可以利用结构稀疏度s(p)大小来判别待修复块位于平滑区域还是位于纹理区域或边缘区域;其二,虽然大多数位于边缘区域的待修复块的结构稀疏度大于位于纹理区域的待修复块的结构稀疏度,但也出现二者相近,甚至再现位于纹理区域的待修复块的修复优先度大于位于边缘区域的待修复块的修复优先度,打破了边缘的修复优先级高于纹理的修复优先级的图像修复规则,会导致修复效果不佳。因此,利用结构稀疏度s(p)不能准确的判别待修复块是位于边缘区域还是位于纹理区域。

为了克服仅用结构稀疏度大小来判别是否为边缘区域或纹理区域存在的不足,在本发明中,引入一个边缘判别因子β,并对优先权函数重新定义。

如图3所示,将待修复块ψp沿着法线方向进行分割,待修复块ψp被分割成大小均匀的块1(记为p1)和块2(记为p2)。分别对p1和p2的已知像素求均值e(p1)和e(p2)。判别因子β被定义为:

β=|e(p1)-e(p2)|/α(8)

其中,α是归一化参数,一般取α=255。

结合结构稀疏性s(p)和边缘判别因子β的特性,对优先权函数p(p)重新定义,其大小为:

p(p)=s'(p)·c(p)(9)

式中,s'(p)的取值取决于待修复块所处的区域结构,其大小由以下原则决定:

(1)平滑区域块。s(p)值的大小可以较好的区别平滑区域与纹理区,因此,可设定一个阈值为γ(γ为经验常数,一般取0.0500),当结构稀疏度s(p)小于该阈值时待修复块位于平滑区域,反之则位于边缘纹理区域。因此,当修复块位于平滑区域时:

s'(p)=s2(p)(10)

(2)边缘或纹理区域块。在判别纹理和边缘区域时,根据表3的数据分析,利用判别因子β来进行判别,即设定一个阈值λ(λ为经验常数,一般取0.1000)。当判别因子β小于阈值λ时,表明待修复块位于纹理区域,这时s'(p)的大小为:

s'(p)=s2(p)(11)

否则待修复块位于边缘区域:

s'(p)=s(p)(12)

图4(a)-(d)和图5(a)-(d)分别给出了采用本发明定义的优先权函数与传统定义的优先权函数对破损图babon和barb修复结果的比较。从修复效果对比可以看出,利用本发明定义的优先权函数,保证了边缘部分会优先得到修复,抑制了纹理的延伸,使修复图像更具有完整性,获得了较好的修复效果。

第三步:自适应确定字典原子大小及字典的训练。

由于边缘区域和纹理区域具有较多的细节信息,而小尺度的字典原子能够捕获图像细小的特征,有利于边缘和纹理区域破损修复时的稀疏重构。平滑区域细节信息较少具有整体性,而大尺度的字典原子能够描述图像的整体特征,较为适合用于平滑区域的稀疏重构。为了确保字典原子大小的选择具有自适应性,对于图像不同结构区域的信息重构,应根据待修复区域的结特征,自适应地选择更优的字典原子大小,以满足不同结构区域修复的需要。因此,本发明利用待修复块所处区域结构的不同,自适应的选择合适的原子大小的字典,即结合结构稀疏性s(p)和边缘判别因子β自适应选择字典原子大小,其选择原则如下:

(1)当结构稀疏性s(p)小于其阈值γ时,待修复块位于平滑区域,重构该待修复块时,采用大小为9×9原子的字典。

(2)当结构稀疏性s(p)大于阈值γ且判别因子β小于阈值λ时,待修复块位于复杂纹理区域,重构该待修复块时,采用大小为7×7原子的字典。

(3)当结构稀疏性s(p)大于阈值γ且判别因子β大于阈值λ时,待修复块处于边缘区域,重构该待修复块时,采用大小为5×5原子的字典。

在字典训练时,为了提高字典的完备性,字典训练块不仅从待修复图像中提取,同时也从公共图像库中选取一部分自然图像中提取,以训练获得三个原子大小分别为9×9、7×7、5×5的字典。

在字典训练过程中,字典d为未知需要为其预定义初始值,然后依次获取稀疏编码以及更新字典。假设y={yi|i∈ω}表示从待修复图像中已知信息区域与自然图像中随机抽取的待训练样本集,在本发明中,采用k-svd方法求解待训练的样本集合所对应的字典。用k-svd算法训练样本集合所对应字典的过程可描述为:

其中,d=[d1,d2,…,dl]是过完备字典,k<<l表示xi的最大稀疏度为k;表示待训练信号。式(13)的求解是一个迭代过程,在迭代之前需先将字典初始化d,一般使用原图像中的随机图像块作为字典的初始值。k-svd方法是根据稀疏编码的步骤给出样本集的估计,达到字典原子更新的目的。其具体步骤,首先将式(13)改写为:

其中,dx分解成秩为1的k个矩阵和,其中k-1项为固定项,余下的1项为更新项。ek表示去掉相对应原子后,对样本集产生的误差;然后,对ek进行svd分解,更新相对应的原子dk。按照上述步骤,将字典{d1,d2,…,dl}中的所有原子都进行更新,即完成了字典d的训练。

图6(a)-(f)分别给出了利用不同原子大小的字典以及本发明算法采用自适应大小字典修复图像的效果。从图6中可以发现,小尺度的字典原子有利于边缘和纹理的修复,而平滑部分大尺度的原子的字典较为有优势,自适应修复效果要比原子大小固定的字典修复效果好。原子大小7×7的字典的效果相对5×5和9×9要好,所以过大的原子或者过小的原子都会使修复效果变差。在简单纹理区域采用较大的字典原子,可以克服因字典原子太小而导致的延伸现象。而在复杂纹理区域和边缘区域因为纹理比较丰富则需要较小的字典原子,可以避免因字典原子过大而导致修复的模糊]。因此,仅使用固定大小的字典,并不能满足各个区域不同结构的需求,而本发明较好地克服这一不足。

第四步:更新边缘并重复第二、三步骤直至图像完成修复。

为了检验本发明算法的修复效果,对图像进行了模拟仿真,并与其他算法进行了对比实验。仿真实验在matlab环境下进行。在对图像修复效果评时,除了采用主观评价外,同时也采用峰值信噪比(psnr)进行客观评价。

图7分别给出了四种修复算法对lena彩色图像小块破损(30×20,15×40,20×20,25×15,15×30)的修复效果的比较。从修复效果中可以看出,修复算法[1]由于在修复过程中未考虑修复优先权的问题,导致其修复效果不理想。修复算法[2]、修复算法[3]以及本发明算法对于小块破损处于平滑区域的修复效果的效果较好。但破损块位于边缘区域的时候,修复算法[2]和修复算法[3]效果较差,如在肩膀部分修复的时候,出现了边缘断裂、纹理延伸、以及纹理模糊的现象,修复痕迹较为明显,本发明的方法修复的图像更加自然和谐具有整体性。

图8分别给出了四种修复算法对baboon彩色图像大块破损(25x45,25x90,35x35)的修复效果的比较。从修复效果中可以看出,修复算法[1]、修复算法[2]、修复算法[3]对于大块破损区域位于平滑部分的修复出现了纹理延伸的现象,在纹理以及边缘部分的修复时,都出现了边缘不连续,纹理部分模糊的现象。本发明的算法较好的改善了该缺陷,不论在平滑区域的较大块破损还是边缘纹理区域的较大块破损,都取得了较好的修复效果,符合人眼的视觉效果。

图9分别给出了四种修复算法对文字去除效果的比较。修复算法[1]修复效果较为不理想,而修复算法[2]、修复算法[3]与本发明算法在平滑区域的修复都有较好的效果。但修复算法[2]在边缘区域的修复有边缘断裂的现象,修复算法[2]和修复算法[3]在细节修复上较为模糊,而本发明算法在边缘、细节上的修复效果则较为理想。

另外,实验中也对分别对不改进优先权函数只改变字典原子大小的修复效果和只改进优先权函数字典不改变原子大小做了对比实验。图10和图11分别给出了作不同改进时的修复效果,从图中可以看出,优先权函数未改进前,在边缘上的修复容易出现纹理延伸的情况,修复边缘出现断裂;采用固定大小的字典,在边缘纹理处会有模糊的现象导致修复效果不佳;采用改进的优先权函数与原子大小自适应相结合的本发明算法,有效的改善了修复效果。

从以上实验仿真数据可以看出,本发明采用改进的优先权函数并结合自适应选择字典原子大小,克服了传统优先级函数在修复过程中出现的纹理延伸,改善了传统稀疏修复算法采用固定大小字典修复出现的纹理模糊现象,使得修复效果有较好的提高,更加符合人眼的视觉效果。

以上对本发明的优选实施例及原理进行了详细说明,对本领域的普通技术人员而言,依据本发明提供的思想,在具体实施方式上会有改变之处,而这些改变也应视为本发明的保护范围。

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