Print

发布时间: 2018-09-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.180006
2018 | Volume 23 | Number 9




    图像处理和编码    




  <<上一篇 




  下一篇>> 





不规则块的图像补全算法
expand article info 王心怡1, 翟东海1,2
1. 西南交通大学信息科学与技术学院, 成都 610031;
2. 西藏大学工学院, 拉萨 850000

摘要

目的 目前在图像补全领域研究的重点和难点是补全具有复杂结构信息和丰富纹理信息的大破损区域的图像。传统的基于样本块的图像补全算法主要采用规则的模板块和匹配块来进行补全,补全过程中不能充分利用图像的结构或纹理的不规则信息,从而影响算法修复的精度和效率。针对这一问题,本研究提出一种基于不规则块的图像补全算法。方法 在该算法中,首先利用结构稀疏度来区分图像的结构信息和纹理信息并基于结构稀疏度和置信度计算破损区域边界点的优先级,然后选择优先级最高的点构造规则模板块。对处于复杂结构区域的模板块,如果其邻域含有已知的结构信息,则膨胀该规则模板并利用其周围的结构信息来辅助构造不规则模板块。接下来,在图像完好区域内搜索与该模板块对应的匹配块,如果该匹配块的邻域包含有效的结构信息,则膨胀该匹配块并补充其周围的结构信息来完善该不规则匹配块。最后,利用该不规则匹配块补全破损区域。对于补全过程中块间接缝造成的视觉不连通问题,本研究利用图像的纹理信息来进行修饰。结果 将本文算法与4种修复效果较好的算法(3种基于规则块的算法和1种基于局部敏感哈希的修复算法)进行对比,通过8组经典图像进行实例验证,采用客观评价指标峰值信噪比PSNR和主观视觉连通性进行评价,结果表明本文提出的算法峰值信噪比相较4种对比算法均有04 dB的提高,且在补全的精细度和视觉连通性方面有更佳的效果。结论 本文算法在补全含有较复杂结构和丰富纹理的破损自然图像、壁画图像和目标物体移除上有较好的修复效果,普适性较强。

关键词

图像补全; 结构稀疏度; 不规则块; 接缝修饰; 局部一致性; 自适应

Image completion method with irregular patch
expand article info Wang Xinyi1, Zhai Donghai1,2
1. School of Information Science and Technology, Southwest Jiaotong University, Chengdu 610031, China;
2. School of Engineering, Tibet University, Lhasa 850000, China
Supported by: National Natural Science Foundation of China(61461048)

Abstract

Objective The highlight and difficult point of the current research in terms of image completion is to complete the image of a large damaged region with complex structure and rich texture information. Traditional exemplar-based completion algorithms mainly adapt the regular sample and matching patches to complete the damaged region. During the completion process, the irregular information, especially the local irregular information, of the image structure and texture cannot be fully used. This condition affects the accuracy and efficiency of the algorithm. To solve this problem, an image completion method with irregular patch is proposed in this paper. Method In our approach, the structure sparsity is used to distinguish the structure information and texture information of the input image first. Thus, a patch with a structure sparsity higher than a threshold is marked as a structural patch, and a patch with a structure sparsity lower than a threshold is regarded as a texture patch. Moreover, the patch priority of pixels on the boundary of the damaged region is calculated on the basis of the structure sparsity and confidence terms. Then, the pixel of the highest priority is selected as the center of the sample patch. If the neighborhood of a sample patch, which is in the complex structure area of the image, contains the known structure information, then this regular patch is dilated to construct its corresponding irregular sample patch by using structure information in its neighborhood. Then, the matching patch is being searched in the known part of the image. If the neighborhood of this matching patch contains a valid structure information, then the matching patch is dilated, and the structure information in its neighborhood is supplemented to construct its corresponding irregular matching patch. Finally, this irregular matching patch is used to complete its corresponding damaged region. The steps of constructing irregular patches specifically include transforming the inspection patch into the grayscale patch, using Gaussian blurring to denoise, extracting the structural information by using the Canny operator, integrating the structural information and original image patch to form an irregular mask, and picking the mask into the source image to obtain the irregular patch. In terms of the problem of visual disconnectivity, which is caused by seams during the completion process, the texture information of the image is used for modification in the proposed algorithm. The specific method aims to map the overlapping region of the texture patches into a network, and then, the graph cut algorithm is used to cut the network to generate a new optimal seam. Result Our approach and four other completion algorithms, three of which are based on the regular patch and one is based on sensitive hash, are used to complete eight classic image benchmarks. The efforts of these algorithms are evaluated by objective and subjective evaluation, which are the peak signal-to-noise ratio (PSNR) and visual connectivity. In comparison with these four completion algorithms, the results show that the proposed algorithm can achieve a better result in the fineness of the completion as well as the visual connectivity. Moreover, the PSNR of the proposed algorithm is improved by 0 dB to 4 dB. Conclusion The proposed algorithm improves the traditional exemplar-based completion algorithms, which cannot fully use the image irregularity information, and enhances the accuracy. Simultaneously, the texture information of the image is used to modify the visual disconnectivity so the visual effect of the image is improved. The proposed algorithm has a good application in the restoration of damaged natural images and cultural relics with both geometric structure and rich texture as well as the removal of target objects. Thus, the proposed algorithm is generalizable.

Key words

image completion; structure sparsity; irregular patch; seam rectify; local consistency; adaptivity

0 引言

数字图像修复技术是一种处理与改善图像质量的技术,是对图像上信息缺失的区域按照一定规则进行填充的过程,其目的是使信息缺失的图像尽可能恢复到原图像的视觉效果[1]。快速发展的图像修复技术研究成果常应用于艺术品修复、照片修复、影视制作、图像压缩、视频错误隐藏等多个领域。目前图像修复算法大致可分为3类:基于偏微分(PDE)的方法、基于样本块的方法、基于稀疏的方法。

在2000年,Bertalmio等人[2]提出了基于热扩散原理,将已知区域的图像信息沿着等照度线扩散到破损区域来进行修复的创新性算法。基于偏微分的方法本质上是一种扩散过程,能较好地修复小尺度破损的图像,典型方法还有总变分模型(TV)[3]、曲率驱动扩散模型(CDD)[4]、Euler’s elastic模型[5]等。第2类图像修复方法是基于样本块[6-9]的方法,其主要思想是根据图像纹理特征,在待修复区域边界选择大小合适的破损块,再在已知区域寻找与之相似度最高的匹配块,来替代该破损块。Criminisi等人[7]通过优先级函数,在保证结构延伸的同时进行纹理信息的传播,对存在大面积破损的图像也有很好的修复效果。Sun等人[10]提出的结构传播算法首先手工填补缺失的结构信息,然后参考这些结构信息,分别采用动态规划算法和置信度传播算法找到最佳匹配块对剩余破损区域进行修复,是一种全局最优算法。Tang等人[11]从源图像和参照图像提取结构信息,在边界和轮廓一致性约束下进行模板匹配,重构受损结构,最后,考虑加权后的结构信息和纹理匹配结果进行图像合成。王猛等人[12]利用权重变分的方法计算优先级,以保证几何结构信息优先被修复,同时引入了整体结构差异算法提高匹配精度。曾接贤等人[13]重新定义了优先权的置信项,避免因其趋于零造成的修复顺序错乱,并对图像进行了自适应划分,只在相似块中搜索匹配块,对移除大面积目标物体有较好的效果。近几年随着稀疏表示理论的发展,该方法[14-15]被运用到图像修复中。Xu等人[16]利用稀疏度改进破损块的优先级,并将多个匹配块的稀疏表达作为修补信息,其效果优于传统的基于块的修复方法。

目前的图像修复方法都采用规则的模板块和匹配块,不能充分地利用结构信息的不规则性,尤其是局部不规则性,影响修复的精度和效率。针对上述问题,提出一种不规则块的图像补全算法。首先,利用结构稀疏度来区分结构信息和纹理信息,并计算破损区域边界点的优先级。然后,利用结构信息构造自适应的不规则模板块以及相应的不规则匹配块进行修复,同时,利用纹理信息修饰接缝。重复以上过程,直到对整个破损区域的修复完成。最后,将本文算法和近几年修复效果较好的4种算法进行对比实验。实例验证结果表明,本文算法在修复存在复杂结构和细小纹理的图像时,能更精细地连接断裂的结构,对破损纹理的修复也更加连贯自然。

1 基于块结构稀疏度计算优先级

基于样本块的图像修复方法是通过计算破损区域边界待修复块的优先级来决定修复顺序的[7]。由于人眼对图像的边缘结构信息最为敏感,因此应优先修复边缘结构部分。Xu等人[16]在文献中提出的块结构稀疏度概念能较好地反映待修复块与其邻域之间的结构特征,可以作为反映块结构的指导信息:首先,优先修复位于拐角或边缘区域的结构特征显著的块,其次,修复位于纹理或平坦区的块。如图 1所示,图像$I$由破损区域$\mathit{\Omega }$和已知区域Ω构成,希望利用已知区域Ω内的图像信息填补破损区域$\mathit{\Omega }$来达到图像修复的目的。破损区域$\mathit{\Omega }$的边界表示为$\partial \mathit{\Omega }$,以边界$\partial \mathit{\Omega }$上的像素点$p$为中心构成的待修复块表示为${\mathit{\Psi }_p}$。待修复块${\mathit{\Psi }_p}$的邻域内完好块${\mathit{\Psi }_{{p_j}}}$的中心像素点属于以下集合${N_s}\left( p \right)$[16],即

$ {\mathit{\boldsymbol{N}}_s}\left( p \right) = \left\{ {{p_j}:{p_j} \in N\left( p \right),{\mathit{\Psi }_{{p_j}}} \in \bar \Omega } \right\} $ (1)

图 1 块结构稀疏度原理示意图
Fig. 1 Schematic for structure sparsity of patch

式中,$N\left( p \right)$是以$p$点为中心的邻域窗口,如图 1中的虚线框所示。${\mathit{\Psi }_p}$${\mathit{\Psi }_{{p_j}}}$的相似性[16]

$ {W_{p,{p_j}}} = \frac{1}{{Z\left( p \right)}}\exp \left( { - \frac{{d\left( {\bar P{\mathit{\Psi }_p},\bar P{\mathit{\Psi }_{{p_j}}}} \right)}}{{{\sigma ^2}}}} \right) $ (2)

式中,$\bar P{\mathit{\Psi }_p}$$\bar P{\mathit{\Psi }_{{p_j}}}$分别表示各自所对应块中完好区域里的像素。$d$(.,.)为待修复块${\mathit{\Psi }_p}$与完好区域中的块${\mathit{\Psi }_{{p_j}}}$的均方差距离(mean squared distance)。$Z\left( p \right)$是满足$\sum\limits_{{p_j} \in {N_s}\left( p \right)} {{W_{p, {p_j}}} = 1} $的归一化常量,$\sigma $=5。待修复块${\mathit{\Psi }_p}$的结构稀疏度[16]定义为

$ \rho \left( p \right) = \sqrt {\left[ {\sum\limits_{{p_j} \in {N_s}\left( p \right)} {W_{p,{p_j}}^2} } \right] \cdot \frac{{\left| {{N_s}\left( p \right)} \right|}}{{\left| {N\left( p \right)} \right|}}} $ (3)

块结构稀疏度的大小反映了待修复块所处区域的特征,当稀疏值达到最大值$\sqrt {\left| {{N_s}\left( p \right)} \right|/\left| {N\left( p \right)} \right|} $时,块包含的结构信息最多,反之,最小值$\sqrt {1/\left| {N\left( p \right)} \right|} $表示该块最平滑。为了方便后续计算,稀疏度$S\left( p \right) = {S_{\left[{0.2, 1} \right]}}\left( {\rho \left( p \right)} \right)$是由$\left( {\rho \left( p \right)} \right)$线性变换得到的,这意味着$S\left( p \right)$是将${\rho \left( p \right)}$的值域从原始的间隔[$\sqrt {1/\left| {N\left( p \right)} \right|} $, $\sqrt {\left| {{N_s}\left( p \right)} \right|/\left| {N\left( p \right)} \right|} $]变换到新的间隔[0.2, 1]。$S\left( p \right)$越大则表明以$p$点为中心的块包含的结构信息越多。待修复块的优先级[16]通过稀疏度$S\left( p \right)$和置信度$C\left( p \right)$来确定,即

$ P\left( p \right) = S\left( p \right) \times C\left( p \right) $ (4)

式中,置信度$C\left( p \right)$表示待修复块${\mathit{\Psi }_p}$中包含的已知信息的比例[7],当$p$${\mathit{\bar \Omega }}$$C\left( p \right)$=1,反之,当$p$$\mathit{\Omega }$$C\left( p \right)$=0。

$ C\left( p \right) = \frac{{\sum\limits_{q \in {\mathit{\Psi }_p} \cap \bar \Omega } {C\left( q \right)} }}{{\left| {{\mathit{\Psi }_p}} \right|}} $ (5)

基于优先修复包含较多已知信息和丰富结构信息的块的原则,同时为了提高算法的效率,每轮算法迭代中选择优先级$P\left( p \right)$处于前5%的破损块进行修复,然后,更新破损区域边界$\partial \mathit{\Omega }$。之后每轮迭代都重新计算块结构稀疏度和优先级,并重复上述过程,直到破损边界$\partial \mathit{\Omega }$为空,完成整个修复过程。

2 构造不规则块

传统的基于块的图像修复方法中的模板块和匹配块的形状是规则的,通常为n×n的正方形块。利用这种规则形状的块对仅包含纹理或者有规则结构的图像进行修复可以取得较好的效果。为了更好地仿人类手工修复过程并充分利用图像的不规则信息,本文提出一种基于自适应不规则模板块形状的修复算法,该算法可以综合考虑待修复区域结构信息的复杂程度和纹理信息的丰富程度,来自适应地构造模板块和匹配块的尺寸和形状。该方法能更好地适应图像块中存在的不同形状的边缘的情况。将破损区域边界$\partial \mathit{\Omega }$上总共$N$个待修复块组成的集合表示为$\mathit{\boldsymbol{H = }}\left\{ {{\mathit{\Psi }_{{p_1}}}, {\mathit{\Psi }_{{p_2}}}, \cdots {\mathit{\Psi }_{{p_N}}}} \right\}$。通过比较待修复块集合$\mathit{\boldsymbol{H}}$中的每个块的稀疏度$S\left( p \right)$和阈值$T$的大小,将集合$\mathit{\boldsymbol{H}}$划分为结构子集${\mathit{\boldsymbol{H}}_{\rm{S}}}$和纹理子集${\mathit{\boldsymbol{H}}_{\rm{T}}}$,即

$ \left\{ \begin{array}{l} {\mathit{\boldsymbol{H}}_{\rm{S}}} = \left\{ {{\mathit{\Psi }_p}\left| {S\left( p \right) \ge T} \right.,p \in \partial \mathit{\Omega }} \right\}\\ {\mathit{\boldsymbol{H}}_{\rm{T}}} = \left\{ {{\mathit{\Psi }_p}\left| {S\left( p \right) < T} \right.,p \in \partial \mathit{\Omega }} \right\} \end{array} \right. $ (6)

式中,结构子集${\mathit{\boldsymbol{H}}_{\rm{S}}}$中的块包含较复杂的结构,如角点、边缘。纹理子集${\mathit{\boldsymbol{H}}_{\rm{T}}}$中的块则仅包含纯纹理。

2.1 构造不规则结构块

根据图像局部相似性原理,在结构子集${\mathit{\boldsymbol{H}}_{\rm{S}}}$中包含结构信息较多的结构块${\mathit{\Psi }_p}$的周边邻域也很有可能包含有效的结构信息,可以通过添加其邻域中已知的结构信息来更精确地搜索到完好区域中的匹配块。同理,修复过程中,在完好区域内找到了与${\mathit{\Psi }_p}$最相似的匹配块${\mathit{\Psi }_q}$后,可添加匹配块${\mathit{\Psi }_q}$邻域中已知的结构信息到${\mathit{\Psi }_q}$,来组成最终的不规则匹配块${{\mathit{\Psi '}}_q}$,从而修复待修复模板块${\mathit{\Psi }_p}$。换句话说,通过检查模板块${\mathit{\Psi }_p}$和匹配块${\mathit{\Psi }_q}$各自的邻域中是否含有结构信息来决定是否需要改变它们的形状。如果有结构信息则改变块的形状,使其自适应地包含更多的结构信息。

2.1.1 构造不规则的待修复块

下面通过一个具体的构造不规则待修复块的过程进行详细的解释。假定利用上述第1节的方法在破损图像中找到的优先级最高的待修复块${\mathit{\Psi }_p}$图 2(a)(1)中红色方形区域,算法的其他步骤如下:

图 2 构造不规则待修复块示意图
Fig. 2 Schematic for making irregular broken patch
((a) expansion treatment; (b) extract structure information; (c) synthesis irregular patch)

1) 在待修复块${\mathit{\Psi }_p}$上覆盖一块面积略大于其自身的正方形检测块${{\mathit{\Psi '}}_p}$,如图 2(a)(2)中蓝色虚线方形区域(也可以视作将待修复块进行膨胀处理),该检测块的面积为原待修复块${\mathit{\Psi }_p}$$\alpha $倍(本文中通过实验统计得知$\alpha $=1.5效果最好)。

2) 将彩色的检测块${{\mathit{\Psi '}}_p}$的完好部分转化为灰度图像,然后对其做高斯模糊化处理进行去噪(如图 2(b)(3)所示),再利用Canny边缘检测算法[17]提取模糊化处理后的检测块${{\mathit{\Psi '}}_p}$完好部分的结构信息(如图 2(b)(4)所示)。值得注意的是,图 2$\mathit{\Omega }$表示破损区域,不参与不规则块的构造,不需要对其进行以上处理。

3) 通过将检测块${{\mathit{\Psi '}}_p}$中的结构信息与待修复块${\mathit{\Psi }_p}$进行合成,也就是把图 2(b)(4)中的白色结构区域(不包括破损区域$\mathit{\Omega }$)和规则块${\mathit{\Psi }_p}$合并,来构造不规则的块掩膜$M$(如图 2(c)(5)中红框所示)。

4) 将块掩膜$M$覆盖在源图上以得到新的不规则待修复块${{\mathit{\Psi ''}}_p}$(如图 2(c)(6)所示)。

2.1.2 构造不规则的匹配块

通过上述步骤取得不规则待修复块${{\mathit{\Psi ''}}_p}$后,需利用基于PatchMatch方法来快速搜索其最佳匹配块,详情请见第3节。然后根据匹配块邻域的结构信息来重新构造不规则的匹配块来修复破损区域,构造过程类似于不规则待修复块的构造过程,具体如下:

1) 在找到的最佳匹配块${\mathit{\Psi }_q}$ (如图 3(a)(1)绿色方框所示)上覆盖一块面积略大于其自身的正方形检测块${{\mathit{\Psi '}}_q}$ (如图 3(a)(2)蓝色虚线方框所示),该检测块的面积为原最佳匹配块${\mathit{\Psi }_q}$$\alpha $倍(本文中通过实验统计得知$\alpha $=1.5效果最好)。

图 3 构造不规则匹配块示意图
Fig. 3 Schematic for making irregular matching patch
((a) expansion treatment; (b) extract structure information; (c) synthesis irregular patch)

2) 将彩色的检测块${{\mathit{\Psi '}}_q}$转化为灰度图像,然后对其做高斯模糊化处理进行去噪(如图 3(b)(3)所示),再利用Canny边缘检测算法[17]提取模糊化处理后的检测块${{\mathit{\Psi '}}_q}$的结构信息(如图 3(b)(4)所示)。

3) 通过将最佳匹配块${\mathit{\Psi }_q}$与检测块${{\mathit{\Psi '}}_q}$中的结构信息进行合成,也就是把图 3(b)(4)中的白色结构区域和匹配块${\mathit{\Psi }_q}$相并,来构造不规则的块掩膜$M$(如图 3(c)(5)绿框所示)。

4) 将块掩膜$M$覆盖在源图上以得到新的不规则最佳匹配块${{\mathit{\Psi ''}}_q}$(如图 3(c)(6)所示)。

在实验过程中,将输入的彩色图像转化为灰度图像、基于高斯模糊的去噪处理、利用Canny算子提取边缘结构图等步骤可以作为图像的预处理步骤,以减少计算的复杂度,提高算法的效率。该方法在修复过程中基于图像局部相似性原理,充分利用图像块邻域已知的结构信息,提高了补全的精细度和准确率,对包含丰富结构信息的图像有较好的修复效果。

2.2 构造不规则纹理块

针对纹理块的修复过程和结构块的修复过程是类似的,本文主要关注的是已修复区域中纹理块重叠部分的接缝修饰问题。在修复后的破损区域中,两个互相重叠的纹理块AB由于颜色差异会在重叠区域的边界处产生较明显的接缝(如图 4(a)中的红色折线所示)。为保证视觉连通性并解决不规则结构块修复过程中易造成的接缝问题,考虑将两个块的重叠部分重新进行切割,使得新的接缝(如图 4(c)中的红色折线所示)两侧区域的颜色差异达到最小,让人眼很难识别出不连续的纹理,以达到最佳的视觉效果。

图 4 接缝修饰示意图
Fig. 4 Schematic for seam rectify

采用Graphcut算法[18]的切割方法来寻找最佳接缝,图 4A块和B块代表两个互相重叠的纹理块,其重叠区域$o\left( {A, B} \right)$由深蓝色虚线框表示。算法基于图论原理将重叠区域$o\left( {A, B} \right)$映射为$n$×$n$的网络图(如图 4(b)所示),结点$s$$t$表示重叠区域中的两个相邻像素的位置。连接相邻节点$s$$t$的弧用匹配成本函数$M\left( {s, t, A, B} \right)$表示。匹配成本函数[18]定义为

$ \begin{array}{*{20}{c}} {M\left( {s,t,A,B} \right) = }\\ {\left\| {A\left( s \right) - B\left( s \right)} \right\| + \left\| {A\left( t \right) - B\left( t \right)} \right\|} \end{array} $ (7)

式中,$A\left( s \right)$$A\left( t \right)$$A$块中位置$s$$t$处的像素颜色值,同理,$B\left( s \right)$$B\left( t \right)$$B$块中位置$s$$t$处的像素颜色值。算法将寻找最佳接缝问题转换为图论中的网络图切割问题,通过最大流/最小割[19-20]算法求解。在$o\left( {A, B} \right)$区域中找到使得切割的边的匹配成本函数之和$cut$最小的切割方式(如图 4(b)中红色曲线所示),然后将求解结果映射到图像(如图 4(c)所示)中,从而获取新的接缝。

$ cut\left( {s,t,A,B} \right) = \sum\limits_{s,t \in o\left( {A,B} \right)} {M\left( {s,t,A,B} \right)} $ (8)

$cut$值越小,说明被切割开的节点间的相似度之和越小,同一区域内的节点相似度越大,映射到图像中切割开的新的接缝两侧区域给人造成的视觉差异越不明显,一定程度上保证了图像的视觉连通性,达到了接缝修饰的目的。

3 搜索方式

传统的基于块的修复方法是通过SSD(sum of squared difference)算法对优先级最高的待修复块做全局搜索,先在完好区域${\mathit{\bar \Omega }}$中搜索与待修复块中残留的完好部分颜色值差异最小的匹配块。然后,将该匹配块复制到待修复块的破损部分,从而完成该待修块的修复。但是,全局搜索的过程十分耗时,破损图像越大,搜索占用的时间越多,算法的时间复杂度越高。而且,SSD算法并没有充分考虑到图像的局部自相似性,在实际情况中,待修复块周边邻域的结构、纹理信息很大程度上决定了修复效果。

针对这一问题,引用Barnes等人在文献[21]所提出的Patchmatch算法的全局随机搜索与局部深度匹配相结合的思路。基于避免陷入局部极小以及满足图像局部一致性的考虑,在图像的完好区域随机指定或根据先验知识(得到的结构或纹理等先验信息)选择一个匹配块,然后添加随机扰动${u_i}$使得搜索空间更大,找到有更高相似度的匹配块[21],即

$ {u_i} = {v_0} + w{\alpha ^i}{R_i} $ (9)

式中,${\mathit{v}_0}$为添加了随机扰动搜索窗口的中心(初始化为待修复块的中心),$w{\alpha ^i}$为搜索窗口的半径($w$为最大半径,$\alpha $=1/2),${R_i}$为归一化随机数。令$i$=1, 2, 3…直到当前搜索半径$w{\alpha ^i}$小于1个像素为止。该方法在保证匹配精度的同时减少了计算量。

由于修复的过程是从破损区域的边缘逐步向破损区域的中心推进,待修复区域会利用完好区域和已修复区域的信息进行修复,从而造成误差累积。针对这一问题,可以通过赋予完好区域和已修复区域对待破损区域不同的贡献值$W\left( q \right)$来解决,比如可以设定最初的完好区域${{\mathit{\bar \Omega }}_{{\rm{org}}}}$的贡献值为1,已修复区域$\mathit{\bar \Omega }-{{\mathit{\bar \Omega }}_{{\rm{org}}}}$的贡献值与其距最初的破损区域边界$\partial {\mathit{\Omega }_{{\rm{org}}}}$的距离成类反比关系,即

$ W\left( q \right) = \left\{ {\begin{array}{*{20}{c}} \begin{array}{l} 1\\ {{\rm{e}}^{ - \frac{{dist\left( {q,\partial {\mathit{\Omega }_{{\rm{org}}}}} \right)}}{{2{\sigma ^2}}}}} \end{array}&\begin{array}{l} q \in {{\mathit{\bar \Omega }}_{{\rm{org}}}}\\ q \in \mathit{\bar \Omega } - {{\mathit{\bar \Omega }}_{{\rm{org}}}} \end{array} \end{array}} \right. $ (10)

式中,$q$点是完好区域中匹配块${\mathit{\Psi }_q}$的中心点,$dist\left( {q, \partial {\mathit{\Omega }_{{\rm{org}}}}} \right)$表示$q$点距离最初的边界$\partial {\mathit{\Omega }_{{\rm{org}}}}$的最短距离,$\sigma $是平滑系数(实验中取$\sigma $=5)。

4 算法流程

根据上述研究的思路,不规则块的图像补全算法的流程图如图 5所示。首先,将输入的待修复图像进行预处理,包括将彩色图像转化为灰度图像、对待修复图像的高斯模糊化去噪处理、以及采用Canny算子提取待修复图像的结构信息。然后,采用基于块结构稀疏度的方法计算破损区域边界上待修复块的优先级,优先修复优先级最高的前5%的块。同时,将稀疏度大于阈值$T$的块标记为结构块,小于阈值$T$的块标记为纹理块。针对结构块的修复,将膨胀后的检测块和预处理时提取的结构信息合成来构成包含更多结构信息的不规则模板块,并利用该不规则块在图像的完好区域及已修复区域中搜索最佳匹块。类似地,采用同上述步骤一样的过程来生成不规则的匹配块,并利用该不规则匹配块来修复其对应的破损区域,以及更新相应的边界。针对纹理块的修复过程和结构块的修复是类似的,本文主要关注的是已修复区域中重叠部分的接缝修饰问题,生成纹理块重叠部分的网络图,随后采用Graphcut算法来切割网络图以生成最佳接缝。重复上述步骤直至破损区域边界为空,完成整个修复过程,输出修复后的图像。

图 5 本文算法流程
Fig. 5 The proposed algorithm process

5 实例验证

为了验证本文算法的修复效果,对不规则块的图像补全方法进行了实例验证。实现平台采用Windows10,Visual Studio Community 2015编程环境,Intel 4.20 Hz CPU时钟频率,内存16.0 GB。实验中不规则块的大小和稀疏度阈值$T$等参数根据不同图像做出调整,通常块大小取11×11像素,阈值$T$取0.6。采用近年来修复效果较好的4种算法(3种基于规则块的修复算法和1种基于局部敏感哈希的修复算法)及本文算法对结构断裂的图像进行修复,并采用峰值信噪比PSNR(peak signal to noise ratio)[22]指标对修复结果进行对比分析,客观评价标准PSNR的值越大代表修复效果越好。同时,将这几种算法用于目标移除及图像补全,在这种情况下由于没有可对比的原始图像,因此,采用人的主观评价来判断修复效果。

图 6是含有鸟脖结构和茸毛纹理的图像,比较图 6(b)(f)可知,在修复断裂结构边界和纹理细节上,本文算法的修复效果更佳。文献[21, 23]修复结果中鸟脖边缘结构并不连续(如图 6(d)图 6(e)中红色箭头所指),文献[12, 16]在修复部分茸毛纹理时引入了误匹配和些许模糊(如图 6(b)图 6(c)中红色箭头所指)。本文算法在较好地修复了断裂鸟脖结构的同时避免了错误纹理的延伸,消除了误匹配, 其修复结果如图 6(f)所示。5种算法对图 6(a)的修复效果的峰值信噪比PSNR如表 1所示。

图 6 鸟脖修复结果
Fig. 6 Inpainting results of bird
((a) image to be inpainted; (b) reference [12]; (c) reference [16]; (d) reference [21]; (e) reference [23]; (f) ours)

表 1 5种修复算法的PSNR性能比较
Table 1 Comparison of PSNR results among five inpainting algorithms

下载CSV
算法 图 6 图 7 图 8 图 9 图 10
文献[12] 36.170 9 27.788 3 36.837 9 33.305 7 32.296 3
文献[16] 36.403 4 27.887 6 36.247 5 33.912 6 32.276 8
文献[21] 33.469 8 27.278 8 36.682 3 33.003 8 32.388 1
文献[23] 32.452 8 24.845 1 32.348 3 31.680 3 34.345 6
本文 36.618 1 28.358 6 37.329 2 34.146 4 34.878 2
注:加粗字体表示最优结果。

各算法修复结果如图 7所示,从图 7(c)(f)中明显可观察出文献[21]和文献[23]的算法存在错误的匹配(如图 7(d)图 7(e)中蓝色箭头所指),文献[12]和文献[16]算法对猴子鼻子部位的边缘不能平滑的连接(如图 7(b)图 7(c)中蓝色箭头所指)。本文算法运用了不规则块进行修复,使得修复鼻子边缘结构时能添加更多邻域鼻子线条的结构信息,提高了匹配的准确性,猴子脸部毛发和鼻子部位的修复结果图 7(f)令人满意,满足了视觉上的要求,取得了良好的修复效果。

图 7 猴子面部修复结果
Fig. 7 Inpainting results of monkey
((a) image to be inpainted; (b) reference [12]; (c) reference [16]; (d) reference [21]; (e) reference [23]; (f) ours)

图 8(b)(f)为不同算法修复Lena帽檐区域污染的结果。可以看出文献[23]的修复结果图 8(e)将帽子纹理错误地匹配到了帽穗纹理上,而且并没有保持结构的延续。文献[12]和文献[16]的修复结果图 8(b)(c)均出现了部分误匹配导致帽穗处存在明显杂质。文献[21]的修复结果图 8(d)帽檐与帽穗交界处并不清晰,有一定的模糊。而本文算法由于更注重结构的连贯性,使得结构断裂的部分优先被连接起来,同时约束了纹理的匹配,使得修复结果图 8(f)帽檐处没有出现明显的错误匹配和模糊现象,保持了整体一致性。

图 8 人物Lena修复结果
Fig. 8 Inpainting results of Lena
((a) image to be inpainted; (b) reference [12]; (c) reference [16]; (d) reference [21]; (e) reference [23]; (f) ours)

图 9(b)(f)为5种算法修补破损壁画的结果图示。文献[21]和文献[23]的修复结果图 9(d)图 9(e)中佛祖头冠存在明显的错误匹配(如图中蓝色箭头所指)。5种算法修复后佛祖身后的圆形背光均存在一定裂痕,但本文算法修复结果较为自然,基本保持了结构的连续与纹理的平滑,根据表 1的评价标准PSNR,本文算法的修复效果较好。

图 9 敦煌壁画修复结果
Fig. 9 Inpainting results of mural
((a) image to be inpainted; (b) reference [12]; (c) reference [16]; (d) reference [21]; (e) reference [23]; (f) ours)

图 10为5种算法修补灯笼上破损文字的结果示意图。文献[23]的修复结果图 10(e)无法复原文字本身,且存在明显的模糊。文献[12]、文献[16]和文献[21]这3种算法修复结果图 10(b)—(d)中,文字并不完整,无法满足视觉一致性。由于本文算法更注重于图像块与其周围邻域的联系,而且匹配过程更加精准,修复结果如图 10(f),灯笼上的文字更加准确,并且修复后灯笼纹理也很自然,其颜色和亮度与邻域保持了一致。

图 10 灯笼文字修复结果
Fig. 10 Inpainting results of lantern
((a) image to be inpainted; (b) reference[12]; (c) reference [16]; (d) reference [21]; (e) reference [23]; (f) ours)

PSNR是最大值信号和背景噪声之间的比率,可以衡量经处理后图像的品质。表 1中用PSNR来量化5种算法的修复结果,其对应的柱状图如图 11所示,可以看出,本文算法对图 610(图 1214为目标移除,其PSNR值没有意义)中存在不同程度破损的图像修复后计算得到的PSNR均为最大,表明修复效果最优,同时也符合人的主观视觉判断。

图 11 5种修复算法的PSNR性能比较柱状图
Fig. 11 Histogram of comparison of PSNR results among five inpainting algorithms
图 12 移除蹦极人像的修复结果
Fig. 12 Inpainting results of object removal for image "Bungee"
((a) image to be inpainted; (b) reference [12]; (c) reference[16]; (d) reference [21]; (e) reference [23]; (f) ours)
图 13 移除大象的修复结果
Fig. 13 Inpainting results of object removal for image "Elephant"
((a) image to be inpainted; (b) reference [12]; (c) reference[16]; (d) reference [21]; (e) reference [23]; (f) ours)
图 14 移除草坪上奶牛的修复结果
Fig. 14 Inpainting results of object removal for image "Cow"
((a) image to be inpainted; (b) reference [12]; (c) reference[16]; (d) reference [21]; (e) reference [23]; (f) ours)

图 12为移除蹦极人像的5种算法的修复结果,修复后的理想结果应该保证被遮挡的房顶连贯性,和森林、湖面的完整性。文献[12]、文献[21]、文献[23]修复结果图 12(b)(d)(e)均出现了不同程度的房顶结构不连贯和森林湖面存在杂质的现象(如图 12(b)(d)(e)中红色箭头所指)。本文算法和文献[16]基于块结构稀疏度计算的优先级能保证房顶结构优先被修复,并且在匹配过程中能添加更多周边完好屋顶的结构信息,使得房顶结构被连贯修复。同时,本文算法在寻找最匹配块的过程中区分了原图像的完好区域和已修复区域,给予它们不同的贡献值,避免出现误差累计。但是,本文算法也存在不足,如图 12(f)所示,横向屋顶之上存在的部分杂质,是由于图 12(a)对应位置破损区域的完好邻域有一小部分已知的屋顶结构,但缺乏结构信息将其与横向屋顶连接起来,导致屋顶与树丛杂乱的交错。而且相较于文献[16]的修复结果图 12(c)图 12(f)湖面和森林中还有些许杂质,可在后续工作中进一步研究如何达到更好的修复效果。

图 13为移除湖边大象的修复结果,修复后的理想图像应保持远处大山和灌木丛的完整性和近处湖面、土地交汇处的连贯性。文献[21]的修复结果图 13(d)在湖面和土地交汇处发生不连续(如图 13(d)中红色箭头所指),文献[23]的修复结果图 13(e)出现了大山纹理错误地延伸到灌木丛的现象(如图 13(e)中红色箭头所指)。文献[12]和文献[16]的修复结果图 13(b)(c)在土地上均出现了错误的湖面纹理(如图 13(b)图 13(c)中红色箭头所指)。本文算法修复结果如图 13(f)所示,在保持大山、灌木丛的完整性的同时,也很好地保持了湖面与土地的交汇处的连贯性。

移除草坪上奶牛的图像修复结果如图 14所示。文献[16]的修复结果图 14(c)中出现错误的匹配和不连贯的纹理(如图 14(c)中红色箭头所指), 文献[21]的修复后的草坪图 14(d)也有明显不自然的模糊和杂乱(如图 14(d)中红色箭头所指)。文献[12]、文献[23]和本文算法修复结果图 14(b)(e)(f)在细节上更符合视觉一致性,没有出现草坪错乱的纹理和模糊现象,修复效果好。这说明了本文算法也可以很好地移除目标物体。

6 结论

传统的基于块的图像补全算法主要采用规则的模板块和匹配块来进行修复,不能充分利用结构或纹理的不规则信息。为了补全具有复杂结构信息和丰富纹理信息的大破损区域的图像,本文提出了不规则块的图像补全算法。算法分为3部分:利用结构稀疏度来区分结构信息和纹理信息并计算破损区域边界点的优先级;利用结构信息构造不规则模板块以及相应的不规则匹配块来进行补全;利用纹理信息修饰接缝。实例验证结果表明,本文算法在补全的精细度和视觉连通性方面有更佳的效果,使修复结果更加自然。但是,对于破损部分结构线断裂过多、尺度过大的图片,本文算法并不能完全修复,在后续工作中需要研究如何能够更好地修复具有丰富断裂结构线的图像。同时,如果能够进一步考虑结构信息中的旋转特性和尺度特性,可能构造的不规则块将更加合理,这也是本课题组下一步的研究内容。

参考文献

  • [1] Zhang H Y, Peng Q C. A survey on digital image inpainting[J]. Journal of Image and Graphics, 2007, 12(1): 1–10. [张红英, 彭启琮. 数字图像修复技术综述[J]. 中国图象图形学报, 2007, 12(1): 1–10. ] [DOI:10.3969/j.issn.1006-8961.2007.01.001]
  • [2] Bertalmio M, Sapiro G, Caselles V, et al. Image inpainting[C]//Proceedings of the 27th Annual Conference on Computer Graphics and Interactive Techniques. New York: ACM Press, 2000: 417-424. [DOI:10.1145/344779.344972]
  • [3] Chan T F, Shen J H. Mathematical models for local nontexture inpaintings[J]. SIAM Journal on Applied Mathematics, 2002, 62(3): 1019–1043. [DOI:10.1137/S0036139900368844]
  • [4] Chan T F, Shen J H. Nontexture inpainting by curvature-driven diffusions[J]. Journal of Visual Communication and Image Representation, 2001, 12(4): 436–449. [DOI:10.1006/jvci.2001.0487]
  • [5] Tsai A, Yezzi A, Willsky A S. Curve evolution implementation of the Mumford-Shah functional for image segmentation, denoising, interpolation, and magnification[J]. IEEE Transactions on Image Processing, 2001, 10(8): 1169–1186. [DOI:10.1109/83.935033]
  • [6] Drori I, Cohen-Or D, Yeshurun H. Fragment-based image completion[J]. ACM Transactions on Graphics, 2003, 22(3): 303–312. [DOI:10.1145/1201775.882267]
  • [7] Criminisi A, Pérez P, Toyama K. Region filling and object removal by exemplar-based image inpainting[J]. IEEE Transactions on Image Processing, 2004, 13(9): 1200–1212. [DOI:10.1109/tip.2004.833105]
  • [8] Kwatra V, Essa I, Bobick A, et al. Texture optimization for example-based synthesis[J]. ACM Transactions on Graphics, 2005, 24(3): 795–802. [DOI:10.1145/1186822.1073263]
  • [9] Kuo T Y, Su P C, Kuan Y P. SIFT-guided multi-resolution video inpainting with innovative scheduling mechanism and irregular patch matching[J]. Information Sciences, 2016, 373: 95–109. [DOI:10.1016/j.ins.2016.08.091]
  • [10] Sun J, Yuan L, Jia J Y, et al. Image completion with structure propagation[C]//Proceeding SIGGRAPH '05 ACM SIGGRAPH 2005 Papers. Los Angeles, California: ACM Press, 2005: 861-868. [DOI:10.1145/1073204.1073274]
  • [11] Tang C W, Hu X, Chen L, et al. Sample-based image completion using structure synthesis[C]//Proceedings of the 20th IEEE International Conference on Image Processing. Melbourne, VIC, Australia: IEEE, 2013: 1336-1340. [DOI:10.1109/icip.2013.6738275]
  • [12] Wang M, Zhai D H, Nie H Y, et al. Image inpainting with weight variation of neighborhood window[J]. Journal of Image and Graphics, 2015, 20(8): 1000–1007. [王猛, 翟东海, 聂洪玉, 等. 邻域窗口权重变分的图像修复[J]. 中国图象图形学报, 2015, 20(8): 1000–1007. ] [DOI:10.11834/jig.20150802]
  • [13] Zeng J X, Wang C. Image completion based on redefined priority and image division[J]. Journal of Image and Graphics, 2017, 22(9): 1183–1193. [曾接贤, 王璨. 基于优先权改进和块划分的图像修复[J]. 中国图象图形学报, 2017, 22(9): 1183–1193. ] [DOI:10.11834/jig.170054]
  • [14] Mairal J, Elad M, Sapiro G. Sparse representation for color image restoration[J]. IEEE Transactions on Image Processing, 2008, 17(1): 53–69. [DOI:10.1109/TIP.2007.911828]
  • [15] Shen B, Hu W, Zhang Y M, et al. Image inpainting via sparse representation[C]//IEEE International Conference on Acoustics, Speech and Signal Processing. Taipei, Taiwan: IEEE, 2009: 697-700. [DOI:10.1109/icassp.2009.4959679]
  • [16] Xu Z B, 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]
  • [17] Canny J. A computational approach to edge detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1986, PAMI-8(6): 679–698. [DOI:10.1109/TPAMI.1986.4767851]
  • [18] Kwatra V, Essa I, Turk G, et al. Graphcut textures: image and video synthesis using graph cuts[C]//Proceedings SIGGRAPH'03. San Diego, California: ACM, 2003: 277-286. [DOI:10.1145/1201775.882264]
  • [19] Greig D M, Porteous B T, Seheult A H. Exact Maximum A Posteriori Estimation for Binary Images[J]. Journal of the Royal Statistical Society, 1989, 51(2): 271–279.
  • [20] Boykov Y, Kolmogorov V. An experimental comparison of min-cut/max-flow algorithms for energy minimization in vision[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2004, 26(9): 1124–1137. [DOI:10.1109/TPAMI.2004.60]
  • [21] Barnes C, Shechtman E, Finkelstein A, et al. PatchMatch:a randomized correspondence algorithm for structural image editing[J]. ACM Transactions on Graphics, 2009, 28(3): 24. [DOI:10.1145/1531326.1531330]
  • [22] Shih T K, Chang R C, Lu L C, et al. Adaptive digital image inpainting[C]//Proceedings of the 18th International Conference on Advanced Information Networking and Applications. Fukuoka, Japan: IEEE Computer Society, 2004: 71-76. [ DOI:10.1109/AINA.2004.1283890]
  • [23] Patil B C, Mahajan P K J. Image inpainting using coherent sensitive hashing[J]. International Journal of Advance Engineering and Research Development, 2015, 2(10): 47–51. [DOI:10.21090/ijaerd.02109]