引言

Side Window Filtering是上了数字图像处理这门课后看的第二篇论文,这是一篇2019年发表的论文,提出的技术方法也相对比较新。由于我对CV方面涉猎不多,所以看的时候比较懵,似懂而非懂,于是打算做点笔记,方便日后查看~

摘要

局部窗口通常用于计算机视觉(CV),几乎没有例外,窗口的中心与正在处理的像素对齐。当像素在边缘上时,将窗口的中心放在像素上是导致许多滤波算法边缘模糊的原因之一。基于此,本文提出了一种新的侧窗滤波(SWF)技术,该技术将窗口的边或角与被处理的像素对齐。SWF技术非常简单,在实践中是非常有效的。许多传统的线性和非线性滤波器都可以在SWF框架下轻松实现。大量的分析和实验表明,实现SWF原理可以显著提高它们的边缘保持能力边缘保持能力,在图像平滑、去噪、增强、结构保留、纹理去除、共同结构提取和HDR色调映射等应用中达到最先进的性能。除了图像过滤,本文进一步表明SWF原理可以扩展到使用本地窗口的其他应用程序。以优化着色为例,我们演示了实现SWF原则可以有效地防止与传统实现相关的工件,如颜色泄漏。鉴于基于窗口的操作在计算机视觉中无处不在,新的SWF技术可能会受益于更多的应用。

引言

在计算摄影和图像处理领域,许多应用都涉及到图像滤波的概念,从而去噪、去模糊和增强细节。现有各种各样的滤波器,如盒子滤波器、高斯滤波器和中值滤波器等,广泛应用于图像的去模糊和锐化,以及边缘检测与特征提取。有许多应用需要图像滤波,可以保边。典型的例子包括高动态范围(HDR)图像的色调映射,通过多照明图像的细节增强,以及结构保留和纹理去除。因此,许多保边滤波器被提出。基本上,这些边缘保持滤波器可以分为两类。一种是基于全局优化的算法,如总变差(TV)算法,其迭代收缩方法,相对总变差算法和加权最小二乘算法。另一种是基于局部优化的算法,如双边滤波的加速版、导向滤波的扩展版、滚动导向滤波、共同结构联合滤波和曲率滤波。一般情况下,基于局部的滤波器可以实时计算。

过滤原理

基于局部的过滤器总是试图根据像素的邻域来估计其输出。被处理的像素位于操作窗口的中心,而操作窗口中的其他像素与它相邻。基本上估计有两种方法:线性逼近,如盒子滤波和高斯滤波;非线性逼近,如中值滤波、双边滤波和导向滤波。一种常见的基于线性近似的图像滤波操作假设图像是分段线性的,并将像素近似为局部窗口上相邻像素的加权平均值:

其中Ωi为以像素i为中心的局部窗口(支撑域),其实就是局部窗口内的像素,ωij为权重,qi和Ii分别为输入图像q和输出图像i在位置i处的强度。从上式中我们能够直观地知道影响计算结果的一个因素是滤波核函数的权重选择。但是在权重设置不变或者说是基本思想不变的情况下,另一个能够影响滤波结果的就是窗口本身的形状和尺寸的选择了。滤波器输出与原始图像之间的差异可以表述为以下代价函数:

不同的权值核会产生不同的滤波输出图像,在大多数情况下,设计滤波算法的任务就是估计权值。通常,在将输入图像处理成理想目标和使其接近原始图像之间要进行权衡。值得注意的是,类似于上式的优化问题在包括着色和图像分割等许多应用中都存在,其中权函数通常被称为亲和函数。非线性近似滤波如中值滤波也可以表述为优化问题的类似形式。

问题和动力

在许多使用公式1中滤波算法形式的应用中,都希望在平滑真实噪声的同时保留边缘和其他信号细节。本文重点研究三种典型的边缘:阶梯状边缘、斜坡状边缘和屋顶状边缘,并在二维信号空间中建模,如下图所示 :

二维分段图像中理想边缘的模型

用g(x, y)表示在(x, y)处的强度值。图中显示的函数g(x, y)是连续的但不可微的。位置a-处的任何近似都必须来自a的左侧区域,而位置a+处的任何近似都必须来自a的右侧区域,其他边缘位置类似。基于分析和公式1,如果一个像素位于边缘,支撑域Ω必须局限于一侧的边缘,否则不可能使用相邻的线性组合来近似i。换句话说,不能将 Ωi 的中心放在i上,而是必须将 Ωi 的边放在i上。于是提出侧窗滤波(SWF)技术,将每个目标像素视为一个潜在的边缘,并在其周围生成多个局部窗口(称为边窗口),每个局部窗口将目标像素与窗口的边或角(而不是窗口的中心)对齐。SWF的输出是一个边窗近邻的线性组合,它能最大程度上近似目标像素。

本文贡献

  • 利用泰勒展开,证明为了使用相邻像素的线性组合重建边缘像素,相邻像素必须来自边缘的一侧。基于此提出了侧窗滤波(SWF)技术,作为一种有效和实用的保边滤波的解决方案;
  • 展示了传统的线性滤波器如盒子滤波器和高斯滤波器,流行的非线性滤波器如中值滤波器、双边滤波器和导向滤波器是如何在SWF框架下轻松实现的。通过分析证明基于新的SWF框架实现这些流行的过滤器可以显著提高它们的保边能力;
  • 在新的SWF框架下实现传统滤波器在各种现实应用中提供了最先进的性能,包括图像平滑、去噪、增强、结构保留纹理去除、共同结构提取和高动态范围图像色调映射;
  • 新的SWF框架可以扩展到涉及局部窗口和像素邻域的线性组合的其他应用程序。以优化着色为例,作者演示了实现SWF原理可以有效地防止诸如颜色泄漏等问题;
  • SWF技术非常简单,但在实践中效果惊人。鉴于基于窗口的操作普遍存在,SWF原理有潜力让图像处理和计算机视觉的许多领域受益。

侧窗滤波技术

在连续的情况下定义侧窗。侧窗的定义如图(a)所示,参数为θ和r。θ为窗与水平线之间的夹角,r为窗的半径,ρ∈{0, r}且(x, y)是目标像素的位置。r是一个用户定义的参数,它将对所有的侧窗固定。通过改变θ并固定(x, y),可以改变窗口的方向,同时使它的一侧与i对齐。为了简化计算,在离散情况下只定义了8个侧窗,如图(b) ~ (d)所示:

侧窗的定义

在上图中,R是窗口的半径,(a)是连续情况下侧窗的定义,(b)分为左(红色矩形)和右(蓝色矩形)侧窗,©分为上(红色矩形)和下(蓝色矩形)侧窗,(d)分为西北(红色矩形)、东北(蓝色矩形)、西南(绿色矩形)和东南(橙色矩形)侧窗。

通过在每个边窗中应用滤波核F,可以得到8个输出:

保持边缘意味着我们想要最小化输入和输出在边缘的距离,即滤波器的输出应该与输入在边缘相同或尽可能接近。因此,我们选择与输入强度L2距离最小的侧窗输出作为最终输出:

对SWF的分析

以盒子滤波器为例,其他形式的滤波器也可以进行类似的分析。这意味着公式3中的F是平均的,得到的滤波器称为侧窗盒子滤波器(S-BOX)。比较了BOX和S-BOX滤波器的保边特性,首先生成具有典型边缘的测试图像,如图所示:

在不同边缘的测试图像上比较BOX和S-BOX

第一和第四列是有边或角的输入图像,第二和第五列是输入、BOX过滤器和S-BOX过滤器的中线配置文件。第三和第六列是在边缘或角落位置的放大区域。下表给出了实验结果:

BOX和S-BOX的输出汇总

从表中可以很容易地看出,S-BOX比BOX更好地保留了(a) ~ (m)的边,因此S-BOX比BOX能更好地保存屋顶状边缘。为了观察S-BOX中每个边窗口保边属性的细节,每个边窗口的输出如下表所示:

S-BOX中每个侧窗口的输出汇总

保留边缘的结果以粗体显示。我们可以观察到以下几点:

  • L、NW、SW侧窗可保留左侧垂直边,易推出R、NE、SE侧窗口可以保留垂直边缘右侧的边缘;
  • U、NW、NE侧窗可以保留水平边缘以上的边缘,易推出D、SW、SE侧窗可以保留水平边缘以下的边缘;
  • NW窗口可以保留对角线边缘以上的边缘和角上的边缘,NW、SW、SE侧窗可以保留对角线边缘和其他方向的角;
  • L、NW、SW侧的窗户可以保留坡道边缘;
  • 虽然侧窗不能完全保留屋顶状边缘,但其中7个的效果优于BOX。

总的来说结论就是侧窗滤波对于阶梯状和斜坡状的边缘都能完整的保留,而对于屋顶状边缘虽然不能完整的保留边缘,但是也比经典的盒子滤波要好很多

SWF框架下的流行过滤器

通过将F更改为其他kernels,可以很容易地将侧窗技术嵌入到其他过滤器中。本节讨论如何将侧窗技术嵌入高斯滤波、中值滤波、双边滤波和导向滤波。为了简化表达式,过滤器的名称被缩写为前三个字母,它们的SWF版本被缩写为另一个“S-”,例如,高斯滤波器和侧窗高斯滤波器分别缩写为GAU和S-GAU。在S-GAU中,F是高斯核的一半或四分之一,由于GAU的核穿过潜在的边缘,可能会使边缘模糊;相比之下,S-GAU的核则缓解了这一问题,能够更好地保留边缘。在S-MED中,F为计算中值的操作,由于输出与输入强度的距离最小,S-MED比MED能更好地保留边缘,即选择像素中位数最接近输入的窗口。在S-BIL中,核是根据几何接近度和光度相似度计算的,就像在BIL中一样。由于S-BIL可以防止扩散越过边缘,因此可以改善BIL的保边性能。GUI对覆盖目标像素的所有窗中的参数值取平均值,这个操作可能会模糊潜在的边缘。为了避免这个问题,S-GUI确保侧窗口不会跨越目标像素,它沿着目标像素所在的边滑动每个边窗口,直到目标像素在边窗口之外。这样就得到了L、R、U、D侧窗的2r+1个滑动窗,并求平均值得到了这些侧窗的输出。对于NW、NE、SW、SE侧窗口,滑动只能得到一个输出。根据公式4选择最终输出。

应用

图像平滑

图像平滑的例子

图像去噪

图像去噪的例子

图像增强

可以通过下式进行增强:

图像增强的例子

HDR色调映射

提出了一种基于双边滤波的HDR图像显示技术,在保留细节的同时减小了动态范围。简单地说,操作如下:

qb为双边滤波输出,qd为原始HDR辐亮度图与qb的差值,γ∈(0,1)为决定动态范围压缩尺度的压缩因子。

HDR色调映射的例子

自然图像的结构保留与纹理去除

将侧窗技术嵌入到加权引导滤波器中,形成一个新的滤波器,称为S-WGF。将WGF和SWGF结合在迭代框架中,提出了一种新的结构保持纹理去除滤波器,称为迭代边窗加权引导滤波器(IS-WGF)。在该滤波器中,边缘感知权值和阈值λ被用来方便地区分结构和纹理。结构被S-WGF保留,纹理被WGF去除。海上的波浪被视为纹理,海上的帆船被视为结构。从结果中我们可以看到,只有IS-WGF可以保留结构,而其他过滤器都不能,说明侧窗技术具有良好的保持结构的性能。

共同结构提取

本节将S-WGF应用于迭代框架中,提取参考图像和目标图像中共存的结构,形成一种新的互结构S-WGF(MSWGF)滤波器。应用MJF和MS-WGF提取RGB图像和深度图像的相互结构,结果如下图所示。MJF的结果经过20次迭代(未经过中值滤波后处理)得到,MS-WGF的结果经过10次迭代得到。这些结果表明,在迭代次数较少的情况下,MS-WGF的性能与MJF一样好。此外,MS-WGF对深度图像的处理效果比MJF更平滑,对熊面部非相互结构的去除也更彻底。

共同结构提取的例子

图像上色

本文的侧窗技术还可以用来改进其他基于局部补丁的算法,例如通过优化来着色。该算法适用于YUV颜色空间。对于给定的亮度通道Y(i)作为输入,算法通过优化以下代价函数,输出两个颜色通道U(i)和V(i),其中i表示特定像素:

用别人的方法存在颜色泄漏问题,但在别人的方法中嵌入侧窗技术可以避免这种情况。这是由于侧窗技术的边缘保持特性,并证明了新的侧窗技术的更广泛的适用性。

图像上色的例子

复杂性分析

基于侧窗的滤波器的复杂度顺序与原滤波器相同,但由于SWF实现需要在多个窗口上执行计算,因此其计算成本较高。对于百万像素的灰度图像,滤波器的计算时间如下表所示:

结论

基于窗口的处理是计算机视觉中最常见的操作之一,传统的做法几乎总是将窗口的中心与正在处理的像素对齐。在本文中,作者表明这种广泛使用的实践并不总是最好的解决方案。作者指出在许多应用中,操作窗口的边角而不是中心应该与被处理的像素对齐,并提出了边窗口滤波(SWF)技术,许多流行的线性和非线性滤波算法可以基于这一原理实现,这些传统滤波器的SWF实现可以显著提高其边缘保持能力。同时,SWF原理可以扩展到其他涉及局部操作窗口和该窗口中邻居的线性组合的计算机视觉问题,如通过优化着色。基于窗口的操作广泛应用于计算机视觉和机器学习的许多领域,包括卷积神经网络(CNNs)。

Side Window Filtering 论文笔记相关推荐

  1. CVPR2019 Oral论文《Side Window Filtering》解读及算法 Python 实现

    文章目录 摘要 待解决的问题 算法思想 实验结果与分析 1. 侧窗技术应用 -- 均值滤波理论分析 1.1 多类边缘均值滤波结果对比 1.2 竖直边缘图像理论分析 2. 侧窗技术应用 -- 滤波算法复 ...

  2. Deep Learning论文笔记之(二)Sparse Filtering稀疏滤波

    Deep Learning论文笔记之(二)Sparse Filtering稀疏滤波 zouxy09@qq.com http://blog.csdn.net/zouxy09          自己平时看 ...

  3. ORB-SLAM3 论文笔记

    ORB-SLAM3 论文笔记 这篇博客 ORB-SLAM3系统 相机模型的抽象(Camera Model) 重定位的问题 图片矫正的问题 视觉惯性SLAM的工作原理 相关公式 IMU初始化 跟踪和建图 ...

  4. 论文笔记:Autoregressive Tensor Factorizationfor Spatio-temporal Predictions

    0 摘要 张量因子tensor factorization分解方法在时空数据分析领域很受欢迎,因为它们能够处理多种类型的时空数据,处理缺失值,并提供计算效率高的参数估计程序. 然而,现有的张量因子分解 ...

  5. 论文笔记 《Selective Search for Object Recognition》

    论文笔记 <Selective Search for Object Recognition> 项目网址:http://koen.me/research/selectivesearch/ 一 ...

  6. 《Understanding and Diagnosing Visual Tracking Systems》论文笔记

    本人为目标追踪初入小白,在博客下第一次记录一下自己的论文笔记,如有差错,恳请批评指正!! 论文相关信息:<Understanding and Diagnosing Visual Tracking ...

  7. 1504.ICCVPartial Person Re-Identification 论文笔记

    1504.ICCVPartial Person Re-Identification 论文笔记 作者针对之前一些模型都是假设给以完整行人检测图像probe情况下,进行行人重识别任务,独辟蹊径,主要解决r ...

  8. 论文笔记【A Comprehensive Study of Deep Video Action Recognition】

    论文链接:A Comprehensive Study of Deep Video Action Recognition 目录 A Comprehensive Study of Deep Video A ...

  9. 【论文笔记】ASYMMETRIC SELF-PLAY FOR AUTOMATIC GOAL DISCOVERY IN ROBOTIC MANIPULATION

    [论文笔记]ASYMMETRIC SELF-PLAY FOR AUTOMATIC GOAL DISCOVERY IN ROBOTIC MANIPULATION ABSTRACT [主要工作]用一个单一 ...

最新文章

  1. [置顶] Activity启动流程
  2. fhqtreap的学习笔记
  3. mysql 忘记root密码的解决
  4. 一篇RxJava友好的文章(一)
  5. c语言设计期末考试试题及答案,C语言程序的设计期末考试试题(含答案).pdf
  6. React实践(一)——webpack4搭建开发环境
  7. 81-linux cluster : lvs
  8. Clojure的引用类型:var,ref,agent和atom
  9. 移动支付的方式有哪些拾方易告诉你
  10. 佛蒙特州政府组建工作组以探索区块链技术
  11. 如何批量修改文件名、照片文件名
  12. 破译营销最优解,2018E-UP效果营销案例大赛终审完美收官
  13. 软件测试学习小记 note2
  14. redis学习——redis事务
  15. 计算机图形学消隐的概念
  16. 图形化界面的Xmind用例转excel工具
  17. 推荐一款免费的录屏软件
  18. 【第176期】游戏策划:你身边有暴脾气的同事?那恭喜你了
  19. 着色器(Shader)之像素着色器
  20. 佳明手表大数据应用_如何看待悦跑圈、咕咚这两款 APP 一直没能接入佳明的数据?...

热门文章

  1. Pearson,Kendall和Spearman三种相关分析方法的异同
  2. 项目十大管理(四)成本管理
  3. PHP日历函数相关预定义常量
  4. 从零开始学习opencv——在虚拟环境下安装opencv环境
  5. 17计算机一级,全国计算机等级考试一级17
  6. apple id是什么意思
  7. 【PAT】第四章 算法初步
  8. python中合法的赋值语句是_以下( )是合法的Python赋值语句。_学小易找答案
  9. matlab模块封装端口位置,simulink模块端口位置
  10. C语言:srand函数与rand函数的使用(纯干货)【易懂】