利用联合双边滤波或引导滤波进行升采样(Upsampling)技术提高一些耗时算法的速度。

     这十年来,在图像处理领域提出了很多新的图像分析和处理方法,包括是自动的以及一些需要有人工参与的,典型的比如stereo depth computations、image colorization、tone mapping of high dynamic range (HDR) images、 graph cuts ,这些算法都有着比较好的效果,但都普遍存在一个问题:就是计算量特别大,很难满足用户的需求。而数字图像在尺寸大小上的增长速度这段时间也相当惊人。还有个问题就是有些算法需要解一个很大的稀疏矩阵方程,可能会大到系统的无法为接其过程分配足够的内存。因此,如果解决这两个问题,一个直观而又简单的想法就是:先处理原图下采样的小图,然后将处理后的结果在上采样。

      但是,如此处理存在的问题就是上采样算法会直接影响到处理效果。如果是纯粹的最近邻插值、或者是双线性,抑或是三次立方等复杂点插值算法,都会使人感到效果失真。但是在这种情况下的我们实际上比简单的图像放大时多了一个信息的,就是我有原始的未做处理的并且未缩小的图像的信息,是否能利用这个信息来增强上采样的效果呢?目前我看到了两种这方面的算法。

      一种就是联合双边滤波,我们先简单的看看这个东西的数学公式吧:

      对上式做个简答的解释,其中I表示输入图像,p/q表示X/Y物理坐标,Ip表示对应位置的像素值,J表示输出, f/g是权重分布函数,一般为高斯函数。这种滤波的结果就是周边像素的权值不仅和距离有关还和那个位置的像素值有关,如果在值域的权重计算过程引入另外一幅图像,如下式,则称之为联合双边滤波。 

      联合双边滤波上采样技术也很简单,一种便于理解的也便于写代码的方式就是把下采样并进行处理过后的小图按照最近邻插值的方式放大到原图大小,然后再用原图的数据和这个放大的结果进行联合双边滤波处理。

      另外,引导滤波的对参数的要求和联合双边很类似,这个在后续的文章中我会具体讲述。 

      关于这个方面的文章,比较简单的就是这篇 http://research.microsoft.com/en-us/um/people/cohen/JBU_Final.pdf

  想比如上述那些复杂的算法,联合双边滤波的快速算法的耗时几乎可以忽略不计,如果一个算法下采样的采样率为0.25,则算法那本身的速度理想状态下可能只为原始的1/16,加上最后的联合双边滤波的时间,可能提高10倍以上,而效果变化并不大。

     我做了几个算法的测试,比如磨皮算法(下采样率0.25):

     原图

                    下采样图

            下采样处理图

                  最近邻插值后的图

联合双边滤波结果图 

  联合双边滤波结果图

    在那我在行的去雾算法来看下:

原图

                              下采样图

       下采样处理图

                   最近邻插值后的图

                  联合双边滤波结果图 

                      原图处理图

     我这里举得例子不是很恰当,因为我这里还没有做特别复杂的和耗时的算法,但是这个过程表明这种方式处理和解决问题是完全可以的。

****************************作者: laviewpbt   时间: 2014.4.20    联系QQ:  1664462947  转载请保留本行信息********************

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏新智元

【重磅】AI 学会“脑补”:神经网络超逼真图像补完从 0 到 1

1 新智元编译 来源:arXiv、Github 编译:张易 【新智元导读】自动图像补全是计算机视觉和图形领域几十年来的研究热点和难点。在神经网络的帮助下,来...

2945
来自专栏机器之心

学界 | 商汤联合提出基于FPGA的快速Winograd算法:实现FPGA之上最优的CNN表现与能耗

33510
来自专栏磐创AI技术团队的专栏

SVM多核学习方法简介

【磐创AI导读】:本文主要介绍SVM多核学习方法。想要学习更多的机器学习知识,欢迎大家点击上方蓝字关注我们的公众号:磐创AI。

952
来自专栏机器学习算法与Python学习

干货|多重预训练视觉模型的迁移学习

关键字全网搜索最新排名 【机器学习算法】:排名第一 【机器学习】:排名第一 【Python】:排名第三 【算法】:排名第四 源 | 全球人工智能 本文介绍的是基...

4307
来自专栏BestSDK

Google发布Tensorflow物体识别API ,自动识别视频内容

做图像识别有很多不同的途径。谷歌最近发布了一个使用Tensorflow的物体识别API,让计算机视觉在各方面都更进了一步。 ? API概述 这个API是用COC...

5915
来自专栏ATYUN订阅号

Python机器学习的练习七:K-Means聚类和主成分分析

这部分练习涵盖两个吸引人的话题:K-Means聚类和主成分分析(PCA),K-Means和PCA都是无监督学习技术的例子,无监督学习问题没有为我们提供任何标签或...

4367
来自专栏AI科技大本营的专栏

如何在Python中用LSTM网络进行时间序列预测

Matt MacGillivray 拍摄,保留部分权利 翻译 | AI科技大本营(rgznai100) 长短记忆型递归神经网络拥有学习长观察值序列的潜力。它似...

4954
来自专栏大数据文摘

手把手 | 亲测好用!Google发布了一个新的Tensorflow物体识别API

1963
来自专栏xingoo, 一个梦想做发明家的程序员

吴恩达机器学习笔记 —— 12 机器学习系统设计

针对垃圾邮件分类这个项目,一般的做法是,首先由一堆的邮件和是否是垃圾邮件的标注,如[(邮件内容1,是),(邮件内容2,否),(邮件内容3,是)...]。然后我们...

520
来自专栏人工智能头条

TensorFlow下构建高性能神经网络模型的最佳实践

672

扫码关注云+社区