图像修复:PatchMatch与Space-Time completion

本文介绍了图像修复技术中的PatchMatch和Space-Time Completion算法。PatchMatch通过利用图像连续性快速找到近似最近邻,实现高效修复;而Space-Time Completion则通过全局一致性目标函数求解图像填充。文章探讨了这两种算法的迭代过程、细节优化,如梯度引入、权重计算,并指出它们在处理复杂图像和视频序列时的优势与局限性。
摘要由CSDN通过智能技术生成

据说Adobe ps cs5 中的基于图像的填充是使用的PatchMatch 和 Space-Time Completion, 最近特意看了一下这两篇paper,然后按照paper所述撸下来,感觉还挺有意思的。

PatchMatch

PatchMatch 算法就是一个找近似最近邻(Approximate Nearest neigbhor)的方法,是一片09年的paper,相较于之前的找ANN的算法速度上快了10+倍。
PatchMatch 的核心思想是利用图像的连续性(consistence), 一个图像patch块A附近的Patch快的最近邻最有可能出现在Patch快A的最近邻附近,利用这种图像的连续性大量减少搜索的范围,通过迭代的方式保证大多数点能尽快收敛。

对于图A,在图B中寻找每个patch块的最近邻PatchMatch算法步骤如下:

  1. 先随机给图A中的每个patch设定一个随机的图B中的patch作为其初始的最近邻patch。其中自然有一些匹配得还可以,一些匹配得不行的。
  2. 对于图A中的每个patch块,寻找其周围其他patch块的最近邻所对应位置的patch块作为其候选最近邻(传递附近patch快的最近邻信息),如果距离比当前最近邻小,则进行更新。
  3. 为了避免陷入局部极值,再额外再随机生成几个patch位置作为候选最近邻,弱小于当前最近邻,则更新。
  4. 多次迭代,奇数次向右向下传递,偶数次向左向上传递。

这是一种利用图像连续性的方法,每当找到自己的最近邻的时候,还能将该对应信息传递给周围的patch块,从而达到加速收敛的目的。如下途中,红色Patch找到自己最近邻的情况下,将相应附近的点patch也传递给自己附近的patch块。
PatchMatch

Space-Time Completion

这篇paper的目的在于利用一个全局性的目标函数求全局最优来完成图像的填充。发现这篇paper和nonlocal mean denoise有一些异曲同工之妙,都有一种利用点周围patch进行投票的思想,迭代过程都比较优美。
下面简单翻译一下原文吧,感觉说得也不是特别清晰。
按照paper中所说,最完美的填充情况下,图像中需要达到最大的一致性。对于一个视频序列 S S S和序列 D D D,如果其中每一个时间空间点都能在序列 D D D中找到,则认为他们又全局的视角一致性。也就是说用 D D D中的窗口来填充 S S S中的数据。从 D D D中找到的patch块用 V V V来表示。 H H H则是 S S S中的一个需要填充的孔洞区域。我们希望能用一些新的 H ∗ H^* H填充丢失区H,得到一个新的和数据D有最高的全局视觉一致性的视频序列 S ∗ S^* S
C o h e r e n c e ( S ∗ ∣ D ) = ∏ p ∈ S ∗ m a x q ∈ D s i m ( W p , V q ) Coherence(S^*|D) = \prod_{p \in S^*} \mathop{max}_{q \in D} sim(W_p,V_q) Coherence(SD)=p

  • 9
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值