2. 江西理工大学 资产管理处, 江西 赣州 341000
2. Asset Management Division, Jiangxi University of Science and Technology, Ganzhou Jiangxi 341000, China
作为计算机视觉中一个重要的研究热点,图像修复的目的是恢复图像中破损区域的信息,或者去除图像中多余的物体,使得修复后的图像看上去和谐自然。图像修复技术已经被广泛应用于图像和视频的修复、图像中多余信息的去除等方面。图像修复的基本原理是以自动的方式,利用图像中已知的信息来修复图像中丢失的部分,并且使修复后的图像满足人们的视觉效果。
图像修复的方法包括两类:图像域修复和变换域修复。图像域修复的方法主要有基于偏微分方程(Partial Ddifferential Equation,PDE)的修复方法[1]、基于曲率驱动扩散模型的修复方法[2]、基于全变分模型的修复方法[3]、基于样例的图像修复[4]。基于偏微分方程的方法有比较完备的数学基础,对局部小区域的修复有着比较理想的效果,但是修复速度较慢,同时难以保持较大区域的边缘。而且基于偏微分方程的方法对于纹理图像或结构较为复杂的大区域破损图像的修复非常困难,因此图像修复最近几年更多的是向基于模板的方向发展。2003年,Criminisi等[5]提出了基于样本的图像修复方法,2010年,Xu等[6]提出了基于块稀疏表示的修复方法。纹理合成实际上是一种非常成熟并且典型的基于模板的图像修复方法。新的研究方向更多关注大区域,或者纹理与结构并存的修复。纹理和结构并存的修复一般方法是将纹理和结构区分以后再采用相应的方法对应进行修复[7]。然而上述方法有一个共同的缺点,就是运算量较大,修复速度较慢。因此研究者提出了基于变换域的图像修复方法。
当新的图像压缩标准JPEG2000发布以后,许多图像根据小波系数进行存储。因此,基于变换域的图像修复方法有小波域修复[8-12]、基于分形理论的图像修复算法[13-15]等。这些图像修复方法均是在基于图像的小波变换(Wavelet Transform,WT)或分形变换之后,再采用相应的图像修复方法对图像进行修复。
作为一种优秀的数学工具,小波变换能够对图像在频率域进行有效的分解与重构,在图像处理中有着很好的应用,并且被广泛用于图像修复领域。但是因为常用的二维小波是一维小波的张量积,基是各向同性的,所以只能具有水平、垂直和对角三个有限方向。方向性的缺乏使得小波变换容易丢失图像的细节信息,不能很好利用图像本身的几何正则性[16]。针对小波这一缺点,2002年,Do等[17]提出了轮廓波变换。除了具有小波的多分辨率特性和时频局部化特性,轮廓波还具有很好的方向性和各向异性。文献[18-19]分别结合轮廓波变换提出了相应的图像修复方法。
但是轮廓波变换的基函数光滑度不够理想,导致轮廓波变换缺乏平移不变性,因此在图像处理中出现频谱混淆现象,消弱了它的方向选择性和频域局部性。2006年,Da Cunha等[20]提出了非降采样轮廓波变换(Non-Subsampled Contourlet Transform,NSCT)。NSCT不仅继承了轮廓波变换多尺度、多方向分析的优点,而且还能够获取图像的几何结构,准确地把图像的边缘信息推广到各个不同频率。在不同尺度的各个子带图像中,由于具备平移不变性,去除了采样操作,NSCT可以有效消除轮廓波的伪吉布斯现象,因此,NSCT更加适合纹理方向性的分析。NSCT已经广泛用于图像融合[21]、图像增强[22]等领域,但是NSCT在图像修复领域中的应用研究较少。
针对图像中较大的破损区域,基于纹理合成的图像修复算法是图像修复领域近年来的主要发展方向。本文在分析NSCT和纹理合成修复算法的基础上,针对图像较大破损区域的修复提出了一种基于NSCT系数相关性的纹理合成算法。该算法利用NSCT分解后,纹理图像的能量信息主要集中在低频子带分量中,且低频子带分量和高频子带分量信息之间具有一定的位置对应关系,由此完成低频分量和高频分量的修复,简化了修复过程,能够有效提高图像修复的速度。
1 基于纹理合成的自适应图像修复算法目前大区域纹理修复主要是基于纹理合成的修复算法。在图 1所示的图像修复过程示意图中,待修复的受损区域为Ω,也称为目标区域;目标区域的边缘轮廓线为∂Ω,P为边界上的一点,以P点为中心的待修复块为ΨP;样本区域(源区域)为Φ。
待修复纹理块的填充次序对纹理合成的效果至关重要。
边界点P的优先权[23]Q(P)定义为:Q(P)=C(P)+αD(P),式中当前块的置信度项为C(P),数据项为D(P),α的最优值是为了使得D(P)在决定优先权上占有更重要的地位,其中:
$\left\{ \begin{matrix} C(p)=\frac{1}{|{{\mathit{\Psi }}_{P}}|}\sum\limits_{q\in {{\mathit{\Psi }}_{P}}\cap \overset{-}{\mathop{\Omega }}\,}{C(p)} \\ D(p)=|\nabla I_{P}^{\bot }\cdot {{n}_{P}}|/\beta \\ \end{matrix} \right.$ | (1) |
式中:|ΨP|为模板ΨP的面积,即像素点的个数;
Ω为相对于整个图像而言受损区域的补集;
C(q)为像素点q的置信度,初始值为
由实验发现,被修复图像的质量依赖于模板窗口ΨP的大小。从某种程度上说,图像梯度的变化可以间接反映图像空间频率的变化。因此,模板窗口大小的函数sizep(P)可以表示成梯度|∇I(P)|的函数。下面给出模板窗口大小自适应的选择方案:
$sizep(p)=\left\{ \begin{matrix} tempsiz{{e}_{\max }},|\nabla I(p)|\le gradvalu{{e}_{\min }} \\ k\frac{1}{|\nabla I(p)|}+h\begin{matrix} , \\ \end{matrix}其他 \\ \end{matrix} \right.$ | (2) |
式中:k和h是常数,与sizep(P)和|∇I(P)|的取值范围有关;P是任意像素的位置;tempsizemax表示模块窗口大小的最大取值,本文取为9;gradvaluemin表示最小梯度值。
1.3 最优匹配块的确定当确定待修复区域边界最大优先权点P之后,则以P点为中心,在原图像源区域内搜索ΨP的最优匹配块Ψq,使之满足关系Ψq=
当找到最优匹配块Ψq后,用Ψq中的相应像素填充ΨP中的未知像素,并且更新匹配块ΨP中修复好的各点的置信度和待修复区域的边界∂Ω。重复上述操作,直至待修复区域被全部填充为止。
2 非降采样轮廓波变换轮廓波变换采用拉普拉斯金字塔(Laplace Pyramid,LP)分解来提取多分辨率信息,将图像分成低通和高通子带,采用方向滤波器组(Directional Filter Bank,DFB)来提取LP滤波后的高频带通的方向信息(如图 2)。整个过程可以在LP滤波产生的低频子带上迭代进行。高频子带经过方向滤波器组可以得到各个方向子带信息,最终实现对图像的多尺度、多方向分解。但是因为进行下采样操作,使得高频子带各方向子带中均存在频谱混淆现象。
非降采样轮廓波变换是一种不进行下采样的轮廓波变换,图 3是NSCT滤波器组结构和频带划分示意图。
为了实现平移不变性,消除轮廓波变换的频谱混淆现象,NSCT由非降采样金字塔滤波器组(Non-Subsampled Pyramid Filter Bank,NSPFB)和非降采样方向滤波器组(Non-Subsampled Directional Filter Bank,NSDFB)两部分组成,其中NSPFB提供了多尺度分析,NSDFB提供了方向特征分析。
通过NSPFB将图像分解为低频子带和高频子带,只需对低频子带继续迭代滤波便可实现多尺度分解;然后使用NSDFB对高频子带部分进行方向滤波,得到2d个方向子带图像(d为NSDFB的方向数目),由此实现对二维图像的多尺度、多方向分解。由于NSPFB和NSDFB均无抽样环节,因此NSCT具有平移不变性,同时每个子带的图像均与原图像大小相同。
大多数纹理图像经过NSCT分解后,低频分量集中了绝大多数能量,而高频分量所拥有的能量较少,拥有原图像的细节信息,从图 4可以看出这一现象。
从图 4还可以看出,低频分量与高频分量对应位置的信息是相似和一致的,所以能够在修复NSCT低频分量的同时,完成对应位置高频分量的修复。利用低频分量对应的修复矢量完成相应高频分量的修复,而不再计算高频分量的优先权和最优匹配块。高频分量修复原理如图 5所示。
Barbi图像(512×512) 低频分量和高频分量的修复效果如图 6所示。
由图 6可以看出,在修复好低频分量某一块破损区域时,可以利用低频分量和高频分量信息的相似性和一致性,完成对应位置高频分量破损区域的修复。
文献[24]给出了一种小波系数相关性的纹理图像快速修复算法。由于小波变换方向性的缺乏,使得小波变换只具有水平、垂直和对角三个方向的高频分量。虽然小波变换低频分量和高频分量之间具有一定的相似性,可以用于图像的修复过程,但是这些低频分量和高频分量均缩小为原来的1/2m,其中m为小波变换的分解次数。本文算法与文献[24]有一定的相似之处,这也是多尺度分析理论的共性。但是由于NSCT过程无抽样环节,具有平移不变性,使得变换后的所有低频和高频图像均与原图像大小相同;其次,NSCT的方向性更加灵活,具有更多的方向可以选择,而不仅仅是水平、垂直和对角三个方向。这是NSCT与小波变换的不同之处,也是NSCT的特色所在。
以上实验给出了图像经过NSCT后低频分量和各个高频分量修复的效果,下面给出基于NSCT的图像修复算法。
3 基于NSCT的图像修复算法NSCT具有平移不变性,使得变换后每个像素都对应于原图像的相应位置,因此可以通过分析NSCT各个子带的系数来分析图像的像素信息。
对于纹理图像,经过NSCT,能量主要集中在低频分量中,高频分量包含的能量较少,同时图像变换后的各个子带系数之间仍然存在较强的相关性。因此,高频分量与低频分量对应位置的信息是相似的,可以在修复低频分量的同时实现对应位置高频分量的修复。
通过前面的分析,本文图像修复算法描述如下。
步骤1 对输入的需要修复的图像进行2尺度2方向NSCT。
步骤2 对于分解后的低频分量采用改进的基于纹理合成的算法进行修复。先计算低频分量破损区域各点的优先权,选取优先权最大的样本块,在有效区域内搜索相应的最优匹配块,并进行相应的填充。
步骤3 根据低频分量最高权样本块与相应最优匹配块的位置关系,在4个高频分量中将对应位置的信息分别复制到各自破损区域之中。
步骤4 重复步骤2和步骤3,直至低频分量和相应高频分量中破损区域全部被修复完成为止。
步骤5 将修复后的各个NSCT低频分量和高频分量进行合成,通过NSCT重构方法获得图像修复的初始结果。
步骤6 对步骤5所获得的初始修复结果,使用一定的方法进行润色,获得更好的修复效果。
4 实验仿真与分析算法以Matlab 8.1为平台,实验所用计算机配置为Intel B800M 1.5 GHz,内存2 GB。采用Lena(256×256) 和Barbi图像(512×512) 作为样本进行实验对比,通过实验验证算法的有效性。
图像修复的质量主要通过图像修复的逼真度进行度量,可以从主观上进行描述,由观察者根据所评价的图像进行评判,也可以从客观角度定量地进行描述。在目前图像修复的衡量标准中,客观描述多采用均方差(Mean Square Error,MSE)测度、信噪比(Signal-to-Noise Ratio,SNR)测度、峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)测度以及结构相似性(Structural Similarity,SSIM)测度进行度量[23]。
假设X为原始图像,Y为修复后图像,H、W分别为图像的高度和宽度;n为每像素的比特数,一般取8,即像素灰阶数为256。则以上修复质量的测度分别定义如下:
1) 均方差测度:
$MSE=\frac{1}{H\times W}\sum\limits_{i=1}^{H}{\sum\limits_{j=1}^{W}{{{(X(i,j)-Y(i,j))}^{2}}}}$ |
2) 信噪比测度:
$SNR=10\lg \left\{ \frac{\sum\limits_{i=1}^{H}{\sum\limits_{j=1}^{W}{X{{(i,j)}^{2}}}}}{\sum\limits_{i=1}^{H}{\sum\limits_{j=1}^{W}{{{(X(i,j)-Y(i,j))}^{2}}}}} \right\}$ |
3) 峰值信噪比测度:
PSNR=10 lg ((2n-1) 2/MSE)
4) 结构相似性测度:
SSIM(X,Y)=l(X,Y)×c(X,Y)×s(X,Y)
其中:
$l(X,Y)=\frac{2{{\mu }_{X}}{{\mu }_{Y}}+{{C}_{1}}}{\mu _{X}^{2}+\mu _{Y}^{2}+{{C}_{1}}}$ |
$c(X,Y)=\frac{2{{\sigma }_{X}}{{\sigma }_{Y}}+{{C}_{2}}}{\sigma _{X}^{2}+\sigma _{Y}^{2}+{{C}_{2}}}$ |
$s(X,Y)=\frac{{{\sigma }_{XY}}+{{C}_{3}}}{{{\sigma }_{X}}{{\sigma }_{Y}}+{{C}_{3}}}$ |
${{\mu }_{X}}=\frac{1}{H\times W}\sum\limits_{i=1}^{H}{\sum\limits_{j=1}^{W}{X(i,j)}}$ |
$\sigma _{X}^{2}=\frac{1}{H\times W-1}\sum\limits_{i=1}^{H}{\sum\limits_{j=1}^{W}{{{(X(i,j)-{{\mu }_{X}})}^{2}}}}$ |
${{\sigma }_{XY}}=\frac{1}{H\times W-1}\sum\limits_{i=1}^{H}{\sum\limits_{j=1}^{W}{((X(i,j)-{{\mu }_{X}})(Y(i,j)-{{\mu }_{Y}}))}}$ |
μX、 μY分别表示图像X和Y的均值;σX、σY分别表示图像X和Y的方差,σXY表示图像X和Y的协方差;C1、C2、C3为常数,为了避免分母为0的情况,通常取C1=(K1×L)2,C2=(K2×L)2,C3=C2/2;一般地,K1=0.01,K2=0.03,L=255。
PSNR数值越大表示图像失真越小;SSIM取值范围为[0,1],其值越大,表示图像失真越小。作为最广泛使用的评价图像质量的客观量测法,许多实验结果都显示,PSNR的值无法和人眼看到的视觉品质完全一致,有可能出现PSNR较高者看起来反而比PSNR较低者差。这是由于人眼的视觉对于误差的敏感度并不是绝对的,其感知结果会受到许多因素的影响而产生变化。
仿真实验相关数据如表 1所示。由表 1可以看出,两幅图像修复后的SSIM测度相差不大,但是PSNR测度由于图像纹理特征和破损区域的位置和特点不同而产生较大的变化。
任何一种图像修复的方法都不能对所有破损图像进行很好的修复,一般选择图像修复效果尽可能好的参数进行实验。针对图像不同的纹理特征和不同的破损区域,选择相应的方法进行修复,以期获得较好的修复结果。 本文给出了一个反例,以说明图像的不同纹理特征和破损区域不同的位置和特点对修复结果有很大的影响。图 7的Barbi图,针对光滑区域破损图像,经过样本块匹配过程,把一些干扰点带入需要修复区域的中心位置,使得本文算法的修复效果图的中心有明显的修复痕迹和灰色区域,导致本文算法的PSNR出现了明显降低。 而图 7的Lena图,其破损区域带有非常丰富的纹理特征,在修复效果图中,本文算法与经典Criminisi算法、小波算法均取得了较好的视觉效果和参数结果。实验表明,图像的纹理特征和破损区域的位置与特点对图像修复的结果有很大的影响。
本文提出了一种基于非降采样轮廓波变换的数字图像修复算法。该算法利用NSCT系数之间的相关特性,对破损图像NSCT分解的低频分量采用改进的纹理合成的算法进行修复的同时,根据对应关系实现相应的各个高频分量的修复,取得了较好的修复效果。图像修复方法的参数选取一般以图像修复的效果而定,本文的实验给出了两种不同的修复结果,说明图像不同的纹理结构和不同的破损区域对于图像的修复效果会有很大的影响。多尺度分析技术已经广泛应用于数字图像处理的各个领域,但是不同技术方法的原理不一样,所得到的图像的低频成分和高频成分的特点也各不相同。在现有图像修复的基础之上,将研究一类基于多尺度分析理论的图像修复的通用算法,真正融合基于偏微分方程和基于纹理合成的方法,而不是现有的依据图像破损区域的不同特点而选用不同的修复方法。
[1] | 李旭超, 刘海宽, 宋博. 能量泛函正则化模型在图像恢复中的应用分析[J]. 中国图象图形学报, 2014, 19 (9) : 1247-1259. ( LI X C, LIU H K, SONG B. Application analysis of regularization model of energy functional to image restoration[J]. Journal of Image and Graphics, 2014, 19 (9) : 1247-1259. ) |
[2] | CHAN T F, SHEN J J. Non-texture inpainting by Curvature Driven Diffusions (CDD)[J]. Journal of Visual Communication and Image Representation, 2001, 12 (4) : 436-449. doi: 10.1006/jvci.2001.0487 |
[3] | CHAN T F, SHEN J J. Mathematical models for local non-texture inpaintings[J]. SIAM Journal on Applied Mathematics, 2002, 62 (3) : 1019-1043. doi: 10.1137/S0036139900368844 |
[4] | 张绚, 尹立新, 李振杰. 一种改进的基于样例的图像修复算法[J]. 计算机应用与软件, 2014, 31 (10) : 216-219. ( ZHANG X, YIN L X, LI Z J. An improved exemplar-based image inpainting method[J]. Computer Applications and Software, 2014, 31 (10) : 216-219. ) |
[5] | CRIMINISI A, PÉREZ P, TOYAMA K. Object removal by examplar-based inpainting[C]//Proceedings of the 2003 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Washington, DC:IEEE Computer Society, 2003:721-728. |
[6] | XU Z, SUN J. Image inpainting by patch propagation using patch sparsity[J]. IEEE Transactions on Image Processing, 2010, 19 (5) : 1153-1165. doi: 10.1109/TIP.2010.2042098 |
[7] | BERTALMIO M, VESE L, SAPIRO G, et al. Simultaneous structure and texture image inpainting[J]. IEEE Transactions on Image Processing, 2003, 12 (6) : 882-889. |
[8] | 郝岩, 许建楼. 迭代重加权的小波变分修复模型[J]. 电子与信息学报, 2013, 35 (12) : 2916-2920. ( HAO Y, XU J L. Iteratively reweighted based wavelet variational inpainting model[J]. Journal of Electronics & Information Technology, 2013, 35 (12) : 2916-2920. ) |
[9] | 胡文瑾, 刘仲民, 李战明. 一种改进的小波域图像修复算法[J]. 计算机科学, 2014, 41 (5) : 299-303. ( HU W J, LIU Z M, LI Z M. Improved algorithm for image in painting in wavelet domain[J]. Computer Science, 2014, 41 (5) : 299-303. ) |
[10] | 程村. 基于边缘自适应小波变换的图像修复算法[J]. 工程地球物理学报, 2013, 10 (4) : 576-582. ( CHENG C. Image inpainting based on edge adaptive wavalet transform[J]. Chinese Journal of Engineering Geophysics, 2013, 10 (4) : 576-582. ) |
[11] | 刘纯利, 张弓. 基于小波框架的盲图像修复研究[J]. 计算机科学, 2013, 40 (4) : 295-297. ( LIU C L, ZHANH G. Wavelet frame based blind image inpainting[J]. Computer Science, 2013, 40 (4) : 295-297. ) |
[12] | 吕永利, 姜斌, 包建荣. 基于像素权值的高效小波图像修复算法[J]. 信息与控制, 2015, 44 (1) : 104-109. ( LYU Y L, JIANG B, BAO J R. Efficient wavelet image inpainting algorithm based on pixel weight values[J]. Information and Control, 2015, 44 (1) : 104-109. ) |
[13] | 李晋江, 张彩明, 范辉, 等. 基于分形的图像修复算法[J]. 电子学报, 2010, 38 (10) : 2430-2435. ( LI J J, ZHANG C M, FAN H, et al. Image inpainting algorithm based on fractal theory[J]. Acta Electronica Sinica, 2010, 38 (10) : 2430-2435. ) |
[14] | 姚燕, 汤进, 罗斌. 基于迭代分形解码和边缘扩展的图像修复算法[J]. 计算机工程, 2012, 38 (2) : 218-220. ( YAO Y, TANG J, LUO B. Image inpainting algorithm based on iterative fractal decoding and edge expansion[J]. Computer Engineering, 2012, 38 (2) : 218-220. ) |
[15] | 杨秀红, 郭宝龙. 基于分形的数字图像修补算法[J]. 光电子·激光, 2010, 21 (9) : 1402-1407. ( YANG X H, GUO B L. A new image inpainting algorithmbased on fractal theory[J]. Journal of Optoelectronics·Laser, 2010, 21 (9) : 1402-1407. ) |
[16] | 焦李成, 谭山. 图像的多尺度几何分析:回顾与展望[J]. 电子学报, 2003, 31 (12A) : 1975-1981. ( JIAO L C, TAN S. Development and prospect of image multiscale geometric analysis[J]. Acta Electronica Sinica, 2003, 31 (12A) : 1975-1981. ) |
[17] | DO M N, VETTERLI M. Wavelet-based texture retrieval using generalized Gaussian density and Kullback-Leibler distance[J]. IEEE Transactions on Image Processing, 2002, 11 (2) : 146-158. doi: 10.1109/83.982822 |
[18] | 李宣妮, 王慧琴, 吴萌. 轮廓波系数引导的数字图像修复算法研究[J]. 计算机工程与应用, 2015, 51 (19) : 206-209. ( LI X N, WANG H Q, WU M. Research of image inpainting algorithm led by contourlet coefficients[J]. Computer Engineering and Applications, 2015, 51 (19) : 206-209. ) |
[19] | 尚丽, 苏品刚, 周昌雄. 轮廓波和非负稀疏编码收缩的毫米波图像恢复[J]. 激光与红外, 2011, 41 (9) : 1049-1053. ( SHANG L, SU P G, ZHOU C X. Denoising millimeter wave image using contourlet and sparse coding shrinkage[J]. Laser & Infrared, 2011, 41 (9) : 1049-1053. ) |
[20] | DA CUNHA A L, ZHOU J, DO M N. The nonsubsampled contourlet transform:theory design and applications[J]. IEEE Transactions on Image Processing, 2006, 15 (10) : 3089-3101. doi: 10.1109/TIP.2006.877507 |
[21] | 陈木生. 结合NSCT和压缩感知的红外与可见光图像融合[J]. 中国图象图形学报, 2016, 21 (1) : 39-44. ( CHEN M S. Image fusion of visual and infrared based on NSCT and compressed sensing[J]. Journal of Image and Graphics, 2016, 21 (1) : 39-44. ) |
[22] | 王静静, 贾振红, 覃锡忠, 等. 基于NSCT与模糊对比度的图像增强算法[J]. 计算机工程与设计, 2015, 36 (10) : 2754-2758. ( WANG J J, JIA Z H, QIN X Z, et al. Image enhancement algorithm based on NSCT and fuzzy contras[J]. Computer Engineering and Design, 2015, 36 (10) : 2754-2758. ) |
[23] | 吴亚东, 张红英, 吴斌. 数字图像修复技术[M]. 北京: 科学出版社, 2010 : 18, 92 -94. ( WU Y D, ZHANG H Y, WU B. The Techniques of Digital Image Inpainting[M]. Beijing: Science Press, 2010 : 18, 92 -94. ) |
[24] | 何凯, 梁然, 张涛. 基于小波系数相关性的纹理图像快速修复算法[J]. 天津大学学报:自然科学与工程技术版, 2010, 43 (12) : 1093-1097. ( HE K, LIANG R, ZHANG T. Fast texture image completion algorithm based on dependencies between wavelet coefficients[J]. Journal of Tianjin University, 2010, 43 (12) : 1093-1097. ) |