基于样例的图像修复算法的几种加速手段

来源:互联网 发布:日本捕鲸 知乎 编辑:程序博客网 时间:2024/06/13 22:45

图像修复是图像复原研究中的一个重要内容,它在其它很多方面都得到了应用。

    目前,图像修复中占主流的修复模型有:偏微分方程的修复模型、纹理合成的修复模型。前者计算量大、耗时长、对纹理的还原能力有限,处理大区域图像会有明显的模糊现象,因此只适合于划痕、污迹和文字等细窄的区域修复。相比之下,后者将待修复区域周围的图像作为样本,从中提取特征并选取匹配的纹理,将其合成到待修复区域内,适用于较大区域的修复。

   Criminisi等人在2003年提出了一种不用分割图像,同步处理纹理和结构的基于样例的图像修复算法。他们的算法取得了满意的效果,但是耗费的时间过长,另外优先权和相似度的计算还存在一定不足。

基于样例的图像修复算法的精髓在于采用小块填补的方法,相对于点填补的方法来说提高了填补速度和精度,使用小块的数据值和置信度值来定义各小块的优先级,从而使填补过程有序地进行,最终使填补出来的结构和纹理都不失流畅感。
算法中选取的小块是一个n*n大小的块(其中n为像素的个数),n值的大小影响着整个修复系统的功能与性能,当待修复的图片较小而选取的n值过大时,修复出来效果会显得很粗糙,而当待修复的图片较大而选取的n值过小时,会是修复过程花费过长的时间。因此,小块的大小n应由待修复图片的大小来确定。通过大量实践证明,一般选取9*9大小的小块比较适中。
为了更好地阐释这种基于小块优先级的填补方式在修复结构和纹理上的合理之处,我们利用图示来说明。各种符号标于图1,其中
Ω为空白区域,即待修复的目标区域;Φ为包含确定颜色值的区域,也被称为源区域;δΩ为目标区域的边缘,最先得到修复的是这个边缘上的小块,因此δΩ也被称为修复前沿;ψp为以点p( pδΩ)为中心的正方形小块;npδΩ在p点的切线的单位法向量,▽I为p处梯度的垂直方向,即等照度线的方向。



ψ p的优先级P(p)由其置信度值C(p)和数据值D(p)来共同决定,计算方法如式:

P(p)=C(p)XD(p)

置信度值C(p)反应了以p点为中心的小块所含有效点的多少,其值越大,表示p点周围的有效点越多,即从ψp开始修复具有更高的可信度,从而尽可能地减少修复的误差。初始化时C(p)=1, pδΩC(p)=1, pδΩ而。计算方法如式


完成ψp的修复以后,按照式(3)对填补新数据的像素点的C(p)值进行更新。如此更新下去,越后修复的小块的置信度就越小,即可信性越小,这与实际相吻合,亦证明了此方法是合理的。

数据值D(p)体现了p点周围线性结构信息的强弱,其值越大,表示p点周围具有更强的线性结构,即从ψp开始修复能更好地保持这种结构信息,减少修复的误差。计算方法如式


计算出δΩ上所有的点为中心的小块的优先级后,确定其中P(p)最大的小块,按照上述方法筛选出的优先级最高的小块的中心点应为图中点p。然后根据ψp中所含的有效点的信息,在源区域Φ中搜寻与ψp最相似的匹配块ψq来填补ψ p中缺失点的信息。ψq应满足式


改进方法一

Fast and Enhanced Algorithm for Exemplar Based Image Inpainting这篇文章其中提出通过简单的缩小对比搜索的范围来加速搜索速度,搜索范围的定义如下图所示:


其中startX、startY、endX、endY分别表示搜索范围的起点坐标和终点坐标。n和m分别表示补丁中的行数和列数,cr,cc分别代表待填充区域中行、列中最长的连续待填充像素的数量,DX和DY为固定值。

实验的结果如下所示


改进方法二

FAST EXEMPLAR-BASED IMAGE INPAINTING APPROACH提出了一种继续减小对比次数的方法。文中提出近似的补丁可能出现在相同的区域内,因此在寻找最接近的补丁的过程中,只需用一个补丁来代表这一区域内的其他补丁来和待修复补丁进行对比。如下图所示,被标注出来的补丁都是近似的补丁,其中任意一个都能用来代替其他的


上面算法中使用MSE来寻找近似的补丁,当这些补丁间的MSE小于某个阈值,就可把它们当作一类近似的补丁,其中MSE的计算方式如下


改进方法三

由于Criminisi的算法在每次填充完了一个patch后都会更新一次边界,重新分配priority,这样做虽然保证了优先级最高的点被选择,但是无形中增加了计算量,于是边界和priority更新的步骤被推迟了所有现有的边界点被全部填充,而不是在每个边界点被填充后,效果如下所示:


1 0