基于邻域关联因子耦合信息度量规则的图像修复算法
2021-02-23常国锋许利军
常国锋,许利军
(1.新乡学院 计算机与信息工程学院,河南 新乡 453003; 2.武汉理工大学 计算机学院,湖北 武汉 430063)
数字图像已被应用于医学检测、教育科研以及航天探测等多个领域[1]。虽然数字图像较传统纸质信息传递的媒介具有便于获取以及保存的特点,但在数字图像生成以及存储等环节都有可能造成数字图像信息的破损[2-3]。由此,数字图像修复技术应运而生。图像修复是通过合适的信息,对破损内容进行填充,使得数字图像具有较好的视觉效果。
近年出现了较多图像修复方法。Fuchs等[4]对全变分模型进行分析,建立了高阶全变分模型,用于图像修复,但是这种方法不适合于受损面积较大图像的修复。Dai等[5]将分段函数应用于图像修复,通过其与数据项及置信度计算图像修复的顺序,利用Sobel算子替代梯度方向,对等照度线的计算方法进行改进,促进信息的融合,采用基于相似性识别受损区域附近样本的方法获取最优匹配块,修复受损区域。这种方法能够适应大、小面积损坏图像的修复,但在获取最优匹配块时,采用的是固定尺寸的样本块,没有考虑图像纹理信息的变化度,修复结果不理想。廖斌等[6]通过对图像分解方法进行研究,利用小波变换对图像进行分解,求取子图信息,并通过子图的颜色和结构特点计算匹配块的需求,通过最小堆随机査找方法和窄带模型对图像进行修复。这种方法也能够适应大面积破损图像的修复,但由于小波变换对方向选择较为敏感,在图像分解时易丢失图像的细节信息,使得修复图像含有间断现象。Huang等[7]利用图像分割的方法来对破损图像进行修复,采用分水岭图像分割算法对图像进行分割,通过在数据项中引入反映纹理特征细节的曲率特征来计算优先级,在图像分割区域内搜索像素块的匹配,完成图像修复。图像分割方法避免了图像信息丢失,但这种方法将像素块的匹配块搜索范围限定在图像分割区域内,使得修复图像的整体视觉效果不佳。
为了改善损坏区域的修复效果,消除间断和振铃效应,本研究利用图像块的像素均值和方差,设计了一种新的图像修复算法。在计算待修复块的优先权时,考虑图像块之间的关联性,利用待修复块与其邻域块的归一化互相关值构造邻域关联因子,通过其与置信度以及数据项计算待修复块的优先权,获取优先修复块。在获取样本块尺寸时,考虑图像纹理信息的变化度,通过图像块对应的均值和方差信息建立信息度量规则,对样本块尺寸进行调节。通过误差平方和函数(sum of squared differences,SSD),在图像的整个已知区域,根据样本块大小,搜索与待修复块对应的最优匹配块,用于修复受损区域。最后,测试了所提算法的修复性能。
1 图像修复算法设计
如图1所示,算法由计算优先权、样本块调节以及获取最优匹配块三个部分组成,具体步骤如下:
图1 所提算法的修复过程
1)计算待修复块对应的邻域关联因子,联合数据项和置信度,构造优先权计算模型,从破损区域中选取出优先修复块;
2)计算优先修复块的像素均值以及灰度方差值,用以建立信息度量规则,对样本块的大小进行选择,选取适当的样本块大小;
3)按照确定的样本块大小,对已知区域中的图像块以及优先修复块进行SSD计算,选取最小SSD值对应的图像块作为优先修复块的最优匹配块。利用其内部的像素值对优先修复块进行填充,完成图像的修复。
1.1 计算优先权
对于破损区域为θ,已知区域为ω,θ与ω的边界线为∂θ的破损图像I,Criminis算法中提出了通过置信项C(p)和数据项D(p)的乘积运算来计算待修复块优先权P(p)的方法[8]:
P(p)=C(p)D(p),
(1)
其中p为∂θ上的一个待修复像素点。
令以p为中心的待修复块为Up,其尺寸为s×s,则置信项C(p)为:
(2)
其中|Up|为Up中已知像素点的总数。
数据项D(p)为:
(3)
(4)
(5)
由式(5)可见,当Up与Hq的相关性越强时,D(Up,Hq)的值也越大;此时由式(4)可见,E(p)的值也将越大。由此可见,E(p)反映了待修复块Up与其邻域的关联性,且该关联性的大小与E(p)的值成正比。
通过E(p)构造的优先权计算模型为:
(6)
其中,β,δ,γ为权重系数,且0≤β,δ,γ<1,β+δ+γ=1。
1.2 样本块调节
样本块大小对修复图像的效果有重要的影响。所提算法是基于图像块的修复技术,样本块越大,在修复图像时就可以按照样本块大小,一次性修复更大的破损区域,对图像复原的效率越高;反之,图像块越小,则对图像复原的效率越低。对于单一纹理区域,其信息变化度较小,可以选择较大的样本块尺寸,以便缩短算法运行时间。对于纹理较为丰富的区域,其信息变化度较大,如果采用较大的样本块将导致该样本块内有多种纹理信息,容易造成修复图像出现纹理间断以及振铃效应[10]。对此,本研究通过对图像块的像素均值以及灰度方差进行度量,建立了信息度量规则,对样本块的大小进行调节。
令b为以像素点i为中心的图像块,其尺寸为w×w,i的像素值为gi,则该图像块对应的像素均值A(i,w)与灰度方差值G(i,w)分别为[11]:
(7)
(8)
样本块的纹理信息变化与样本块的像素均值以及灰度方差值有关,可通过相邻两个样本块的像素均值以及灰度方差来建立信息度量规则,对相邻样本块的信息变化度进行度量,从而实现样本块大小的调节,如图2所示。该信息度量规则的实现过程如下:
图2 样本块大小调节过程图
1)设立样本块初始大小为w×w,通过式(7)和式(8)分别计算其像素均值A(i,w)与灰度方差G(i,w);
2)将该样本块向外扩大两个像素,扩展成(w+2)×(w+2),并利用式(7)和式(8)分别计算其像素均值A(i,w+2)与灰度方差G(i,w+2),计算扩展大小后样本块与扩展前样本块的像素均值之差ΔA(i,w,w+2)及灰度方差ΔG(i,w,w+2);
ΔA(i,w,w+2)=|A(i,w)-A(i,w+2)|,ΔG(i,w,w+2)=|G(i,w)-G(i,w+2)|。
(9)
3)将ΔA(i,w,w+2)与ΔG(i,w,w+2)分别与均值阈值ε和方差阈值φ进行比较。若ΔA(i,w,w+2)<ε且ΔG(i,w,w+2)<φ,则表示扩展大小后样本块的信息变化度不大,样本块大小扩展成功,此时设置w=w+2。若ΔA(i,w,w+2)≥ε或ΔG(i,w,w+2)≥φ,则表示扩展失败,样本块大小仍为w。迭代该过程直到确定样本块大小为止。
1.3 获取最优匹配块
从样本块大小调节的过程可知,所用图像块初始大小为w×w,最终图像块大小是需要根据信息度量规则所确定的。确定样本块大小后,以该大小在破损图像的已知区域内寻找与待修复块相似度最高的最优匹配块,用以对待修复块进行填充修复。通过误差平方和函数对待修复块与匹配块中像素点的RGB差值进行计算以获取最优匹配块,是一种较为常用的方法,在此将采用该方法获取最优匹配块。
SSD函数搜寻最优匹配块的过程为[12]:
(10)
其中SSD函数为:
(11)
R(·)、G(·)、B(·)分别表示像素点的RGB值。
2 实验结果
在Intel酷睿双核,4GBRAM的计算机上,利用MATLAB 2014作为软件进行实验,对算法进行实验测试,测试结果与文献[13-14]中所用方法进行对比。实验测试目标均选择纹理结构丰富的图像,再对其进行不同程度的破损操作,随后分别利用不同方法对小面积以及大面积破损图像进行修复测试,以验证不同方法的修复性能。实验过程中的相关参数为β=0.5,δ=0.3,γ=0.2,w×w=3×3,ε=6,φ=3。按照如下实验过程进行修复测试:
1)利用式(4)计算待修复块的邻域关联因子,分别联合式(2)和式(3)来计算损坏子块的置信度和数据项,以此形成优先权计算模型式(6),根据式(6),破损区域中选取出优先修复块;
2)通过式(7)、式(8)分别计算优先修复块的像素均值以及灰度方差值,形成建立信息度量规则,按照图2所示流程对样本块的大小进行选择,选取适当的样本块大小;
3)按照确定后的样本块大小,利用式(11)对已知区域中的图像块以及优先修复块进行SSD计算,并根据式(10)选取最小SSD值对应的图像块,将其作为优先修复块的最优匹配块。利用其内部的像素值对优先修复块进行填充,完成图像修复。若破损图像为黑白图像,则可将式(11)中的R、G、B值更换成图像的灰度值,然后再通过式(10)选取最小SSD值对应的图像块,求取最优匹配块,对图像进行修复:
(12)
式中G(·)表示像素点的灰度值。
采用文献[13]、[14]和本文方法分别对小面积破损图像的修复结果如图3所示。对比图3中的修复结果可发现,图3(c)的修复结果中含有多处修复不完全以及间断现象,图3(d)的修复结果中含有较为严重的模糊现象与块效应,图3(e)的修复结果中不存在修复不完全以及间断现象,仅有一处轻微模糊现象。
图3 不同方法对小面积破损图像修复结果
图4为不同方法对遮蔽物大面积破损图像的修复结果。通过修复结果可见,文献[13]方法修复的结果中含有边缘间断现象以及振铃效应,文献[14]方法修复的结果中含有块效应和修复不完全现象,本文方法修复的结果中仅存一处些许块效应。
图4 不同方法对遮蔽物大面积破损图像修复结果
不同方法对黑白破损图像的修复结果如图5所示。对比修复结果可见,文献[13]方法的修复结果中含有修复不完全以及间断现象,文献[14]方法的修复结果中含有振铃以及间断现象,本文方法的修复结果中仅存一处轻微修复遗留现象。
图5 不同方法对黑白破损图像修复结果
不同方法对老照片破损图像的修复结果如图6所示。从图6可见,文献[13]方法的修复结果中含有模糊以及块现象,文献[14]方法的修复结果中含有间断以及修复残留现象,本文方法的修复结果中仅存一处轻微模糊现象。
图6 不同方法对老照片破损图像修复结果
不同方法对文字大面积破损图像的修复结果如图7所示。通过修复图像的整体效果可见,文献[13-14]方法及本文方法的修复效果都还好,但将不同方法的修复区域进行放大可见,文献[13]方法的修复区域含有模糊及修复不完全现象,文献[14]方法的修复区域含有振铃及间断现象,本文方法的修复区域仅有轻微模糊现象。由此可见,本研究所提方法修复的图像具有较好的视觉效果,图像的边缘及纹理连续性较好。因为所提方法通过待修复块与其邻域块的归一化互相关值构造了邻域关联因子,通过其构造了优先权计算模型,在优先权计算过程中考虑了待修复块与其邻域的关联性,使得优先权计算更稳定和合理,同时所提方法还利用图像块的像素均值以及灰度方差值,建立了信息度量规则,通过对图像块的信息变化度进行计算,获取合适大小的样本块,适应图像中不同的纹理变化,提高了算法修复图像的质量。
图7 不同方法对文字大面积破损图像修复结果
为了进一步对所提方法的修复性能进行测试,选用图4(a)作为测试图像,将其进行不同程度的损坏,然后利用不同方法对损坏图像进行修复,并对不同方法修复图像的结构相似度(SSIM)和修复平均耗时进行对比,以分析不同方法的修复性能。SSIM反映了修复图像与原图像在结构上的相似程度,是图像修复算法测试过程中常用的数值测量指标,其值的大小与修复图像质量的好坏成正比[15]。
图8展示了不同方法修复图像的SSIM结果,对比SSIM值可见,本文方法修复图像的SSIM值一直最大;不同方法对损坏度为45%的破损图像进行修复后,文献[13]、[14]方法以及本文方法修复图像的SSIM值分别为0.835、0.899以及0.954。不同方法的修复平均耗时如表1所示,发现文献[14]具有最高的修复效率,平均耗时最少,仅为3.73 s。本方法同样具有较为理想的修复效率,平均耗时为3.92 s,与文献[14]较为接近。由此说明,本研究方法同时具有较高的修复性能与效率。原因在于通过建立信息度量规则对相邻样本块的信息变化度进行度量,根据信息变化度的大小,对样本块的尺寸进行调节,使得样本块大小能够适应信息变化的剧烈程度。虽然采用动态的样本块尺寸需要一个迭代过程,一定程度上增加了算法的计算量,但本文算法仍然属于基于块的修复技术范畴,在对图像进行较好修复的同时还具备较高的修复效率。另外,通过引入SSD函数,在整个已知区域中对待修复块与匹配块中像素点的RGB差值进行计算,寻找与待修复块最为相似的匹配块作为最优匹配块,对待修复块进行填充修复,保证了填充修复内容的正确性,提高了修复性能。文献[13]中设计了图像修复所需的自适应变分泛函,构造了一种稳定的变分格式,并计算了最小泛函解的存在性和唯一性,通过泛函导出了四阶偏微分方程,并通过其对应的离散形式完成像素扩散,实现图像修复。由于偏微分方程不适应大面积损坏图像的修复,且这种像素扩散并非基于块的修复方法,需要遍历整个图像的像素,增加了算法的计算量,导致效率不佳。文献[14]利用空间变化方法对置信项进行更新,并通过匹配置信项的方法计算待修复块的优先权值,获取优先修复块,利用快速傅立叶变换搜索与待修复块最为匹配的最佳匹配块,以完成图像修复。该方法中搜索最佳匹配块时,采用了固定尺寸的样本块,虽然可以避免反复的迭代过程,提高修复效率,但忽略了图像的信息变化度,使得算法不能够较好地适应图像的不同纹理结构,导致修复性能有所下降。
图8 不同方法修复图像的SSIM结果
表1 不同算法的修复平均耗时
3 结论
本研究利用待修复块与其邻域块的归一化互相关值构造邻域关联因子,构造了优先权计算模型,优先权的计算过程中考虑了待修复块与其邻域的关联性,优先权的计算更为稳定和准确。同时,所提方法还利用图像块对应的均值和方差信息建立了信息度量规则,根据度量结果对样本块的大小进行调整,获取合理的样本块大小。引入SSD函数对待修复块与匹配块中像素点的RGB差值进行计算,在已知区域中获取最优匹配块,完成图像修复。通过实验可见,所提方法修复的图像具有较好的视觉效果和较好的结构相似度,说明所提方法具有较好的修复性能。