JBU联合双边上采样

很多图像处理算法,如立体视觉中的深度估计,图像上色,高动态范围HDR中的tone mapping,图像分割,都有一个共性的问题:寻找一个全局的解,这个解是指一个分段的piecewise平滑含糊,描述了感兴趣的值(可以是深度,色度,曝光值,标签等)。

另一方面,数字图像越来越大,从one quarter million到multi-Megapixel到Gigapixel,随着图像尺寸的变大,图像处理的耗时和占用空间也线性增长。一个处理方法就是对原始图像先进行下采样的预处理再进行图像处理,但这也带来一个问题,就是将处理之后的图像再恢复到原始的分辨率,这就是图像的超分辨率重建。很显然,我们可以利用原始的大尺寸图像。将原始的图像与双边滤波结合起来,就是本文新提出的算法JBU。

双边滤波bilateral filter是一个保边滤波edge-preserving filter,最早在1998年提出,为了解决传统的插值的图像上采样方法会造成边缘模糊。为了保留边缘,BF在不同位置的核参数应该是不一样的,所以BF属于非线性的滤波器,也是各向异性的滤波器。具体而言,滤波器会根据不同的空间位置和灰度变化范围进行调整,这也是“双边”的含义,一边是空域spatial filter(与中心点的距离远近),一边是与中心点的灰度差值大小range filter。从表达式上看,最终的滤波器系数的两个核的乘积。两个子核都可以是高斯函数,当灰度变化很大或者距离很远,那么滤波器系数就会很小,所以边缘就得以保留。

有人利用BF做HDR中的色调映射tone mapping,有人用来去马赛克,

那么如何将BF和大尺寸的guidance图像结合在一起呢?是使用灰度差异的子核还是使用空间距离的子核呢?为了利用更准确的边缘信息,是按照像素在大尺寸图像中对应的灰度值来计算滤波系数,因为边缘往往是灰度值跳变造成的,所以使用大图位置的灰度值更准确。和OpenCV做图像变换一样,这种像素坐标的映射关系也是从目标图像(这里是大图)到低分辨图像。

作为引导图的高分辨图像是离散采样的,所以超分重建的效果与上采样的比例无关。

4 应用

色调映射tone mapping是为了在普通设备中显示HDR图像。需要解很大的线性方程组,虽然可以通过multi-resolution solvers高效地解出,但是当数据很大时还是会占用相当大的内存。那么,JBF具体是怎么应用在HDR中的呢?首先,I是低分辨率的图像,T是某种tone mapping算子,那么T(I)就是这个算子生成的tone mapped图像。对应的低分辨率的解被定义为映射前后的像素级的比,也就是说,这个图其实是曝光图exposure map,表示应用在每个像素上的曝光校正系数。我们就是在这个图上使用JBF,因为这个图虽然大部分是平滑的,但是在具有显著边缘特性的区域会出现不连续。注意曝光图可能是单通道的(即只对亮度进行调节),也可能是多通道的(即支持多种色调的调节)。

在Levin的图像上色和图像重新着色的方法中也有类似的线性方程组,面对尺寸很大的图像同样有计算量大的问题。Yatziv的方法虽然不需要解线性方程组,但依然要迭代地遍历数据。在这里JBU的应用对象就是着色之后的低分辨率图像,但是在上采样之前,需要先将它转换至YIQ颜色空间(或者其他任意的将亮度与色度解耦的颜色空间),然后在每个色度通道上应用JBU。从图3中可以看到,JBU避免了在边缘区域的色度泄漏。

立体视觉深度估计。深度估计的关键是得到两幅图像中对应点的视差disparities。然而,估计出的深度图在边缘处是不连续的discontinuties。将高分辨率图像作为引导,就可以对低分辨率的深度图像进行上采样。

基于图分割Graph-cut的图像处理。近来出现的一些用户交互性的图像编辑技术涉及到了在图中寻找最小分割。比如交互性的蒙太奇照片系统,使用最小图分割技术来计算图像融合时的最小化接缝。优化的结果是一个标签图label map,label表明的是融合图是每个像素来自于哪个照片。约束条件是用户指定的几个图像,拼接算法做的是计算出label map,指定了剩余的没有被约束的像素来自于哪个图像,这样生成的图像其拼接感是最小的。这个标签图和之前的几个应用的区别在于标签是离散的,做法是这样的,为了得到每个像素的标签,对每个低分辨率的像素会有一个带非零权重的投票,获胜的标签会有累积最高的权重。

5 表现和准确性

JBU的复杂度是O(Nr2),N是输出图像的尺寸,r是滤波器的尺寸。表现与输出尺寸有关,但是与上采样因子无关,因为滤波器始终应用在低分辨率图像上。所有的结果都使用5x5的高斯滤波,速度快,同时可以将足够距离的像素值考虑进去。

function result = JointBilateralUpsample(color,depth,factor,sigma_w,sigma_c,w)
if( size(color,3) ~= 3 ),error( 'color data must be of 3 channel' );
enddepth = double(depth);
color = double(color);
highHeight = size( color, 1 );
highWidth  = size( color, 2 );
lowHeight = size(depth,1);
lowWidth = size(depth,2);
result = zeros(highHeight,highWidth);
for i = 1:highHeightfor j = 1:highWidthid = i/factor;jd = j/factor;iMin = ceil(max(id-w,1));iMax = floor(min(id+w,lowHeight));jMin = ceil(max(jd-w,1));jMax = floor(min(jd+w,lowWidth));depth_sec = depth(iMin:iMax,jMin:jMax);color_sec = color(iMin * factor:factor:iMax * factor,jMin * factor:factor:jMax * factor,:);% Compute Gaussian range weights.dR = color_sec(:,:,1)-color(i,j,1);dG = color_sec(:,:,2)-color(i,j,2);dB = color_sec(:,:,3)-color(i,j,3);range = exp( -(dR.^2 + dG.^2 + dB.^2) / (2*sigma_c^2));% Calculate bilateral filter response.iw = (iMin:iMax) - id;jw = (jMin:jMax) - jd;[mx,my] = meshgrid(jw,iw);spatial = exp( -(mx.^2 + my.^2) / (2*sigma_w^2) );depth_weight = (depth_sec>0) .* range .* spatial;depth_sum = depth_sec .* depth_weight;result(i,j) = sum(depth_sum(:)) / sum(depth_weight(:));endendend

对于彩色三通道图像,可以分别在RGB中进行上采样,但是可能造成颜色泄漏,通常的做法是先进行颜色空间转换。原文使用使用的是YIQ,但其实只要是亮度分离的颜色空间都可以。YIQ是电视系统中使用的颜色空间,对应美国和日本的NTSC制式,在matlab中rgb到YIQ的转换函数是rgb2ntsc.首先YUV和YIQ三通道都是独立的,所以使得黑白电视机也可以接收彩色电视信号。另外,黑白图像主要提供细节,所以颜色通道的带宽可以适当压缩。

Reference:

1.http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/MANDUCHI1/Bilateral_Filtering.html

2.https://zhuanlan.zhihu.com/p/21983679 

3.https://www.jianshu.com/p/ce4afe599d6a

4.https://blog.csdn.net/CHNguoshiwushuang/article/details/82469162?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.channel_param

5.https://www.cnblogs.com/magic-428/p/9172406.html

6.ntsc2rgbhttps://www.mathworks.com/help/images/ref/ntsc2rgb.html

 

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

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

相关文章

技术阅读周刊第十一期

技术阅读周刊,每周更新。 历史更新 20231124:第七期20231201:第八期20231215:第十‍期 A Comprehensive guide to Spring Boot 3.2 with Java 21, Virtual Threads, Spring Security, PostgreSQL, Flyway, Caching, Micrometer, O…

数据智能是大数据的未来

来源:中国信息产业网 近日,两家大数据领域的代表性企业Cloudera和Hortonworks宣布了它们相对平等的合并,宣称新公司将创建世界领先的下一代数据平台并提供业界首个企业数据云,这令很多人感到意外,大数据的未来何去何从…

利用GAN原始框架生成手写数字

这一篇GAN文章只是让产生的结果尽量真实,还不能分类。 本次手写数字GAN的思想: 对于辨别器,利用真实的手写数字(真样本,对应的标签为真标签)和随机噪声经过生成器产生的样本(假样本&#xff0…

DL也懂纹理吗——图像的纹理特征

工作中遇到一个问题:对于同一场景,训练好的DL模型能把大部分样本分类准确,而对于少量负样本,DL会错分到另外一个对立的类中。错分的样本可以认为是难分的样本,但是我们还想知道这两种样本到底是哪里的差异导致DL做出了…

排序算法--(冒泡排序,插入排序,选择排序,归并排序,快速排序,桶排序,计数排序,基数排序)

一.时间复杂度分析 - **时间复杂度**:对排序数据的总的操作次数。反应当n变化时,操作次数呈现什么规律 - **空间复杂度**:算法在计算机内执行时所需要的存储空间的容量,它也是数据规模n的函数。 1.例题: 有一个字符串数组&…

肠里细菌“肚里蛔虫”:肠脑研究缘何越来越热

来源:科学网最懂你大脑的,可能不是“肚子里的蛔虫”,而是肠子里的细菌——肠道菌群对神经系统、心理和行为方面的影响正成为一个新兴热点领域。在日前举办的美国神经科学学会年会上,一张海报上的大脑切片显微镜图像显示&#xff0…

SVM原理与实战

先看线性可分问题。对于线性可分,其实感知机就可以解决。但是感知机只是找到一个超平面将数据分开,而这样的超平面可能是平行的无限多个,我们需要在这其中找到最优的一个。怎么衡量一个超平面是不是最优的呢,直观上讲,…

2014-01-01

一:HyperlinkButton点击后打开新窗口的方法 1,直接在界面中写这段代码就可以了: <HyperlinkButton NavigateUri"http://www.cnblogs.com/wsdj-ITtech/" Content"Click Me" TargetName"_blank" FontSize"28" Height"50"…

李飞飞高徒:斯坦福如何打造基于视觉的智能医院?

作者&#xff1a;Albert Haque、Michelle Guo来源&#xff1a;机器之心自 2009 年担任斯坦福人工智能实验室和视觉实验室的负责人&#xff0c;李飞飞在推动计算机视觉方面研究的同时&#xff0c;还密切关注 AI 医疗的发展。昨日&#xff0c;李飞飞离任斯坦福 AI 实验室负责人一…

tensorflow知识点

一.bazel编译tensorflow注意版本号: 在/tensorflow/tensorflow/configure.py 查看bazel版本号 https://github.com/tensorflow/tensorflow https://github.com/bazelbuild/bazel/releases?after0.26.1 https://tensorflow.google.cn/ 二&#xff0c;基础知识点 1.打印出…

eclipse中如何导入jar包

如图&#xff0c;首先右键点击项目&#xff0c;选择最下面的properties&#xff0c; 然后进去之后点击java build path&#xff0c;右边会出来4个选项卡&#xff0c;选择libraries&#xff0c; 这时候最右边会有多个选项&#xff0c;第一个add jars是添加项目文件中的jar包&…

线性-LR-softmax傻傻分不清楚

softmax 对于分类网络&#xff0c;最后一层往往是全连接层&#xff0c;如果是N分类&#xff0c;那么最终的全连接层有N个结点。很显然&#xff0c;每个节点对应一个类&#xff0c;该节点的权重越大&#xff0c;说明网络越倾向于认为输入样本属于该类。这其实就是Softmax的思想…

一图看懂国外智能网联汽车传感器产业发展!

来源&#xff1a;赛迪智库编辑&#xff1a;煜 佳未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能&#xff0c;互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括&#xff1a;建立AI智能系统智商评测体系&#xff0c;开展世界人工智能智商评测&#…

Centos6的VSFTP服务器配置使用教程

Centos 6 的VSFTP 关闭SELinux&#xff0c;在终端机输入 vi /etc/selinux/config SELINUXenforcing 改成 SELINUXdisabled 关闭selinux&#xff0c;接著输入 setenforce 0 传送资料的需要&#xff0c;可以暂时开放root的权限 vi /etc/vsftpd/user_list #root service vsftpd re…

深度学习中的信息论——交叉熵

信息量 可以说就信息量是在将信息量化。首先信息的相对多少是有切实体会的&#xff0c;有的人一句话能包含很多信息&#xff0c;有的人说了等于没说。我们还可以直观地感觉到信息的多少和概率是有关的&#xff0c;概率大的信息也相对低一些。为了量化信息&#xff0c;一个做法…

传统手工特征--opencv

一&#xff0c;颜色特征&#xff1a; 简单点来说就是将一幅图上的各个像素点颜色统计出来&#xff0c;适用颜色空间&#xff1a;RGB&#xff0c;HSV等颜色空间&#xff0c; 具体操作&#xff1a;量化颜色空间&#xff0c;每个单元&#xff08;bin&#xff09;由单元中心代表&…

特写李飞飞:她激励了人工智能的发展,更要给人工智能赋予人的价值

文 | MrBear 编辑 | 杨晓凡来源&#xff1a;雷锋网摘要&#xff1a;李飞飞无疑是人工智能界最响亮的名字之一。她既对机器学习领域的发展做出了杰出的贡献&#xff0c;也是普通大众眼中温和的人工智能技术宣扬者&#xff0c;还是谷歌这一科技巨头的人工智能技术领导人之一。WI…

Chap-4 Section 4.2.4 指令修正方式

对于X86平台下的ELF文件的重定位入口所修正的指令寻址方式只有两种&#xff1a;绝对近址32寻址和相对近址32寻址。 这两种指令修正方式每个被修正的位置的长度都为32位&#xff0c;即4个字节&#xff0c;而且都是近址寻址&#xff0c;不用考虑Intel的段间远址寻址。r_info成员的…

没见过女人的小和尚——SVDD

是的&#xff0c;即便是出生在山上的小和尚&#xff0c;从来没有下过山&#xff0c;没有见过女人&#xff0c;但是一旦有女施主上山&#xff0c;小和尚依然可以轻松地区分出眼前的人是如此不同。 传统的SVM是寻找一个超平面&#xff0c;而SVDD寻找的超平面更进一步&#xff0c…

解读GAN及其 2016 年度进展

作者&#xff1a;程程 链接&#xff1a;https://zhuanlan.zhihu.com/p/25000523 来源&#xff1a;知乎 著作权归作者所有。商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处。 GAN&#xff0c;全称为Generative Adversarial Nets&#xff0c;直译为生成式对抗网络…