草庐IT

Side Window Filtering 论文笔记

Daniel_Muei 2023-04-09 原文

引言

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. LC滤波器设计学习笔记(一)滤波电路入门 - 2

    目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称

  2. Unity Shader 学习笔记(5)Shader变体、Shader属性定义技巧、自定义材质面板 - 2

    写在之前Shader变体、Shader属性定义技巧、自定义材质面板,这三个知识点任何一个单拿出来都是一套知识体系,不能一概而论,本文章目的在于将学习和实际工作中遇见的问题进行总结,类似于网络笔记之用,方便后续回顾查看,如有以偏概全、不祥不尽之处,还望海涵。1、Shader变体先看一段代码......Properties{ [KeywordEnum(on,off)]USL_USE_COL("IsUseColorMixTex?",int)=0 [Toggle(IS_RED_ON)]_IsRed("IsRed?",int)=0}......//中间省略,后续会有完整代码 #pragmamulti_c

  3. Tcl脚本入门笔记详解(一) - 2

    TCL脚本语言简介•TCL(ToolCommandLanguage)是一种解释执行的脚本语言(ScriptingLanguage),它提供了通用的编程能力:支持变量、过程和控制结构;同时TCL还拥有一个功能强大的固有的核心命令集。TCL经常被用于快速原型开发,脚本编程,GUI和测试等方面。•实际上包含了两个部分:一个语言和一个库。首先,Tcl是一种简单的脚本语言,主要使用于发布命令给一些互交程序如文本编辑器、调试器和shell。由于TCL的解释器是用C\C++语言的过程库实现的,因此在某种意义上我们又可以把TCL看作C库,这个库中有丰富的用于扩展TCL命令的C\C++过程和函数,所以,Tcl是

  4. 计算机网络笔记:TCP三次握手和四次挥手过程 - 2

    TCP是面向连接的协议,连接的建立和释放是每一次面向连接的通信中必不可少的过程。TCP连接的管理就是使连接的建立和释放都能正常地进行。三次握手TCP连接的建立—三次握手建立TCP连接①若主机A中运行了一个客户进程,当它需要主机B的服务时,就发起TCP连接请求,并在所发送的分段中用SYN=1表示连接请求,并产生一个随机发送序号x,如果连接成功,A将以x作为其发送序号的初始值:seq=x。主机B收到A的连接请求报文,就完成了第一次握手。客户端发送SYN=1表示连接请求客户端发送一个随机发送序号x,如果连接成功,A将以x作为其发送序号的初始值:seq=x②主机B如果同意建立连接,则向主机A发送确认报

  5. 论文解读OTA: Optimal Transport Assignment for Object Detection - 2

    CSDN优秀解读:https://blog.csdn.net/jiaoyangwm/article/details/1266387752021https://arxiv.org/pdf/2103.14259.pdf关键解读在目标检测中标签分配的最新进展主要寻求为每个GT对象独立定义正/负训练样本。在本文中,我们创新性地从全局的角度重新审视标签分配,并提出将分配程序制定为一个最优传输(OT)问题——优化理论中一个被充分研究的课题。具体来说,我们将每个需求方(锚框)和供应商(GT标签)的单位传输成本定义为他们的分类和回归损失加权之和。在公式化后,找到最好的分配方案即为最小传播成本解决最优传输方案,

  6. 华为数通笔记VXLAN&BGP EVPN - 2

    VXLAN简介定义RFC定义了VLAN扩展方案VXLAN(VirtualeXtensibleLocalAreaNetwork,虚拟扩展局域网)。VXLAN采用MACinUDP(UserDatagramProtocol)封装方式,是NVO3(NetworkVirtualizationoverLayer3)中的一种网络虚拟化技术。目的随着网络技术的发展,云计算凭借其在系统利用率高、人力/管理成本低、灵活性/可扩展性强等方面表现出的优势,已经成为目前企业IT建设的新趋势。而服务器虚拟化作为云计算的核心技术之一,得到了越来越多的应用。服务器虚拟化技术的广泛部署,极大地增加了数据中心的计算密度;同时,为

  7. [蓝桥杯单片机]学习笔记——串口通信的基本原理与应用 - 2

    目录一、原理部分1、什么是串行通信(1)并行通信与串行通信(2)串行通信的制式(3)串行通信的主要方式  2、配置串口(1)SCON和PCON:串行口1的控制寄存器(2)SBUF:串行口数据缓冲寄存器 (3)AUXR:辅助寄存器​编辑(4)ES、PS:与串行口1中断相关的寄存器(5)波特率设置  3、串口框架编写二、程序案例一、原理部分1、什么是串行通信(1)并行通信与串行通信微控制器与外部设备的数据通信,根据连线结构和传送方式的不同,可以分为两种:并行通信和串行通信。并行通信:数据的各位同时发送与接收,每个数据位使用一条导线,这种方式传输快,但是需要多条导线进行信号传输。串行通信:数据一位一

  8. 【微服务笔记23】使用Spring Cloud微服务组件从0到1搭建一个微服务工程 - 2

    这篇文章,主要介绍如何使用SpringCloud微服务组件从0到1搭建一个微服务工程。目录一、从0到1搭建微服务工程1.1、基础环境说明(1)使用组件(2)微服务依赖1.2、搭建注册中心(1)引入依赖(2)配置文件(3)启动类1.3、搭建配置中心(1)引入依赖(2)配置文件(3)启动类1.4、搭建API网关(1)引入依赖(2)配置文件(3)启动类1.5、搭建服务提供者(1)引入依赖(2)配置文件(3)启动类1.6、搭建服务消费者(1)引入依赖(2)配置文件(3)启动类1.7、运行测试一、从0到1搭建微服务工程1.1、基础环境说明(1)使用组件这里主要是使用的SpringCloudNetflix

  9. Two-Stream Convolutional Networks for Action Recognition in Videos双流网络论文精读 - 2

    Two-StreamConvolutionalNetworksforActionRecognitioninVideos双流网络论文精读论文:Two-StreamConvolutionalNetworksforActionRecognitioninVideos链接:https://arxiv.org/abs/1406.2199本文是深度学习应用在视频分类领域的开山之作,双流网络的意思就是使用了两个卷积神经网络,一个是SpatialstreamConvNet,一个是TemporalstreamConvNet。此前的研究者在将卷积神经网络直接应用在视频分类中时,效果并不好。作者认为可能是因为卷积神经

  10. 科研中论文常见数学符号及其含义(科研必备,建议收藏) - 2

    论文常见数学符号及其含义(科研必备)返回论文和资料目录数学符号在数学领域是非常重要的。在论文中,使用数学符号可以使得论文更加简洁明了,同时也能够准确地描述各种概念和理论。在本篇博客中,我将介绍一些常见的数学符号及其含义(省去特别简单的符号),希望能够帮助读者更好地理解数学论文。高等数学∑i=1nxi\sum_{i=1}^nx_i∑i=1n​xi​(求和符号):表示将x1,x2,…,xnx_1,x_2,\dots,x_nx1​,x2​,…,xn​中的所有数相加,例如∑i=1nxi\sum_{i=1}^nx_i∑i=1n​xi​表示将x1,x2,…,xnx_1,x_2,\dots,x_nx1​,x

随机推荐