Side Window Filtering 论文笔记

news/2024/3/28 16:52:33/文章来源:https://blog.csdn.net/m0_51495585/article/details/127623800

引言

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)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_410380.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

珠宝加工厂:我的成本下降空间在哪里?

摘要:珠宝加工厂,如何通过IoT边缘技术,OT/IT数据融合,实现成本的下降、效率的提升本文分享自华为云社区《玩转物联网IoT边缘服务系列二-珠宝加工的成本下降空间在哪里?》,作者:eleven1111 。 本…

小程序配置详解

小程序新生成时的目录 有4中不同的文件类型 .json 后缀的 JSON 配置文件.wxml 后缀的 WXML 模板文件.wxss 后缀的 WXSS 样式文件.js 后缀的 JS 脚本逻辑文件json app.json 是对当前小程序的全局配置,包括了小程序的所有页面路径、界面表现、网络超时时间、底部 ta…

elasticsearch、kibana、Ik分词器基于docker的单点部署

一、创建网络 由于需要让es和kibana容器互联,因此需要先创建一个网络。 但当也可以使用docker-compose的方式来完成一键互联,那样的话就不需要创建网络。 docker network create es-network二、安装elasticsearch 2.1 dockerHub直接拉取镜像的方式 …

AWS 使用Lambda实现钉钉机器人报警

aws 支持邮件和短信的报警通知,考虑时效性问题和结合公司的使用情况,需要接入钉钉机器人的告警提醒,为了使用钉钉机器人的告警,我们利用LambdaSNS,利用Lambda接受SNS的警告信息,然后通过python发送到钉钉机…

Git快速入门

本文是我在学习过程中记录学习的点点滴滴,目的是为了学完之后巩固一下顺便也和大家分享一下,日后忘记了也可以方便快速的复习。 Git前言一、版本控制1.1、常见的版本控制工具二、版本控制分类2.1、本地版本控制2.2、集中版本控制 SVN2.3、分布式版本控制…

从0到1实现python基于RPC协议的接口自动化测试

01、什么是RPC RPC(Remote Procedure Call)远程过程调用协议是一个用于建立适当框架的协议。从本质上讲,它使一台机器上的程序能够调用另一台机器上的子程序,而不会意识到它是远程的。 RPC 是一种软件通信协议,一个程…

记一次VMOS Pro破解记录

vmos pro是在安卓上运行的安卓模拟器,自带root,免root运行Xposed,免root运行Magisk等,支持修改分辨率,支持谷歌GMS服务,后台可持续运行. 背景 意外发现这么一款好玩的虚拟机但使用起来有诸多限制&#xff…

科研快报|全长扩增子测序揭示口腔微生态变化可用作阿尔兹海默症识别指标

背景介绍 阿尔茨海默病(AD)是一种神经退行性疾病,通常影响老年人。由于老年人患牙根龋和缺牙的发病率较高,这些牙齿问题中涉及的细菌可能会恶化他们的认知功能。口腔中微生物群的改变可能通过从口腔迁移到大脑而诱发神经炎症。然…

Spring IOC 核心流程介绍

前言 接下来我们编写入口代码,跟代码梳理一下Spring IOC一些重要的方法节点。IOC有12个比较重要的方法,把这12个方法学习一下,整个Spring IOC基本就差不多了。 编写Spring IOC入口 1、创建需要被管理的类 接口类: package se…

爱尔兰药品局药品信息数据查询

爱尔兰位于欧洲西部的爱尔兰岛中南部,多年来实施低税率国家政策,吸引着全球各大巨头公司,如苹果、谷歌、脸书等巨头,其中不乏包含很多医药企业,如世界级生物医药巨头辉瑞(Pfizer)、诺华&#xf…

刷题笔记(牛客java选择题)

目录 访问权限修饰符 抽象类和接口 线性安全的集合类 线性不安全的集合类 方法重载与重写 getDeclaredMethods方法 浮点型 和 long 不能做 switch() 的参数类型 java程序运行命令 字符串的不可变性 访问权限修饰符 抽象类和接口 使用abstract修饰的类或方法,就…

MacOS安装FFmpeg

MacOS安装FFmpeg方式一、使用Homebrew安装FFmpeg1. 安装Homebrew2. 安装FFmpeg方式二、通过官网安装FFmpeg方式一、使用Homebrew安装FFmpeg 1. 安装Homebrew 如果你的Mac上没有安装Homebrew,那么就先来安装Homebrew吧!步骤如下: 打开Termi…

学习笔记-Linux 安全

Linux 安全 免责声明 本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关. 漏洞利用 OS-Exploits LOL Living Off The Land 相关文章 busybox docker 受限环境下回传文件命令行上线小技巧 相关资源 GTFOBinshttps://github.com…

前端高频手写题自测,你能做出几道

实现字符串的repeat方法 输入字符串s,以及其重复的次数,输出重复的结果,例如输入abc,2,输出abcabc。 function repeat(s, n) {return (new Array(n 1)).join(s); }递归: function repeat(s, n) {return…

edge:H5抓包

1、打开edge:并输入地址:edge://inspect/#devices 2、USB连接手机,并手机和电脑使用WiFi连接同一个ssid,以使手机和电脑在同一个网络; 3、手机设置:1)打开开发人员选项 2)进入开发人员选项,并开启USB调试 3)进入开发人员选项,设置USB配置为RNDIS 4、开始抓…

【架构】架构到底是是什么

对于技术人员来说,「架构」是一个再常见不过的词了。我们会对新员工培训整个系统的架构,参加架构设计评审,学习业界开源系统(例如,MySQL、Hadoop)的架构,研究大公司的架构实现,例如,微信架构、淘宝架构……虽然「架构」这个词常见,但如果深究一下「架构」到底指什么,…

简单的Java web项目源码(10个)

引言:Java web项目主要采用mvc的的设计思想,系统主要采用javajspservletmysqleclipse实现,具有登陆、分页、导出excel,增删改查等功能,适合初学者,满足基本的实训需求,以下是推荐的几款,总有适合…

【备战蓝桥杯 | 软件Java大学B组】十三届真题深刨详解(2)

个人名片: 🐼作者简介:一名大二在校生,喜欢编程🎋 🐻‍❄️个人主页🥇:小新爱学习. 🐼个人WeChat:hmmwx53 🕊️系列专栏:&#x1f5bc…

以开发之名 | 小红书:用年轻人的方式开发年轻人喜欢的应用

2013年,小红书在上海成立,同年12月,小红书推出海外购物分享社区。一个开放式的体验型分享社区走进了数亿用户的生活。每个人都能在这个开放社区,分享自己的生活笔记,给有同样需求的人种草。 小红书用户“一只雪梨酱”的…

EPICS记录参考--数据扇出记录(dfanout)

数据散出或"dfanout"记录用于最多转发数据到8个其它记录。除了向它添加了转发数据的能力外,它类似于fanout记录。它没有相关联的设备支持。 参数字段 在下面描述记录特定的字段,按功能分组。 扫描参数 数据fanout记录有用于指定其在什么情况…