Joint Bilateral Upsampling

news2024/11/25 13:41:21

Abstract

图像分析和增强任务(例如色调映射、着色、立体深度和蒙太奇)通常需要在像素网格上计算解决方案(例如,曝光、色度、视差、标签)。计算和内存成本通常要求在下采样图像上运行较小的解决方案。尽管通用上采样方法可用于将低分辨率解插值到全分辨率,但这些方法通常假设插值先验平滑。

我们证明,在上述情况下,可用的高分辨率输入图像可以在联合双边上采样过程中用作先验,以产生更好的高分辨率解决方案。我们展示了上述每个应用程序的结果,并将它们与传统的上采样方法进行比较。

1 Introduction

最近,计算机图形和计算机视觉文献中展示了各种新的图像分析和图像处理方法,包括自动的和用户引导的。这些包括立体深度计算 [Scharstein 和 Szeliski 2002]、图像着色 [Levin 等人2004年; Yatziv 和 Sapiro 2006],高动态范围 (HDR) 图像的色调映射 [Reinhard 等人2005],以及最小图割在图像合成中的应用[Agarwala 等人2004]。所有这些方法都有一个共同的问题,即寻找全局解决方案:描述输入图像像素网格上的某些感兴趣值(深度、色度、曝光、标签等)的分段平滑函数。

数字图像的尺寸不断增长,从 25 万像素视频帧到数百万像素数码照片,再到最近由专用相机产生的千兆像素图像 [Flint 2007] 以及将多个图像拼接成全景图 [Kopf 等人,2007 年]。如此高分辨率对上述方法提出了艰巨的挑战,这些方法通常至少需要线性时间,更重要的是,需要线性空间来计算全局解。因此,为了对如此高分辨率的图像进行操作,必须首先将它们下采样到较低的分辨率以使计算易于处理。这对于交互式应用程序尤其重要。

一旦找到了适用于较小的下采样图像的解决方案,问题就变成了如何将解决方案上采样到输入图像的完整原始分辨率。上采样是一种基本的图像处理操作,通常通过将低分辨率图像与插值内核进行卷积,然后在新的(高分辨率)网格上对结果进行重新采样来实现。 Wolberg [1990] 对常见插值核进行了很好的调查。由于线性插值滤波器固有的平滑先验,以这种方式上采样的图像通常会出现锐边模糊的情况。

然而,对于上面引用的应用,可以以原始高分辨率输入图像的形式获得附加信息。忽略这些信息并单独依赖平滑先验显然不是最好的策略。我们建议利用除了低分辨率解决方案之外我们还拥有高分辨率图像的事实。特别是,我们证明联合双边上采样(JBU)操作可以从以非常低的分辨率计算的解决方案中产生非常好的全分辨率结果。我们展示了立体深度、图像着色、自适应色调映射和基于图形切割的图像合成的结果。

2 Bilateral Filters

双边滤波器是一种边缘保留滤波器,最初由 Tomasi 和 Manduchi [1998] 提出。它与更广泛的非线性滤波器相关,例如各向异性扩散和鲁棒估计[Barash 2002;杜兰德和多西 2002;埃拉德 2002]。双边滤波器使用空间(或域)滤波器内核和根据数据值本身评估的范围滤波器内核。更正式地说,对于某个位置 p,过滤结果为:

其中 f 是空间滤波器内核,例如以 p 为中心的高斯滤波器,g 是范围滤波器内核,以 p 处的图像值为中心。 Ω 是核 f 的空间支持度,kp 是归一化因子,即 f·g 滤波器权重之和。由于双边滤波器 f·g 随着范围距离和/或空间距离的增加而呈现更小的值,所以边缘被保留。

最近,我们看到了联合(或交叉)双边滤波器的引入,其中范围滤波器应用于第二个引导图像,例如\tilde{I},当尝试组合来自一个图像的高频和来自另一图像的低频时[佩奇尼格等人2004年;艾斯曼和杜兰德 2004]。因此,

与 (1) 的唯一区别是范围过滤器使用\tilde{I}而不是 I。

2.1 Previous Work

双边滤波器之前已用于各种图像处理任务。 Durand 和 Dorsey [2002] 将双边滤波器应用于 HDR 色调映射,并描述了一种快速近似,该近似最近在 [Paris 和 Durand 2006;韦斯 2006]。

Ramanath 和 Snyder [2003] 在去马赛克的背景下使用双边滤波器来提高边缘灵敏度。他们的方法仅限于具有固定的小上采样因子的拜耳模式,并且不像我们那样使用引导图像。

杜兰德等人[2005] 提到使用双边滤波器对光线追踪器的着色结果进行上采样。然而,论文中没有给出细节,也没有探索其他应用。

索尼等人[2001] 对立体图像进行上采样,其中一个视图比另一个视图具有更高的分辨率。他们的方法估计对齐映射,然后使用相邻电影帧的变形和填充来对低分辨率图像进行上采样。

3 Joint Bilateral Upsampling

与通用图像上采样相比,在我们感兴趣的问题中,我们可以原始高分辨率输入图像的形式获得附加信息。给定高分辨率图像\tilde{I} 和针对图像的下采样版本计算的低分辨率解 S,我们提出了一种简单的方法,应用联合双边滤波器对解进行上采样。

这个想法是将空间滤波器(通常是截断高斯滤波器)应用于低分辨率解 S,同时将类似的范围滤波器联合应用于全分辨率图像 \tilde{I}。令 p 和 q 表示 \tilde{I}中像素的(整数)坐标,p↓ 和 q↓ 表示低分辨率解 S 中对应的(可能是小数)坐标。然后获得上采样解\tilde{S} 为:

这与等式(2) 几乎相同。 例外的是,我们正在构建与图像相反的高分辨率解决方案,并同时在两种不同的分辨率下运行。

请注意,q↓ 在低分辨率解中仅采用整数坐标。因此,引导图像仅被稀疏采样,并且性能不依赖于上采样因子(参见第 5 节)。

4 Applications

在本节中,我们将演示联合双边上采样操作对于各种应用的有用性。

Tone Mapping:

随着高动态范围 (HDR) 成像的日益普及和实用 [Reinhard 等人2005],需要色调映射方法来在普通设备上显示 HDR 图像。多年来已经提出了多种此类方法(有关广泛的调查,请参阅 [Reinhard et al. 2005])。其中一些方法可以产生高质量的结果,但需要求解非常大的线性方程组 [Fattal 等人2002年;利钦斯基等人2006]。尽管这些系统很稀疏,并且可以使用多分辨率求解器有效地求解[Szeliski 2006],但处理当今的数百万像素图像仍然是一个挑战:一旦数据超出可用的物理内存,迭代扫描数据就会导致抖动。

我们如下应用联合双边上采样滤波器。令 I 为低分辨率 HDR 图像,T(I) 为由某个色调映射算子生成的色调映射图像。然后,相应的低分辨率解被定义为像素商 S = T(I)/I。换句话说,解决方案是一张曝光图,它说明了要在每个像素上应用的曝光校正量。这样的曝光图通常是平滑的,但可能沿着重要的图像边缘具有不连续性[Lischinski et al. 2006]。因此,它们是我们上采样技术的理想候选者。请注意,曝光图可能具有单个通道(如果仅调整了亮度)或多个通道(以支持任意色调操作)。图 2 显示了使用我们的技术上采样的曝光图与许多标准上采样方法的比较。联合双边上采样产生的结果在视觉上和数值上更接近真实情况。

5 Performance and Accuracy

联合双边上采样操作的复杂度为 O(Nr^{2}),其中 N 是输出图像大小,r 是域滤波器半径。性能与输出大小成正比,而不与上采样因子成正比,因为域滤波器始终应用于低分辨率解决方案。对于所有结果,我们使用了 5×5 高斯,它速度非常快,但仍然具有足够的空间支持来从一定距离拉取解值。我们的实现每百万像素输出大约需要 2 秒。

这比在全分辨率图像上运行原始算法要快得多。例如,色调映射器需要 80 秒才能处理 3.1 兆像素的图像,而我们的上采样只需要 6 秒即可对较小的解决方案进行上采样,而计算速度要快得多。 Levin 等人的彩色解算器[2004] 甚至更慢,需要几分钟才能获得百万像素大小的图像。如上所述,由于内存问题,我们无法运行非常高分辨率的解决方案,因此对低分辨率解决方案进行上采样是我们处理如此大图像的唯一方法。

JBU 完全是本地的,内存占用非常小。大图像可以在单次扫描中计算,其中任何时候仅分页。我们已经成功地将我们的方法应用于十亿像素图像的上采样色调映射解决方案 [Kopf 等人2007]。

在我们的实验中,我们通常将域滤波器的高斯 σd 设置为 0.5,并支持 5×5。范围滤波器高斯 σr 与应用密切相关。以下默认值对于我们尝试的图像效果很好:着色、立体深度和图形切割标签使用颜色值归一化为 [0,1] 区间的图像。 σr = 0.1 在大多数图像上效果良好。色调映射应用程序适用于无限的亮度值。我们发现将 σr 设置为值的标准差总是能给出良好的结果。

图 1 显示了 JBU 与其他上采样方法相比的 MSE 误差曲线。为了计算误差,我们计算了全分辨率解决方案(或者简单地使用全分辨率彩色图像或深度图进行着色和立体深度)作为地面实况。然后,我们在每个方向上按 2、4、8、16 和 32 倍进行下采样。然后,我们使用各种方法进行上采样并绘制与真实情况的差异。我们的滤波器在所有下采样级别上都表现良好,并且正如预期的那样,随着每增加一个下采样级别,相对改进都会增加。

毫不奇怪,MSE 误差随着上采样因子的增加而增加。但在实践中,应用程序常常会限制对问题进行下采样的程度。我们展示的结果是针对非常小的下采样图像的解决方案。由于某些应用程序需要一些 UI,因此您需要留下足够的图像,例如,在色调映射或着色的提示上涂鸦。

6 Conclusion

我们已经证明了当高分辨率先验可用于指导从低分辨率到高分辨率的插值时,联合双边上采样策略的好处。我们展示的四个应用程序相对于以前的“盲”上采样方法都有所改进。我们相信该策略适用于图像处理内外的许多其他领域。例如,通过粗简化网格计算的全局照明解决方案可以上采样为更精细的网格。域滤波器的内核可以用测地距离来测量,而范围内核将在高斯球上(法线的差异)。我们期待尝试对计算机图形学中的这个问题和其他感兴趣的问题进行联合双边上采样。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

leetcode:455. 分发饼干

一、题目 原题链接:455. 分发饼干 - 力扣(LeetCode) 函数原型:int findContentChildren(int* g, int gSize, int* s, int sSize) 二、思路 将胃口数组和饼干尺寸数组降序排序 遍历两个数组,从胃口数组中找到符合饼干尺…

【古月居《ros入门21讲》学习笔记】15_ROS中的坐标系管理系统

目录 说明: 1. 机器人中的坐标变换 tf功能包能干什么? tf坐标变换如何实现 2. 小海龟跟随实验 安装 ros-melodic-turtle-tf 实验命令 运行效果 说明: 1. 本系列学习笔记基于B站:古月居《ROS入门21讲》课程,且使…

Kafka事务机制:原理和实践

Kafka事务机制:原理和实践 Apache Kafka 是一个分布式流处理平台,广泛用于构建实时数据管道和流应用程序。它不仅以高吞吐量、可扩展性和容错能力著称,还提供了事务支持,以确保数据的完整性和一致性。在这篇博客中,我…

51单片机使用串口查看程序执行的数据

51单片机使用串口查看程序执行的数据 1.概述 这篇文章介绍利用串口输出程序执行的数据,辅助我们调试程序,提高代码定位问题的效率。 2.硬件电路原理 3.串口助手查看程序数据 输出串口数据的方式分为CPU查询方式和中断方式。他们各有优缺点&#xff0…

C语言 移位操作符

<< 左移操作符>> 右移操作符 注&#xff1a;移位操作符的操作数只能是整数。 移位操作符移动的是二进制位。 整数的二进制表示有3种&#xff1a; 原码反码补码 正的整数的原码、反码、补码相同。 负的整数的原码、反码、补码是要计算的。 由负整数原码计算出反…

计网Lesson3 - 计算机网络评价指标与封包解包

文章目录 计算机网络的性能指标1. 速率2. 带宽3. 吞吐量4. 时延5. 时延带宽积6. 往返时间7. 利用率8. 数据的解包和封包 计算机网络的术语实体![实体](https://img-blog.csdnimg.cn/direct/cbf4ca9ed5ab4df290b5a17b4642c6a1.png)协议服务 计算机网络的性能指标 1. 速率 数据…

linux CentOS MobaXterm 通过X11 Forwarding 在本地开启图形可视化窗口

第一步 操作系统安装图形界面 X11 Forwarding dnf install xorg-x11-xauth xorg-x11-fonts-* xorg-x11-font-utils xorg-x11-fonts-Type1 xclock第二步 修改参数&#xff0c;启用X11 Forwarding vim /etc/ssh/sshd_config修改参数X11Forwarding yes和X11UseLocalhost no #Al…

【专题】支持向量机(Support Vector Machines,SVM)

​​​​​ ​​ 支持向量机&#xff08;Support Vector Machines&#xff0c;SVM&#xff09;是一种强大的监督学习模型&#xff0c;常用于分类、回归和异常值检测任务。它的核心思想是通过构建一个最大间隔超平面来有效地分隔不同类别的数据点。 在SVM中&#xff0c;数据点…

编写安全 JavaScript 代码的最佳实践

编写安全 JavaScript 代码的最佳实践 JavaScript 的动态特性使其成为事实上的浏览器语言和世界上最流行的编程语言。 JS 最受欢迎的有用功能之一是即时分析。这意味着浏览器在下载内容的同时执行代码&#xff0c;这显然有其优势。然而&#xff0c;这种程度的自由也伴随着问题…

Linux命令进阶——grep管道命令在查看日志的场景中的使用 具体案例

前言 本篇博客介绍在查看日志的场景中&#xff0c;grep管道命令的使用&#xff0c;并给出了具体的案例。 以下为Linux相关的博客文章列表&#xff1a; Linux——认识Linux的目录结构 & 常用命令 & vim命令 & 权限及其控制 & 防火墙命令 & 自定义命令 &a…

Linux详解——常用命令(二)

目录 一、常用命令 1.进程相关命令 2.vi命令 3.软件相关命令 RPM命令 YUM命令 4.用户和组相关命令 5.权限相关命令 一、常用命令 1.进程相关命令 # 1.ps 询在当前控制台上运行的进程 ps -aux 说明:查询系统中所有运行的进程&#xff0c;包括后台进程&#xff0c;其…

【沐风老师】3DMAX拼图建模工具MaxPuzzle2D插件使用方法详解

MaxPuzzle2D拼图建模工具使用帮助 MaxPuzzle2D拼图建模工具&#xff0c;拼图建模“彩虹系列”插件&#xff0c;是一款用MAXScript脚本语言开发的3dMax拼图建模小工具&#xff0c;可以创建2D或3D的拼图图形阵列。这让需要拼图建模的设计师大大节省了时间。 MaxPuzzle2D工具界面&…

智能优化算法应用:基于头脑风暴算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于头脑风暴算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于头脑风暴算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.头脑风暴算法4.实验参数设定5.算法结果6.参考…

【技术干货】宇视IPC音频问题解决步骤

近期技术人员从宇视官网下载sdk进行二次开发时&#xff0c;在启动实时直播&#xff0c;并通过回调函数拿到流数据&#xff0c;发现没有音频流数据。 通过下面的数据发现&#xff0c;codeType此字段一直是28&#xff0c;代表的是H.264数据&#xff0c;但未没发现有音频的数据包…

CloudCompare简单开发

一、概述 CloudCompare如何进行二次开发&#xff1f;_cloudcompare 二次开发-CSDN博客 开发一个功能&#xff0c;在原始CC的基础上添加一个拓展功能&#xff0c;如下&#xff1a; 二、功能开发 1、修改MainWindow.UI 重点是&#xff1a;要编译&#xff0c;不然在mainwindow.…

优维低代码实践:搜索功能

优维低代码技术专栏&#xff0c;是一个全新的、技术为主的专栏&#xff0c;由优维技术委员会成员执笔&#xff0c;基于优维7年低代码技术研发及运维成果&#xff0c;主要介绍低代码相关的技术原理及架构逻辑&#xff0c;目的是给广大运维人提供一个技术交流与学习的平台。 优维…

ArrayList和顺序表

目录 线性表 顺序表 实现顺序表&#xff1a; 1&#xff0c;添加元素的时候我们要判断是否需要扩容 2&#xff0c;写异常 3,数组清空 ArrayList&#xff1a; ArrayList的构造方法&#xff1a; ArrayList的add方法&#xff1a; ArrayList的subList 知识点补充&#xff…

GOAT:多模态、终身学习、平台无关的机器人通用导航系统

机器人应用中涉及到的核心技术包括&#xff1a;环境感知与理解、实时定位与建图、路径规划、行为控制等。GOAT通过多模态结合终生学习的方式让你的机器人可以在未知环境中搜索和导航到任何物体。小白也可以零门槛上手。 项目地址&#xff1a;https://theophilegervet.github.i…

正则表达式及文本三剑客grep,awk,sed

目录 正则表达式 前瞻 代表字符 表示次数 位置锚定 分组或其他 grep 选项 范例 awk 前瞻 awk常见的内置变量 范例 sed 前瞻 sed格式 范例 搜索替代 格式 范例 分组后项引用 格式 范例 正则表达式 前瞻 通配符&#xff1a;匹配的是文件名 正则表达式&a…

【Java学习笔记】73 - 正则表达式

项目代码 https://github.com/yinhai1114/Java_Learning_Code/tree/main/IDEA_Chapter27/src/com/yinhai/regexp 一、引入正则表达式 1.提取文章中所有的英文单词 2.提取文章中所有的数字 3.提取文章中所有的英文单词和数字 4.提取百度热榜标题 正则表达式是处理文本的利器…