Print

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




    图像处理和编码    




  <<上一篇 




  下一篇>> 





基于优先权改进和块划分的图像修复
expand article info 曾接贤, 王璨
南昌航空大学计算机视觉研究所, 南昌 330063

摘要

目的 针对基于样本块的Criminisi图像修复算法易发生置信项迅速下降趋于零,使优先权计算公式失效,导致修复顺序错乱造成的修复效果失真问题,以及在搜索匹配块时存在的搜索范围过大,效率过低,易出现匹配到不符合视觉效果的纹理块问题,提出一种基于优先权改进和块划分的图像修复算法。方法 首先重新定义优先权中的置信项,用样本块中的棋盘距离替代原计算公式,保证优先权一直发挥作用,从而减少因修复顺序不合理造成的错误匹配;其次根据图像纹理信息将其自适应划分为不同大小的图像块,使待修复样本块只在具有相似特征的图像块区域内搜索匹配。结果 实验结果表明,新定义的优先权,保证了修复算法的正常进行,改善了修复图像的视觉效果;由图像自适应块划分引导匹配过程,可使匹配在更少的候选块中进行,提高了算法速度。将本文方法与3种全局搜索匹配方法和1种局部搜索匹配方法进行修复结果对比分析,本文方法的修复结果视觉完整性较好,而且修复时间小于其中3种算法。结论 通过改进Criminisi算法优先权中的置信项,避免因其趋于零导致的修复顺序错乱造成的错误累积情况的发生;同时通过改进待修复匹配块的搜索范围,对整幅图像进行自适应块划分,使搜索只在相似块中进行,不仅减少了时间,而且提高了匹配的准确性。本文方法对于自然图像中大面积目标物体移除方面有较好的应用,可获得较满意的修复效果。

关键词

图像修复; 置信项; 优先权; 块划分; 纹理特征

Image completion based on redefined priority and image division
expand article info Zeng Jiexian, Wang Can
Institute of Computer Vision, Nanchang Hangkong University, Nanchang 330063, China
Supported by: National Natural Science Foundation of China (61165011, 61662049)

Abstract

Objective The exemplar-based image inpainting method known as the Criminisi algorithm occasionally exhibits poor inpainting effect because the confidence term easily decreases to zero, which makes the priority invalid and causes disorders in the inpainting sequence.Excessive scope, low efficiency, and nonvisual texture-matching problem also occur when searching matching patches.To solve the aforementioned problems, an image completion algorithm based on redefined priority and image division is proposed in this study. Method First, the confidence term in the priority is redefined, and the chessboard distance in the exemplar patch is used to replace the original calculation formula.Accordingly, the priority is validated, and the matching error caused by unreasonable inpainting order is reduced.Second, the image is divided into blocks with different sizes according to image texture information, such that the exemplar patches to be inpaintied search only the image block region with similar features. Result Experimental results show that the newly defined priority can guarantee the completion of the algorithm and improve the visual effect of the inpainted image.The algorithm is fast because only a few ambiguous matching candidates are searched under the guidance of image division.The completion result analysis of our method is compared with the results of the analysis based on other methods.Subjectively, our method can maintain visual connectivity.Objectively, the time consumed is less than those consumed by most of the other methods. Conclusion The accumulation of errors caused by the disorder of inpainting sequence is avoided by redefining the confidence term in the priority in the Criminisi algorithm.Reduced algorithm time and improved matching accuracy are also achieved by improving the searching range of exemplar patches.The entire image is adaptively divided into different blocks, and search is conducted only in certain blocks that are similar to the destination.The method exhibits good application in object removal in natural images, and its completion effects are satisfactory.

Key words

image completion; confidence term; priority; image division; texture features

0 引言

图像修复是图像处理领域的一个重要研究分支,应用于文物保护、图像编解码、照片编辑、数字特效等方面。图像修复是一个病态问题,且没有明确独特的解决方案。目前所有的图像修复方法都基于一个假设:即在图像已知和未知部分的像素都共享相同的统计特性或几何结构,将此假设转化为采用图像中不同局部或全局的先验知识来指导修复过程,尽可能获得物理上可行且视觉效果较好的修复图像[1]。已有的图像修复算法主要分为两类:基于扩散的方法和基于样本块的方法。

基于扩散的方法[2-5]模拟手工修复技巧,利用已知区域中靠近未知区域的边缘来确定扩散内容和扩散方向,再通过图像像素内容由外到内通过迭代的方式逐步扩散实现对破损区域的修复。该方法只适用于修复相对较小的破损区域及细小直线或曲线部分,当缺损区域过大时修复结果会出现过平滑现象。

基于样本块的方法是通过在图像完好部分搜索匹配替代像素块,将其复制到缺损位置来实现修复。此类方法以Criminisi等人[6]提出的算法为代表,将优先权函数中置信项和数据项精巧平衡,通过搜索最佳相似匹配块进行纹理复制,将线性结构的延伸与纹理信息的传播以一种统一的机制同时进行处理。由于该算法对初始匹配错误敏感而易产生累计误差,造成修复区域出现不连续的情况,许多改进算法由此衍生出来。Zhang等人[7]用颜色分布分析代替原有的基于等照度线驱动的优先级方案,不仅更好的区分纹理和结构信息,而且可以分配给结构更高的优先级使其优先传播。文献[8]在优先权模型中引入纹理和边缘的差别因子来增强对图像边缘部分的表示能力,使纹理更好的延伸。翟东海等人[9]对破损区域分割后再结合基于扩散的方法逐一对其进行修复,在结构信息较复杂的图像上取得了良好的修复效果。王猛等人[10]利用邻域窗口总变分和内在变分构造出权重变分,对优先级测度进行加权,使几何结构信息得到优先修复。Zhou等人[11]根据完好区域图像像素所处邻域梯度向量的幅值变化来自适应选取样本块的大小,对一些具有复杂背景的图像取得了较好的修复效果。He等人[12]通过统计图像己知区域中相似图像块的偏移量,从而构建一个候选匹配块集合,在对未知区域的块进行修复时,直接从该集合中进行筛选,该算法不仅减少了计算时间,而且降低了匹配错误的可能性。Wang等人[13]引入正则化因子来平衡优先权,避免“效果丢失”现象的出现。Deng等人[14]将优先权进行分离,使结构先于纹理传播。Ruzic等人[15]将基于上下文感知的图像分块方法应用于马尔可夫随机场中,以提高算法中候选匹配的精度及修复速度。Zhou等人[16]将图像的修复转化为优化问题,用纹理描述符作为搜索线索,添加几何约束度量,采用由粗到精的方式确定潜在的匹配块实现最终的纹理合成。

针对在一定次数的修复过程后,置信项趋于零导致的优先权计算失效问题,提出改进优先权的图像修复算法,通过改变置信项的计算方式,使其不再过度依赖于已修复的结果,保证修复顺序稳定有序的进行。同时从搜索范围对修复结果产生的影响展开研究,为避免全局搜索候选匹配块过程所造成的时间开销大、易得到不合理匹配结果,进而导致误差累积现象的发生,提出基于块划分的图像搜索策略,最大限度地减小搜索范围,使搜索过程只在邻近相似区域块内进行。

1 Criminisi算法及其不足分析

1.1 Criminisi算法基本思路

Criminisi算法[6]是基于样本块的图像修复算法,在图像的已知区域中寻找最佳匹配块填补到缺损区域边缘的待填充块上,通过计算图像缺损轮廓上所有待修复块的优先权,使优先权高的先被修复,同时保证了将纹理和结构传播到目标区域。如图 1所示,Φ是已知区域,Ω是待修复区域,$\delta $Ω是待修复区域的边界线,$\Psi _p$是以边界线上一点$p$为中心的待修复像素块。

图 1 Criminisi算法原理示意图
Fig. 1 Notation diagram of the algorithm

Criminisi算法步骤如下:

1) 计算待修复区域边界$\delta $Ω上点$p$的优先权大小,即

$ P\left( p \right) = C\left( p \right) \cdot D\left( p \right) $ (1)

式中,$C$($p$)为置信度项,$D$($p$)为数据项,它们的定义分别为

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

$ D\left( p \right) = \frac{{\left| {\nabla I_p^ \bot \cdot {\mathit{\boldsymbol{n}}_p}} \right|}}{\alpha } $ (3)

式中, |$\Psi _p$|表示$\Psi _p$的面积。初始化时,位于未知区域的点置信度$C$($p$)均为0,位于已知区域的点置信度$C$($p$)均为1;$\boldsymbol{\nabla }{\boldsymbol{I}}_p^ \bot $$p$点的等照度线方向,即$p$点梯度方向的垂直方向,$\boldsymbol{n}_p$是点$p$的单位法向量,$α$是归一化因子。

2) 确定最大优先权的修补块$\Psi _p$。选取待修复边界上优先权最大的点$p$,以该点为中心选定正方形像素块$\Psi _p$

3) 寻找最佳匹配块并填充。通过SSD(sum of squared difference)算法在已知图像全局范围Φ内搜索与待填充块$\Psi _p$颜色差异最小的匹配块$\Psi {\hat q}$,将其复制填充到待修复位置。SSD计算公式为

$ {\Psi _{\hat q}} = \arg \mathop {\min }\limits_{{\Psi _q} \in \Phi } \left( {{\Psi _p},{\Psi _q}} \right) $ (4)

$ \begin{array}{*{20}{c}} {d\left( {{\Psi _p},{\Psi _q}} \right) = }\\ {\sqrt {\sum\limits_{i = 1}^m {\sum\limits_{j = 1}^n {\left[ {{{\left( {p_{ij}^R - q_{ij}^R} \right)}^2} + {{\left( {p_{ij}^G - q_{ij}^G} \right)}^2} + {{\left( {p_{ij}^B - q_{ij}^B} \right)}^2}} \right]} } } } \end{array} $ (5)

式中,$m$$n$分别表示样本块的长度和宽度,$p$$q$分别表示待修复块和匹配块的像素值。

4) 更新置信度,提取填充新前缘$\delta $Ω′,即

$ C\left( q \right) = C\left( p \right),\forall q \in {\Psi _p} \cap \Omega $ (6)

5) 重复以上4个步骤,直到$\delta $Ω′为空,则输出图像,修复完成。

1.2 算法不足分析

Criminisi算法[6]中待修复区域边缘点$p$的优先权由置信项$C$($p$)和数据项$D$($p$)的乘积组成,它决定了图像的修复顺序,也就是直接反应了图像结构信息的传播方向。在优先权计算公式中$C$($p$)与$D$($p$)是既相互补充又相互制约的关系,$D$($p$)使修复按照等照度线方向进行,保证了图像中结构信息的传播,而$C$($p$)起着阻碍该过程的作用,它是一个大于0小于1的数值,表示待修复块中已知像素占块内总像素的比例,越靠近待修复区域中心,该点周围的已知信息就越少,$C$($p$)的值就越小。

图 2所示,图 2(c)中的树叶区域出现了下方白色边框的纹理图案,造成这一现象的主要原因是置信项$C$($p$)在修复过程中的迅速下降主导着优先权$P$($p$)的变化,$D$($p$)将不再起作用,优先权的计算不再可靠,导致出现随机选择的修复顺序,造成单步修复结果的错误,在随后的修复中这样的错误填充不断堆叠,使得最终的修复效果不能满足图像视觉连通性。如图 3所示,通过对优先权计算公式中每一项“下降效应”的走势图可以说明这一问题,图 3(a)是利用Criminisi算法修复图 2(b)时置信项$C$($p$)值的变化情况。从图 3中可以看到,$D$($p$)在前700次迭代计算中数值波动并不大,大约介于0.25 0.3,而$C$($p$)值变化明显,多次出现急速下降,分别在约第220次迭代和第400次迭代时出现了明显的下降效应,随后其值迅速趋于零,而优先权P(p)的值从整体来看,下降趋势受$D$($p$)影响较小,但与$C$($p$)的变化趋势大体相同。因此可以确定,置信项是影响优先权计算的一个关键因素,也即是制约着图像修复顺序的关键点。

图 2 实验图像
Fig. 2 Experimental pictures((a)origin image; (b)image to be inpainted; (c)result of reference [6]; (d)expected inpainted reslut)
图 3 式(1) 中各项“下降效应”走势图
Fig. 3 Analysis of "dropping effect"((a) $C$($p$); (b) $D$($p$); (c) P(p))

2 本文算法

为了更好地获得修复效果和减少修复时间,针对Criminisi算法[6]中优先权的置信项,在还未修复完成时就已出现迅速下降并接近零值所造成的修复顺序错乱问题,重新定义优先权,将棋盘距离引入置信项中,根据待修复块内未知像素受到已知像素数量及包围程度影响的不同来确定置信项大小。同时,从匹配块的搜索范围入手,依据图像局部信息可为待修复区域提供足够样本来源这一特点,首先对图像进行块划分操作,利用纹理特征将图像划分为大小不同的矩形块;其次通过比较待修复区域所在块与剩余其他图像块纹理与颜色特征的相似度,确定候选匹配块的搜索范围,使搜索仅在特征相关区域进行,通过减小搜索空间来提高搜索效率,同时也在一定程度上减少误匹配现象的发生。算法流程图如图 4所示,对Criminisi算法的改进主要在优先权和寻找最佳匹配块的搜索范围两方面,其余步骤依照原算法进行。

图 4 本文算法流程图
Fig. 4 Flow chart of proposed algorithm

2.1 优先权改进

通过观察发现,对于两个同样大小的待修复块,在已知像素数量相同的情况下,如果一个块中已知信息区域呈包围状的形式,另一个块中呈半包围状的形式,那么前一种情况比后一种更容易被修复成功。如图 5所示,假设待修复块大小为7×7,已知像素总数均为28,未知像素总数均为21,定义已知像素点到中心点$p$的距离作为衡量标准,然后对它们进行求和,则图 5(a)中,$C$($p$)=1×3+2×3+3×21=72;图 5(b)中,$C$($p$)=1×5+2×9+3×13=62。可以看到,在已知像素数量相等的条件下,待修复块中未知部分被包围的程度大时,其距离总和值则大,离中心点$p$越远处的像素点数就多,说明它与周围像素联系越紧密,则在这种包围状的形势下,已知信息所占比例越大,越有利于纹理的传播,越能更好的引导由边缘不断向破损部分进行修复。

图 5 包围与半包围形式中距离定义示意图
Fig. 5 The definition of the distance of enclosing and semi enclosing form((a)distance of surrounded form; (b)distance of half surrounded form)

因此,重新定义置信项为

$ C\left( p \right) = \sum\limits_1^n {Dis\left( {p,q} \right)} $ (7)

式中,$n$为待修复块中除去中心点$p$以外已知像素总数,$Dis$($p$$q$)为已知像素点到$p$的棋盘距离。定义待修复块内每个像素点$q$($q_i$$q_j$)到中心点$p$($p_i$$p_j$)的距离为

$ Dis\left( {p,q} \right) = \max \left( {\left| {{q_i} - {p_i}} \right|,\left| {{q_j} - {p_j}} \right|} \right) $ (8)

若待修复块大小为9×9,一个样本块中所有像素点到中心点的距离表示如图 6所示。在实验中,只需选取已知像素点所对应的距离数值进行计算即可。

图 6 样本块中所有像素点的距离表示
Fig. 6 Distance representation of all pixels in the exemplar patch

对于图 6所示的样本块,利用新定义的置信项进行修复实验,得到置信项$C$($p$)和优先权$P$($p$)的变化走势图如图 7所示,从中可以看到,置信项不再出现突然递减及迅速趋于零的现象,优先权受其变化的影响变小。

图 7 新置信项及优先权走势图
Fig. 7 New confidence item and priority dropping graphs((a) $C$($p$); (b) $P$($p$))

通过改进置信项$C$($p$),使得修复过程中置信项的值不再依赖于每一次迭代所累积的结果,而是将已填充部分看作可信任的已知部分,计算其到中心点$p$的棋盘距离之和,外围距离较大的点越多,说明待修复区域被包围的程度越大,与周围已知部分的联系越紧密,这样在块内已知像素数量相同的情况下,既保证了被包围程度大的块优先被修复,又避免了因置信项趋于零所导致的优先权计算失效致使修复顺序错乱问题。

在根据改进后的置信项计算出边界上所有点的优先权后,选取优先权最大值对应点$p$为中心的像素块$\Psi _p$作为待修复块,用SSD算法为该待修复块在图像区域寻找最佳匹配块。

2.2 基于纹理特征的自适应块划分

Criminisi算法[6]在寻找最佳匹配块时采用全局搜索策略,不仅时间开销大,而且易匹配到错误纹理。由于图像具有局部自相似性,搜索范围限定在部分区域即可找到较合适的匹配块,因此可采用一种自上而下的拆分方法,对一幅图像进行水平和竖直方向上的拆分,将图像自适应划分成大小不同的块,由此为匹配过程中搜索范围的确定提供依据。如图 8所示,对所要进行操作的图像块赋一个方向标志$\delta ^{(l)}$∈{$h$$v$},该标志决定了进行分块的方向,水平方向为$h$,竖直方向为$v$,这样可以保证在水平和竖直方向上交替进行块划分,避免只在一个方向拆分的情况出现。记$B_{l1d}$$B_{l2d}$为块$B_l$沿着方向$d$划分开的两个子块,将它们之间的不相似性$\bar H_d^{(l)}$作为是否进行块划分的依据,即

图 8 一个图像块的拆分方法
Fig. 8 Division of a block into sub-blocks

$ \bar H_d^{\left( l \right)} = {{\bar H}^{\left( {{l_{1d}},{l_{2d}}} \right)}};d = h,v $ (9)

式中,$\bar H{(^{{l_{1d}}}}{,^{{l_{2d}}}})$表示图像块$B_{l1d}$$B_{l2d}$进行的特征不相似性比较。若$\bar H_d^{(l)}$超过一个给定的阈值$\tau $,说明两子块不相似程度较大,需将他们沿着$d$方向进行拆分,拆分顺序取决于块的方向标志$\delta ^{(l)}$;若$\bar H_d^{(l)}$在给定的阈值范围内,则进行相对方向两子块的不相似性比较,进而判断是否需要拆分。这样依次进行水平和竖直方向子块的不相似性比较并进行拆分,直到该块无法再进行拆分或已达到人工设定的阈值,该拆分过程结束,进入下一块的划分。最终所得结果即是根据特征相似性情况划分出的不同尺寸的矩形块。

由于纹理特征是一种全局特征,可以较好地反映了图像的空间分布信息和结构信息,因此选取图像的纹理特征作为度量图像块之间相似性的依据。这里采用Gabor变换法提取纹理特征,具体实现步骤为:首先建立Gabor滤波器组,选择$s$个尺度$t$个方向,共$st$个滤波器;然后将该Gabor滤波器组与要进行处理的图像块进行卷积,则每个图像块可以得到$st$个滤波输出,对每个输出求取平均值,并将所有结果转化为一个($st$)×1的列向量作为该图像块纹理表示的特征向量$\boldsymbol{g}_i$,即

$ \begin{array}{*{20}{c}} {{\mathit{\boldsymbol{g}}_i}\left( n \right) = \frac{1}{{\# \left| {{B_i} \cap \mathit{\Phi }} \right|}}\sum\limits_{p \in {B_i} \cap \mathit{\Phi }} {{{\left| {I\left( p \right) \otimes {h_n}\left( p \right)} \right|}^2}} }\\ {\forall n \in \left\{ {1, \cdots ,{N_{\rm{f}}}} \right\}} \end{array} $ (10)

式中,$B_i$表示所要进行操作的图像块,# |$B_i$$\mathit{\Phi }$|表示图像块内的已知像素数量,$I$($p$)表示图像像素,$h_n$($p$)为滤波器,⊗表示卷积操作,$N_{\rm{f}}$为滤波器组中的滤波器数量,即$st$。因此$\boldsymbol{g}_i$是每个图像块的一个特征向量,其维度是$N_{\rm{f}}$

依照上文所述的拆分顺序,依次对图像块提取纹理特征,得到其特征向量并进行比较,则

$ \bar H_d^{\left( l \right)} = \sum\limits_{n = 1}^{{N_{\rm{f}}}} {{{\left| {{\mathit{\boldsymbol{g}}_{{l_{1d}}}}\left( n \right) - {\mathit{\boldsymbol{g}}_{{l_{2d}}}}\left( n \right)} \right|}^2}} ;d = h,v $ (11)

式中,${\boldsymbol{g}_{{l_{1d}}}}$${\boldsymbol{g}_{{l_{2d}}}}$分别表示图像块$B_l$沿着方向$d$划分开的两个子块的特征向量,$\bar H_d^{(l)}$即为不相似度作为判定是否将图像块拆分的依据。最终所得结果是图像根据纹理特征被自适应划分为大小不一的矩形块,如图 9所示为一幅待修复图像进行自适应块划分的结果。

图 9 自适应块划分结果
Fig. 9 Image division into block of adaptive sizes

2.3 相似图像块选择

当计算出所有图像块的纹理特征向量并实现合理的块划分后,需要找出与待修复像素块所在图像块相似的区域。

通过实验发现,若只考虑纹理特征用于比较图像块之间的相似性,其辨识精度相对较低,而结合HSV颜色模型,可充分描述人对颜色的感觉。因此本节采用综合纹理特征和HSV颜色特征进行相似图像块的比较和选择,既利用纹理特征对局部空间信息的描述,又利用颜色特征对图像块颜色全局分布的描述,从而避免单一使用某一特征描述图像的片面性。

首先对于每个包含有待修复区域的图像块$B_i$,将它的纹理特征向量$\boldsymbol{g} _i$与其他所有矩形图像块的特征向量$\boldsymbol{g}_j$进行比较,即

$ \bar H = \sum\limits_{n = 1}^{{N_{\rm{f}}}} {{{\left| {{\mathit{\boldsymbol{g}}_i}\left( n \right) - {\mathit{\boldsymbol{g}}_j}\left( n \right)} \right|}^2}} $ (12)

式中,$j$={1,…,$W$|$j$$i$},$W$为整幅图像所划分的图像块总数。

接着提取图像的颜色特征,将RGB空间转化为HSV空间并进行非等间隔量化,然后将3个颜色分量合成为一维特征向量$\boldsymbol{c}$,再计算其直方图作为颜色特征,最后计算含有待修复区域的图像块$B_i$与其余图像块之间的欧氏距离${\bar O}$作为颜色特征不相似度,即

$ \bar O = \sqrt {\sum\limits_{\begin{array}{*{20}{c}} {i,j = 1}\\ {i \ne j} \end{array}}^W {{{\left( {{\mathit{\boldsymbol{c}}_i} - {\mathit{\boldsymbol{c}}_j}} \right)}^2}} } $ (13)

式中,$\boldsymbol{c} _i$$\boldsymbol{c}_j$分别表示要进行比较的两图像块的颜色特征向量。

定义相似块选择的度量准则$R$由纹理不相似度${\bar H}$和颜色特征不相似度${\bar O}$共同决定,即

$ R = \mu \bar H + \nu \bar O $ (14)

式中,$μ$+$ν$=1。

${\mathit{\Sigma }^{(l)}}$为一组与$B_l$特征相似的图像块的位置集合,即

${\mathit{\Sigma }^{\left( l \right)}} = \left\{ {k\left| {{R^{\left( {l.k} \right)}} \le \varepsilon } \right.} \right\}$ (15)

式中,$R^{(l,k)}$表示图像块$B_l$$B_k$间的特征比较结果,$k$为所选择出的相似块,$\varepsilon $是图像块之间的相似性判断阈值,通过逐一对比计算找出不相似数值较小块,记录它们的位置,则这些被选中的图像块即为后续图像修复过程中所限定的局部搜索区域,如图 10所示。

图 10 特征相似图像块的选择
Fig. 10 Selection result of feature similarity image blocks

经过以上步骤,利用块划分和块选择操作,完成图像修复中搜索范围的确定这一过程。由此,一方面通过搜索空间的限制可以更有效的找到合理匹配块,减小错误匹配的累计效应;另一方面,将全局搜索改为局部搜索也可大大减少算法所需时间。后续寻找最佳匹配块过程则在上述相似图像块中进行,匹配块的拷贝、提取填充新前缘及判断待修复边界是否为空等操作均依照1.1节Criminisi算法[6]中相应步骤进行。

3 实验及结果分析

为验证算法的有效性,本文主要针对目标移除图像进行计算机仿真实验。实现平台采用Windows7,Matlab2014a语言编程环境,Intel 3.70 Ghz CPU时钟频率,内存4.0 GB。实验中自适应块划分阈值$\tau $和相似块选择阈值$\varepsilon $根据不同图像作出调整,待修复块的大小选定为9×9像素。因对于目标移除的图像修复没有原始图像可以参照,无法对其进行峰值信噪比、均方差、结构相似性等客观性评价,因此进行修复时间的比较,同时结合人的主观评价来判断修复结果是否令人满意。

图 11所示为移除“卡车”图像修复结果,图 11(e)(h)中的天空部分均出现了不同程度的错误填充,原因在于文献[6, 13-14]均是对待修复块进行全局搜索匹配,增大了匹配到不合适样本的可能性,又由于优先权的不合理设置使得修复顺序错乱,进而导致错误匹配在待修复区域的不断累积,最终致使修复结果失败。文献[7]虽然采用局部搜索策略,但由于样本数量不够充足,更易出现将不相关像素信息复制到待填补区域的现象。本文算法对卡车的修复,仅在所划分的包含有天空和桥梁部分的图像块中进行,有效控制了样本块来源的准确性,加之优先权的改进更利于像素的匹配与传播,所以可获得较好的修复效果。

图 11 移除“卡车”图像修复结果
Fig. 11 The inpainted results of object removal for image "Truck"((a)origin image; (b)image to be inpainted; (c)reslut of image division; (d)ours; (e)reference [6] algorithm; (f)reference [7] algorithm; (g)reference [13] algorithm; (h)reference [14] algorithm)

图 12是移除“蹦极”图像修复结果,因文献[6-7]中修复顺序受到众多因素干扰,图 12(e)(f)的屋顶边缘都有断裂发生。文献[13]对置信项加权,保证了直线传播;文献[14]分离优先权中的置信项与数据项,优先传播结构部分,图 12(g)(h)中屋顶边缘结构都得到连贯修复。图 12(e)(g)中草地部分均有延伸至海水中,也是由于不合理匹配所导致的误差累积现象。文献[7, 14]所采用的色差分析及分离优先权可以较好区分草地与海水边界,因此图 12(f)(h)中海水部分修复效果较完整。本文算法仅在纹理颜色相似区域进行匹配查找,同时更加注重样本块与周围像素信息的联系,因此从图中可以看到屋顶边缘连贯性保持良好,海水部分也无其他错误纹理出现。

图 12 移除“蹦极”图像修复结果
Fig. 12 The inpainted results of object removal for image "Bungee"((a)origin image; (b)image to be inpainted; (c)reslut of image division; (d)ours; (e)reference [6] algorithm; (f)reference [7] algorithm; (g)reference [13] algorithm; (h)reference [14] algorithm)

图 13为移除“棒球”图像修复结果,修复后的理想图像不仅应该保持天空和雪地的完整性,远景天空和雪地的交汇处也应保持连贯性,图 13(e)(h)均出现了不同程度的纹理信息过传播以及在平坦区域的杂乱垃圾现象。图 14是移除“大象”图像修复结果,图 14(e)(g)在土地与树丛交汇部分修复较理想,但在草丛上方发生了错误匹配将树枝纹理复制到了天空区域,图 14(h)在土地树丛部分修复出纹理杂乱的图像,造成上述结果的原因均是由于各算法中优先权及样本选择不合理所导致的。

图 13 移除“棒球”图像修复结果
Fig. 13 The inpainted results of object removal for image "Baseball"((a)origin image; (b)image to be inpainted; (c)reslut of image division; (d)ours; (e)reference [6] algorithm; (f)reference [7] algorithm; (g)reference [13] algorithm; (h)reference [14] algorithm)
图 14 移除“大象”图像修复结果
Fig. 14 The inpainted results of object removal for image "Elephant"((a)origin image; (b)image to be inpainted; (c)reslut of image division; (d)ours; (e)reference [6] algorithm; (f)reference [7] algorithm; (g)reference [13] algorithm; (h)reference [14] algorithm)

表 1所示是本文算法与文献[6-7, 13-14]算法的修复时间对比结果。由于文献[6]采用的是全局搜索策略,因此算法的大部分时间消耗在搜索匹配过程中。文献[7]虽然进行的是局部搜索,但进行待修复块邻域的色差分析有一定的计算量,因此时间花费较长。文献[13]除了对优先权中的置信项做出改进外,还将搜索匹配策略改用颜色粗搜索加灰度距离细搜索的分步方式,所以时间上有所增加,由于文献[13]提供的代码采用的是循环运算而不是矩阵运算,因此在所进行的实验中,修复时间开销都非常可观。文献[14]算法则是在固定小区域进行局部搜索且不借助图像的其他特征信息,因此修复效率较高所耗时间较少。本文算法消耗时间主要分为3个部分:1) 根据图像纹理特征进行自适应块划分的时间;2) 进行相似图像块搜索比较的时间;3) 确定修复顺序完成修复的时间。其中部分1)2) 限制搜索区域的操作为部分3) 修复操作减小了范围,也即是缩短了这部分的搜索时间,在总时间方面与文献[6]较为接近。

表 1 不同修复算法所需时间对比
Table 1 Running time of different inpainting algorithms

下载CSV
图像 图像大小/像素 缺损面积/% 所需时间/s
文献[6] 文献[7] 文献[13] 文献[14] 本文算法
图 11 355×272 11.08 18.04 104.40 1 074.57 13.02 15.44
图 12 308×206 12.60 11.41 68.31 572.24 6.32 10.53
图 13 233×350 11.05 14.09 85.35 878.31 7.15 12.72
图 14 240×360 16.38 25.95 152.75 1 143.29 16.65 20.61

从以上实验可以看出,Criminisi[6]算法、Wang[13]算法均采用全局搜索的方法来寻找匹配块,由于搜索范围过大,造成匹配错误率增加,从而导致纹理的不合理填充。Wang[13]通过对置信项加权,同时改进相似性度量方法,它在大范围的直线传播方面更有优势。Deng[14]分离优先权中的置信项与数据项,自动估计所分离的步数来实现优先传播结构再进行纹理修复,从而解决样本选择不当的问题,它对于边缘结构较不明显、不丰富的图像修复效果较差。Zhang[7]虽然采用局部搜索策略,但在图像邻域颜色相似时不能较好区分结构会导致修复出错。本文算法对修复顺序和搜索范围做出调整,图像在纹理传播和结构完整性连贯性的保持方面都能达到较理想效果,同时误匹配及误差累积的现象也有所减少,可获得较为自然的修复结果。

4 结论

提出一种改进的图像修复算法,通过改进Criminisi算法中优先权的置信项,避免因其趋于零导致的修复顺序错乱造成的错误累积情况的发生;同时改进待修复匹配块的搜索范围,对整幅图像进行自适应划分,使搜索只在相似块中进行,不仅减少了时间,而且提高了匹配的准确性。通过实验对比验证了本文算法能有效地保持边缘结构和纹理的一致性,使修复结果更自然,减少了修复垃圾的出现。本文算法不足之处在于,它更适合修复自然图像中背景不太复杂的大面积缺损图像,对于有较多或较强结构的复杂场景如城市、街道修复效果较差,以及对于带有文本或划痕这样微小且分布较广的图像的修复,由于图像自适应分块也需要一定的时间,所以修复这样的图像用此方法得不偿失。对于图像中存在的拐点等非平滑区域,不能得到较理想的修复效果,下一步工作是寻找更多的先验知识对优先权中的数据项及样本块匹配准则进行约束,以进一步提高修复效果,同时,对于自适应块划分策略可有效缩短算法运行时间,可将其与基于马尔可夫随机场的图像修复算法相结合,改善该方法的效率问题。

参考文献

  • [1] Guillemot C, Le Meur O. Image inpainting:overview and recent advances[J]. IEEE Signal Processing Magazine, 2014, 31(1): 127–144. [DOI:10.1109/MSP.2013.2273004]
  • [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, USA:ACM, 2000:417-424.[DOI:10.1145/344779.344972]
  • [3] 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]
  • [4] Ballester C, Bertalmio M, Caselles V, et al. Filling-in by joint interpolation of vector fields and gray levels[J]. IEEE Transactions on Image Processing, 2001, 10(8): 1200–1211. [DOI:10.1109/83.935036]
  • [5] Tschumperlé D. Fast anisotropic smoothing of multi-valued images using curvature-preserving PDE's[J]. International Journal of Computer Vision, 2006, 68(1): 65–82. [DOI:10.1007/s11263-006-5631-z]
  • [6] 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]
  • [7] Zhang Q, Lin J J. Exemplar-based image inpainting using color distribution analysis[J]. Journal of Information Science and Engineering, 2012, 28(4): 641–654. [DOI:10.6688/JISE.2012.28.4.1]
  • [8] Ren S, Tang X H, Kang J L. An image inpainting algorithm combined with texture and edge features[J]. Journal of Computer-Aided Design & Computer Graphics, 2013, 25(11): 1682–1693. [任澍, 唐向宏, 康佳伦. 纹理和边缘特征相结合的图像修复算法[J]. 计算机辅助设计与图形学学报, 2013, 25(11): 1682–1693. ]
  • [9] Zhai D H, Yu J, Duan W X, et al. Image inpainting algorithm based on partition block of damaged region[J]. Journal of Image and Graphics, 2014, 19(6): 835–842. [翟东海, 鱼江, 段维夏, 等. 破损区域分块划分的图像修复[J]. 中国图象图形学报, 2014, 19(6): 835–842. ] [DOI:10.11834/jig.20140603]
  • [10] 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]
  • [11] Zhou H L, Zheng J M.Adaptive patch size determination for patch-based image completion[C]//Proceedings of the 201017th IEEE International Conference on Image Processing.Hong Kong, China:IEEE, 2010:421-424.[DOI:10.1109/ICIP.2010.5654120]
  • [12] He K M, Sun J. Image completion approaches using the statistics of similar patches[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2014, 36(12): 2423–2435. [DOI:10.1109/TPAMI.2014.2330611]
  • [13] Wang J, Lu K, Pan D R, et al. Robust object removal with an exemplar-based image inpainting approach[J]. Neurocomputing, 2014, 123: 150–155. [DOI:10.1016/j.Neucom.2013.06.022]
  • [14] Deng L J, Huang T Z, Zhao X L. Exemplar-based image inpainting using a modified priority definition[J]. PLoS One, 2015, 10(10). [DOI:10.1371/journal.pone.0141199]
  • [15] Ružić T, Pižurica A. Context-aware patch-based image inpainting using Markov random field modeling[J]. IEEE Transactions on Image Processing, 2015, 24(1): 444–456. [DOI:10.1109/TIP.2014.2372479]
  • [16] Zhou T, Johnson B, Li R.Patch-based texture synthesis for image inpainting[J].arXiv.org > cs > arXiv:1605.01576.arXiv:1605.01576vl[cs.cv]