论文阅读笔记:《PatchMatch: A Randomized Correspondence Algorithm for Structural Image Editing》

本文提出一种基于随机化算法的交互式图像编辑工具,用于快速找到图像之间的对应区域。该算法利用图像的自然一致性进行快速传播,适用于图像重定向、修补和重组。与传统方法相比,该算法在速度和内存效率上有显著优势,尤其在GPU实现上,性能提升明显。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要

  提出了一种基于随机化算法的交互式图像编辑工具,用于在两张图片之间快速寻找对应的小区域。该算法的主要看法是,可以通过随机采样找到一些好的 patch 匹配,根据图像的自然一致性允许我们将这种匹配快速传播到周围区域。这个简单的算法构成了多种工具的基础 — 图像重定向 (不引入大的畸变的情况下,通过改变照片的大小和比例信息,来适应各种尺寸屏幕)、图像修补、图像重组。

简介

fig1
  非参 patch 采样方法思想是在 patch distance 度量下,为 A 中的每个 patch 找到 B 中最近的邻居,这种映射叫最近邻域 (Nearest-Neighbor Field) 。图像和 patch 大小分别为 M 和 m 个像素 , 用蛮力搜索算法时间复杂度为 O ( m M 2 ) O\left(m M^{2}\right) O(mM2) ,即使使用近似最近邻和降维等加速方法,这个搜索步骤仍然是非参数 patch 采样方法的瓶颈。此外,基于树结构的加速方法使用较大存储空间 O(M),这限制了它们对高分辨率图像的应用。
  为了有效地计算近似最近邻域,本文提出的新算法依赖三个观察。偏移空间维度,虽然 patch 空间的维数很大 (m 维),但是它是稀疏填充的。之前的许多方法都是通过使用树结构 (kd-tree在 O ( m M log ⁡ M ) O(m M \log M) O(mMlogM) 时间内搜索) 和降维方法 ( PCA) 来减少patch 空间的维数来加速最近邻搜索。我们的算法在可能的 patch 偏移量的二维空间中进行搜索,从而获得更快的速度和内存效率。图像的自然结构,通常对每个像素的独立搜索忽略了图像的自然结构。利用 patch 算法时,输出通常包含来自输入的大量连续数据块 。因此,我们可以通过以一种相互依赖的方式对相邻像素进行搜索来提高效率。大数定律,虽然任何一个随机分配的 patch 都不太可能是一个很好的猜测,但总有差不多的。且随着随机分配范围的变大,不具有正确偏移的 patch 可能性变得很小。
  基于这三个观察结果,提出了一种近似 NNFs的使用增量更新计算的随机算法。该算法从初始猜测(先验信息或随机field)开始。迭代过程包括两个阶段:传播阶段,利用相关性将好的解传播给场中相邻的像素点;随机搜索,当前偏移向量受到多个随机偏移量的影响。对测试图像的收敛速度可达 2MP。与主成分分析的 kd-tree 相比,CPU 实现速度提高了 20-100 倍。此外,还提出了一种 GPU 实现,对于类似的图像大小,它的速度大约是 CPU 版本的 7 倍。算法除原始图像外只需很少的额外内存,不像以前的算法构建辅助数据结构来加速搜索。使用默认参数设置,运行时间效率为 O ( m M log ⁡ M ) O(mM\log M) O(mMlogM) ,内存使用量为 O ( M ) O(M) O(M)。虽然这与基于树的加速技术具有相同的渐近时间和存储率,但是实际上更小。
  在第 4 节中,我们演示了该算法在具有三种交互编辑模式的结构化图像编辑程序中的应用:图像重定向、图像补全和图像重组。允许用户直观的进行交互约束合成过程。
fig2

相关工作

纹理合成与重组

  Efros 和 Leung [1999] 提出了一种简单的非参数纹理合成方法,该方法通过从纹理实例中采样小块并粘贴到合成图像中。& [ Wei 和 Levoy 2000 ; Ashikhmin 2001; liang 2001; Kwatra et al. 2003; criisi et al. 2003 ; Drori et al. 2003 ] 改进了搜索和采样方法,以更好地保存结构。& 上述贪心算法在填充复杂结构的大孔有时顺序会不一致,Wexler 等 [2007] 将此问题表述为全局优化问题从而获得全局一致性的重组结果。该迭代多尺度优化算法反复并行搜索所有孔像素的最近邻 patch。该算法最初的实现通常比较慢 (对于小于 1 MP 的图像需几分钟)。& 基于 Patch 优化的方法已经成为纹理合成的常用方法 [Kwatra et al. 2005; Kopf et al. 2007; 魏 et al. 2008] 。Lefebvre 和 Hoppe [2005] 使用了相关的并行更新方案,甚至演示了基于 GPU 的实时实现。& Komodakis 和 Tziritas [2007] 提出了另一种全局优化算法来重组图像,该算法使用带有自适应优先级消息传递机制的循环信念传播。虽然该方法取得了很好的效果,但其速度相对较慢,仅在小图像上适用。

最近邻搜索方法

  高质量的 patch 优化方法复杂度高 (进行更多的搜索迭代),已经提出了各种加速搜索的方法。& 通常涉及到树结构,如 TSVQ [Wei 和 Levoy 2000]、kd-trees [Hertzmann et al. 2001 ; Wexler et al. 2007 ; Kopfet et al. 2007] 和 VP -trees [Kumar et al. 2008],它们都支持精确搜索和近似搜索 (ANN)。& 在综合应用中,近似搜索常与 PCA 等降维技术结合使用 [ Hertzmann et al. 2001; Lefebvre and Hoppe 2005 ; Kopf et al. 2007 ],因为 ANN 方法在低维度下时间效率和内存效率更高。& Ashikhmin [2001] 提出了一种利用合成过程中的局部相干性的局部传播技术,将 patch 的搜索空间限制在范例纹理中源位置的相邻元素,本文方法受此启发。& k-coherence 技术 [Tong et al. 2002] 将传播思想与预计算阶段相结合,缓存每个 patch 的 k 个最近邻,以后的搜索将利用这些预计算集。虽然这加快了搜索阶段,但是 k-coherence 仍然需要对输入中的所有像素进行完整的最近邻搜索,并且只用合成纹理的数据进行了演示。假设初始偏移量足够接近,只搜索少量最近的邻居就行,对于输入是小的纯纹理,可能正确,但对大的复杂图像,本文的随机搜索阶段 (规避局部极小值) 是必要的。

控制和交互

  patch 采样方案的一个优点是提供足够的精细控制。例如,在纹理合成中,Ashikhmin [2001] 的方法通过初始化具有所需颜色的输出像素,让用户控制过程。Hertzmann 等人 [2001] 的图像类比框架使用辅助图像作为 “指导层”,实现多种效果,包括超分辨率、纹理传输、艺术过滤器和按数字纹理。在图像补全领域,通过对缺失区域内外的结构进行标注,得到了令人印象深刻的引导填充结果 [Sun et al. 2005]。…

图像重定向

  许多图像重定向方法都采用 warping 或 cropping,使用一些显著性度量来避免重要的图像区域变形 [Liu and Gleicher 2005; Setlur et al. 2005;Wolf et al. 2007;Wang et al. 2008]。& Seam carving (线裁剪) [Avidan and Shamir 2007;Rubinstein 等人 2008] 使用一种简单贪婪的方法对图像中的 seam 进行优先排序,而这些 seam 在重新定位时可以很好的移除。虽然线裁剪速度很快,但它不能很好地保存结构,且只能对结果提供有限的控制。& Simakov et al. [2008] 提出将图像和视频重定向问题框架为原始图像和输出图像中小块之间双向相似性的最大化,与 Seam carving 方法比特别慢。Wei et al. [2008] 提出了一种类似的目标函数和优化算法,主要是生成纹理信息以加快合成的方法。& 本文的约束重定向和图像重组应用程序使用与 Simakov 相同的目标函数和迭代算法,使用我们的新最近邻算法来提高交互速度。& 之前的方法,用户控制主要是确保重要区域不失真。本文集成了用户特定约束,在重定向过程中,可控制均匀缩放或非均匀缩放,可将行或对象固定到特定的输出位置。

图像重组

  根据用户输入重新排列图像中的内容,Simakov et al. [2008] 和 Cho et al. [2008] 在 MRF 公式中使用了更大的图像块和信念传播进行重组。重组需要最小化全局误差函数,因为对象可能会移动很长的距离,而贪婪算法会加大工作量。

加权最近邻算法

  我们将一个 nearest-neighbor field (NNF) 定义为函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值