引导图像滤波(Guided Image Filtering)

[Paper] Guided Image Filtering(2013)

引导图像滤波

摘要——在本文中,我们提出了一种新的显式图像滤波器,称为引导滤波器。从局部线性模型导出,引导滤波器通过考虑引导图像的内容来计算过滤输出,引导图像可以是输入图像本身或另一个不同的图像。引导过滤器也是一个比平滑更通用的概念:它可以将引导图像的结构传输到过滤输出,从而实现新的过滤应用,例如去雾和引导羽化。此外,无论内核大小和强度范围如何,引导滤波器自然具有快速且非近似的线性时间算法。目前,它是最快的边缘保留滤波器之一。实验表明,引导滤波器在各种计算机视觉和计算机图形应用中既有效又高效,包括边缘感知平滑、细节增强、HDR 压缩、图像抠图/羽化、去雾、联合上采样等。

概述

计算机视觉和计算机图形学中的大多数应用涉及图像过滤以抑制和/或提取图像中的内容。具有显式内核的简单线性平移不变 (LTI) 滤波器,例如均值、高斯、拉普拉斯和 Sobel 滤波器 [2],已广泛应用于图像恢复、模糊/锐化、边缘检测、特征提取等。或者,LTI 滤波器可以通过求解泊松方程隐式执行,如高动态范围 (HDR) 压缩 [3]、图像拼接 [4]、图像抠图 [5] 和梯度域操作 [6]。滤波内核由齐次拉普拉斯矩阵的逆隐式定义。

LTI 滤波内核在空间上是不变的,并且与图像内容无关。但通常人们可能想要考虑来自给定引导图像的附加信息。各向异性扩散的开创性工作 [7] 使用滤波图像本身的梯度来引导扩散过程,避免平滑边缘。加权最小二乘 (WLS) 滤波器 [8] 利用滤波输入(而不是 [7] 中的中间结果)作为指导,并优化二次函数,这相当于具有非平凡稳态的各向异性扩散。在许多应用中,除了过滤输入之外,引导图像也可以是另一幅图像。例如,在着色 [9] 中,色度通道不应跨亮度边缘渗色;在图像抠图 [10] 中,alpha 抠图应该捕获合成图像中的薄结构;在去雾[11]中,深度层应该与场景一致。在这些情况下,我们分别将色度/alpha/深度层作为要过滤的图像,将亮度/复合/场景作为引导图像。[9]、[10] 和 [11] 中的过滤过程是通过优化由引导图像加权的二次成本函数来实现的。解决方案是通过求解一个仅依赖于指南的大型稀疏矩阵来给出的。这个非齐次矩阵隐含地定义了一个平移变量过滤内核。虽然这些基于优化的方法 [8]、[9]、[10]、[11] 通常会产生最先进的质量,但它伴随着昂贵的计算时间的代价。

利用引导图像的另一种方法是将其显式构建到过滤器内核中。在 [12]、[13] 和 [1] 中独立提出并随后在 [14] 中推广的双边滤波器可能是此类显式滤波器中最受欢迎的一种。它在一个像素上的输出是附近像素的加权平均值,其中权重取决于引导图像中的强度/颜色相似性。引导图像可以是过滤器输入本身 [1] 或另一个图像 [14]。双边滤波器可以平滑小波动并同时保留边缘。尽管此过滤器在许多情况下都有效,但它可能会在边缘附近产生不需要的梯度反转伪影 [15]、[16]、[8](在第 3.4 节中讨论)。双边滤波器的快速实现也是一个具有挑战性的问题。最近的技术 [17]、[18]、[19]、[20]、[21] 依靠量化方法来加速,但可能会牺牲准确性。

在本文中,我们提出了一种新的显式图像过滤器,称为引导过滤器。滤波输出是引导图像的局部线性变换。一方面,引导滤波器与双边滤波器一样具有良好的边缘保留平滑特性,但不会受到梯度反转伪影的影响。另一方面,引导滤波器可以在平滑之外使用:在引导图像的帮助下,它可以使滤波输出比输入更结构化,平滑度更低。我们证明了引导滤波器在各种应用中表现非常好,包括图像平滑/增强、HDR 压缩、闪光/无闪光成像、抠图/羽化、去雾和联合上采样。此外,对于灰度和高维图像,无论内核大小和强度范围如何,引导滤波器自然都具有 O(N)时间(以像素数 N)1 的非近似算法。通常,我们的 CPU 实现每百万像素执行 40 ms 执行灰度过滤:据我们所知,这是最快的边缘保留过滤器之一。

本文的初步版本发表在 ECCV '10 [22] 上。值得一提的是,导向滤波器从那时起见证了一系列新的应用。引导滤波器实现了高质量的实时 O(N) 立体匹配算法 [23]。在[24]中独立提出了一种类似的立体方法。引导滤波器也已应用于光流估计 [23]、交互式图像分割 [23]、显着性检测 [25] 和照明渲染 [26]。我们相信引导滤波器在计算机视觉和图形方面具有巨大的潜力,因为它具有简单、高效和高质量的特点。我们提供了一个公共代码以方便未来的研究 [27]。

相关工作

我们将在本节中回顾边缘保留过滤技术。我们将它们分类为显式/隐式加权平均过滤器和非平均过滤器。

显式加权平均滤波器

双边滤波器 [1] 可能是显式加权平均滤波器中最简单、最直观的滤波器。它将每个像素的滤波输出计算为相邻像素的平均值,由空间和强度距离的高斯加权。双边滤波器在保留边缘的同时平滑图像。它已广泛应用于降噪[28]、HDR压缩[15]、多尺度细节分解[29]和图像抽象[30]。它被推广到 [14] 中的联合双边滤波器,其中权重是从另一个引导图像而不是滤波输入计算的。当要过滤的图像不能可靠地提供边缘信息时,联合双边滤波器特别受欢迎,例如,当它非常嘈杂或者是中间结果时,例如在闪光/非闪光去噪 [14]、图像上采样 [ 31]、图像去卷积[32]、立体匹配[33]等。

尽管双边过滤器很受欢迎,但它也有局限性。在 [15]、[16] 和 [8] 中已经注意到双边滤波器可能会受到“梯度反转”伪影的影响。原因是当一个像素(通常在边缘)周围几乎没有相似的像素时,高斯加权平均值是不稳定的。在这种情况下,结果可能会出现边缘周围不需要的轮廓,通常在细节增强或 HDR 压缩中观察到。

关于双边过滤器的另一个问题是效率。一个蛮力实现是 O ( N r 2 ) O(Nr^2) O(Nr2)耗时,内核半径为 r。 Durand 和 Dorsey [15] 提出了一个分段线性模型并启用基于 FFT 的过滤。Paris 和 Durand [17] 将灰度双边滤波器公式化为空间范围域中的 3D 滤波器,如果 Nyquist 条件近似为真,则对该域进行下采样以加快速度。在框空间内核的情况下,Weiss [34] 提出了一种基于分布直方图的 O ( N l o g r ) O(N log r) O(Nlogr) 时间方法,Porikli [18] 提出了第一个使用积分直方图的 O ( N ) O(N) O(N) 时间方法。我们指出,构建直方图本质上是在空间范围域中执行 2D 空间过滤器,然后是 1D 范围过滤器。在这种观点下,[34] 和 [18] 都沿距离域对信号进行采样,但不对其进行重构。Yang [19] 提出了另一种 O(N)时间方法,该方法沿范围域进行插值以允许更积极的子采样。以上所有方法都是线性复数 w.r.t. 采样强度的数量(例如,线性块或直方图箱的数量)。它们需要粗略采样才能达到令人满意的速度,但如果奈奎斯特条件严重破坏,则会以质量下降为代价。

空间范围域被推广到更高维度的颜色加权双边滤波 [35]。高维 kd 树 [20]、Permutohedral Lattices [21] 或 Adaptive Manifolds [36] 可以减少由于高维而造成的昂贵成本。但是这些方法的性能与灰度双边滤波器相比没有竞争力,因为它们花费了大量额外的时间来准备数据结构。

鉴于双边滤波器的局限性,人们开始研究快速保边滤波器的新设计。O(N)时间边缘避免小波(EAW)[37]是具有显式图像自适应权重的小波。但是小波的核在图像平面上稀疏分布,核大小受限(到2的幂),这可能会限制应用。最近,Gastal 和 Oliveira [38] 提出了另一种 O(N)时间滤波器,称为域变换滤波器。关键思想是迭代和可分离地应用一维边缘感知滤波器。O(N)时间复杂度是通过积分图像或递归滤波来实现的。 我们将在本文中与此过滤器进行比较。

隐式加权平均滤波器

一系列的方法优化一个二次代价函数,求解一个线性系统,相当于用逆矩阵隐式过滤图像。在图像分割 [39] 和着色 [9] 中,该矩阵的亲和度是颜色相似度的高斯函数。在图像抠图中,抠图拉普拉斯矩阵 [10] 旨在将 alpha 抠图强制为图像颜色的局部线性变换。该矩阵也用于去除雾霾 [11]。[8] 中的加权最小二乘滤波器根据图像梯度调整矩阵亲和度,并产生无晕边缘保留平滑。

尽管这些基于优化的方法通常会产生高质量的结果,但求解线性系统非常耗时。由于需要内存的“填充”问题[40]、[41],像高斯消元这样的直接求解器并不实用。Jacobi 方法、连续过度松弛 (SOR) 和共轭梯度 [40] 等迭代求解器收敛速度太慢。尽管精心设计的预处理器 [41] 大大减少了迭代次数,但计算成本仍然很高。多重网格方法 [42] 被证明是齐次 Poisson 方程的 O ( N ) O(N) O(N) 时间复数,但是当矩阵变得更加不齐次时,它的质量会下降。根据经验,通过预处理 [41] 或多重网格 [8],隐式加权平均滤波器至少需要几秒钟来处理 1 百万像素的图像。

已经观察到这些隐式过滤器与显式过滤器密切相关。在[43]中,Elad 表明双边滤波器是求解高斯亲和矩阵的一次 Jacobi 迭代。分层局部自适应预处理器 [41] 和边缘避免小波 [37] 以类似的方式构造。在本文中,我们表明引导滤波器与抠图拉普拉斯矩阵 [10] 密切相关。

非平均滤波器

边缘保留滤波也可以通过非平均滤波器来实现。中值滤波器 [2] 是众所周知的边缘感知算子,是局部直方图滤波器 [44] 的特例。直方图过滤器以双边网格的方式具有 O ( N ) O(N) O(N)时间实现。总变异 (TV) 滤波器 [45] 优化了 L1 正则化成本函数,并且显示为等效于迭代中值滤波 [46]。L1 成本函数也可以通过半二次分裂 [47] 进行优化,在二次模型和软收缩(阈值)之间交替。最近,巴黎等人[48] 提出操纵每个像素周围拉普拉斯金字塔的系数以进行边缘感知滤波。徐等人 [49] 建议优化 L0 正则化成本函数,有利于分段常数解。非平均滤波器通常在计算上很昂贵。

导向过滤器

我们首先定义一个通用的线性平移变量滤波过程,它涉及引导图像 I I I、滤波输入图像 p p p 和输出图像 q q q I I I p p p 都是根据应用预先给出的,它们可以是相同的。像素 i i i 处的滤波输出表示为加权平均值:
在这里插入图片描述
其中 i i i j j j 是像素索引。 滤波器内核 W i j W_{ij} Wij 是引导图像 I I I 的函数,与 p p p 无关。 该滤波器相对于 p p p 是线性的。

这种滤波器的一个例子是联合双边滤波器 [14](图 1(左))。双边滤波核 W b f W^{bf} Wbf 由下式给出
在这里插入图片描述
其中 x x x 是像素坐标, K i K_i Ki 是标准化参数,以确保 ∑ j W i j b f = 1 \sum_j W^{bf}_{ij}=1 jWijbf=1。参数 σ s \sigma_s σs σ r \sigma_r σr 分别调整空间相似性和范围(强度/颜色)相似性的灵敏度。当 I I I p p p 相同时,联合双边滤波器降级为原始双边滤波器 [1]。
在这里插入图片描述
隐式加权平均滤波器(在第 2.2 节中)优化二次函数并以这种形式求解线性系统:
在这里插入图片描述
其中 q q q p p p 分别是连接 q i q_i qi 和 $p_i的 N × 1 N×1 N×1 向量, A A A 是仅取决于 I I I N × N N×N N×N 矩阵。(3) 的解,即 q = A − 1 p q=A^{-1}p q=A1p,与 (1) 具有相同的形式,其中 W i j = ( A − 1 ) i j W_{ij}=(A^{-1})_{ij} Wij=(A1)ij

定义

现在我们定义引导过滤器。引导滤波器的关键假设是引导 I I I 和滤波输出 q q q 之间的局部线性模型。我们假设 q q q I I I 在以像素 k k k 为中心的窗口 w k w_k wk 中的线性变换:
在这里插入图片描述
其中 ( a k , b k ) (a_k, b_k) (ak,bk)是假设在 窗口 w k w_k wk 中为常数的一些线性系数。我们使用半径为 r r r 的方形窗口。这个局部线性模型确保只有当 I I I 有边时 q q q 才有边,因为 ∇ q = a ∇ I \nabla q = a \nabla I q=aI。该模型已被证明可用于图像超分辨率 [50]、图像抠图 [10] 和去雾 [11]。

确定线性系数 ( a k , b k ) (a_k, b_k) (ak,bk),我们需要来自过滤输入 p p p 的约束。我们将输出 q q q 建模为输入 p p p 减去一些不需要的分量 n n n,如噪声/纹理:
在这里插入图片描述
我们寻求一种在保持线性模型 (4) 的同时最小化 q q q p p p 之间差异的解决方案。 具体来说,我们在窗口 w k w_k wk 中最小化以下成本函数:
在这里插入图片描述
这里 ϵ \epsilon ϵ,是惩罚大 a k a_k ak 的正则化参数。我们将在 3.2 节研究它的直观含义。方程(6)是线性岭回归模型[51]、[52],其解由下式给出
在这里插入图片描述
这里, μ k \mu_k μk σ k 2 \sigma^2_k σk2 w k w_k wk I I I 的均值和方差, ∣ w ∣ \vert w \vert w w k w_k wk 中像素的数量, p ˉ k = 1 ∣ w ∣ ∑ i ∈ w k p i \bar p_k = \frac{1}{\vert w \vert}\sum_{i \in {w_k}}p_i pˉk=w1iwkpi w k w_k wk p p p 的均值 。已获得线性系数 ( a k , b k ) (a_k, b_k) (ak,b

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值