Joint Bilateral Upsampling

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

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

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

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

相关文章

【MySql】14- 实践篇(十二)-grant权限/分区表/自增Id用完怎么办

文章目录 1.grant之后要跟着flush privileges吗?1.1 全局权限1.2 db 权限1.3 表权限和列权限1.4 flush privileges 使用场景 2. 要不要使用分区表?2.1 分区表是什么?2.2 分区表的引擎层行为2.3 分区策略2.4 分区表的 server 层行为2.5 分区表的应用场景 3. 自增Id…

代码随想录算法训练营第四十九天【动态规划part10】 | 121. 买卖股票的最佳时机、122.买卖股票的最佳时机II

121. 买卖股票的最佳时机 题目链接: 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 求解思路: 动规五部曲 确定dp数组及其下标含义:使用一个二维数组dp[i][2],dp[i][0]代表持有股票的最大收益&…

解决electron-builder打包不成功只能输出tgz文件的问题

现象: 对应项目里配的指令: 但就是死活不成功,只能输出tgz压缩文件。 最后一咬牙下载了官方的electron-quick-start拿来试试,结果还是一样。 一时间没想法了。 后来突然脑袋灵光一闪,去他妈的直接npx 执行看看&…

xxl-job适配postgresql数据库

xxl-job支持了mysql数据库,其他的数据库适配得自己弄一下,下面以目前最新的2.4.1为例进行说明适配postgresql数据库的过程。 获取源代码 从github或gitee获取源代码,目前最新版本2.4.1 xxl官网:分布式任务调度平台XXL-JOB 建立…

docker镜像分层、仓库、容器数据卷与常用软件安装

一、镜像分层 1、镜像概念: 镜像是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,将应用程序和配置依赖打包好行成一个可交付的运行环境,这个打包好的运行环境就是image镜像文件。 2、镜像分层&#xff1a…

在VMcentos7上用docker部署SELKS(IDS系统)

基本安装所需环境: 2核(至少)10 GB 可用 RAM(经测试,4GB也能运行但会卡)至少 30 GB 可用磁盘空间(实际磁盘占用情况主要取决于规则数量和网络流量)。建议使用 200GB SSD 级别。git,…

量子计算软件平台

目录 1.量子语言 2.量子软件开发工具 3.量子云计算平台 1.量子语言 量子语言是一种基于量子计算机的语言,用于描述和实现量子算法。与经典计算机语言不同,量子语言需要考虑量子力学的特殊规则和算法的量子化。其中,最常用的量子语言是量子程…

HCIP --- MGRE综合实验

一、总体规划 二、AR1配置思路及步骤 一、接口地址分配及缺省路由&#xff1a; The device is running! AR1&#xff1a; <Huawei>sy Enter system view, return user view with CtrlZ. [Huawei]sy r1 [r1]interface s4/0/0 [r1-Serial4/0/0]ip address 15.0.0.1 255.0…

React 之 airbnb - 项目实战

一、开发前言 1. 规范 2. 创建项目 node -v > 18.0.0 npm -v > 8.6.0 create-react-app star-airbnb 3. 项目基本配置 配置jsconfig.json {"compilerOptions": {"target": "es5","module": "esnext","ba…

C语言——求π的近似值

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> #include<math.h> int main() {int s;double n,t,pi;t1;pi0;n1.0;s1;while (fabs(t)>1e-6){pipit; nn2; s-s; ts/n;}pipi*4;printf("pi%lf\n",pi);return 0; }这里是求小数点后6位——1e-6&#…

灰度发布专题---3、Nginx+Lua灰度发布

上一章已经讲解了配置文件灰度发布、应用版本灰度发布、API网关灰度发布实现&#xff0c;但如果用户这时候在代理层如何做灰度发布呢&#xff1f; 代理层灰度发布分析 用户无论访问应用服务还是静态页&#xff0c;都要经过Nginx代理层&#xff0c;我们可以在Nginx这里做灰度发…

哈希表——闭散列表

该哈希表实现是闭散列实现法。 闭散列表&#xff1a; 闭散列&#xff1a;也叫开放定址法&#xff0c;当发生哈希冲突时&#xff0c;如果哈希表未被装满&#xff0c;说明在哈希表中必然还有空位置&#xff0c;那么可以把key存放到冲突位置中的“下一个” 空位置中去。 那如何寻…

【傻瓜级JS-DLL-WINCC-PLC交互】3.JS-DLL进行交互

思路 JS-DLL-WINCC-PLC之间进行交互&#xff0c;思路&#xff0c;先用Visual Studio创建一个C#的DLL控件&#xff0c;然后这个控件里面嵌入浏览器组件&#xff0c;实现JS与DLL通信&#xff0c;然后DLL放入到WINCC里面的图形编辑器中&#xff0c;实现DLL与WINCC的通信。然后PLC与…

万宾科技可燃气体监测仪科技作用全览

燃气管网在运行过程中经常会遇到燃气管道泄漏的问题&#xff0c;燃气泄漏甚至会引起爆炸&#xff0c;从而威胁人民的生命和财产安全&#xff0c;因此对燃气管网进行定期巡检是十分必要的工作。但是传统的人工巡检已不能满足城市的需要&#xff0c;除了选择增加巡检人员之外&…

SELinux(一) 简介

首发公号&#xff1a;Rand_cs 前段时间的工作遇到了一些关于 SELinux 的问题&#xff0c;初次接触不熟悉此概念&#xff0c;导致当时配置策略时束手束脚&#xff0c;焦头烂额&#xff0c;为此去系统的学习了下 SELinux 的东西。聊 SELinux 之前&#xff0c;先来看看什么叫做访…

Mac电脑音乐标签管理 Yate 激活最新 for Mac

Yate是一款非常实用的音频编辑和标记软件&#xff0c;它提供了丰富的功能和工具来帮助用户编辑、整理和管理音频文件。无论是在音乐收藏管理、DJ和音乐制作方面&#xff0c;还是在其他需要处理大量音频文件的领域&#xff0c;Yate都是非常值得推荐的工具。 Yate for Mac功能特…

2023网络安全产业图谱

1. 前言 2023年7月10日&#xff0c;嘶吼安全产业研究院联合国家网络安全产业园区&#xff08;通州园&#xff09;正式发布《嘶吼2023网络安全产业图谱》。 嘶吼安全产业研究院根据当前网络安全发展规划与趋势发布《嘶吼2023网络安全产业图谱》调研&#xff0c;旨在进一步了解…

【力扣】189. 轮转数组

【力扣】189. 轮转数组 文章目录 【力扣】189. 轮转数组1. 题目介绍2. 解法2.1 方法一&#xff1a;不太正规&#xff0c;但是简单2.2 方法二&#xff1a;使用额外的数组2.3 方法三&#xff1a;环状替换2.4 方法四&#xff1a;数组翻转 3. Danger参考 1. 题目介绍 给定一个整数…

使用mock.js模拟数据

一、安装mock.js npm i mockjs 二、配置JSON文件 我们创建一个mock文件夹&#xff0c;用于存放mock相关的模拟数据和代码实现。 我们将数据全部放在xxx.json文件夹下&#xff0c;里面配置我们需要的JSON格式的数据。 注意&#xff1a;json文件中不要留有空格&#xff0c;否则…

八股文-如何理解Java中的多态

什么是多态&#xff1f; 多态是面向对象编程的一个重要概念&#xff0c;它允许一个对象以不同的形式表现。也就是说&#xff0c;在父类中定义的属性和方法&#xff0c;在子类继承后&#xff0c;可以有不同的数据类型或表现出不同的行为。这可以使得同一个属性或方法&#xff0…