受图像双边滤波算法的启发,[Fleishman et al. 2003]和[Jones et al. 2003]分别提出了利用双边滤波算法对噪声网格进行光顺去噪的算法,两篇文章都被收录于当年的SIGGRAPH,至今引用超500余次。虽然从今天看两篇文章的去噪效果还不算非常好,但是其中的思想是值得学习的。图像双边滤波算法可以参考http://blog.csdn.net/abcjennifer/article/details/7616663,图像双边滤波器由空间域核与值域核组成,在图像的特征区域,自身像素值与周围像素值差别较大,这时起主导的值域核决定周围像素值的权重系数大幅降低,因此双边滤波能够在去噪的同时保持细节特征。

  [Fleishman et al. 2003]提出的网格去噪算法为一种迭代方法:首先定义每个顶点u的计算域,空间域定义为顶点u到计算域内其他顶点p的距离,值域定义为计算域内其他顶点p到顶点u切平面的带符号距离,然后利用双边滤波方法计算顶点u在法向上的移动距离,更新完网格所有顶点位置后即完成一次迭代。具体公式如下:

其中空间域核Wc(x) = e-x2/2σc2,值域核Ws(x) = e-x2/2σs2,N(u)为满足||u - pi|| < ρ = 2σc的顶点集{pi},I(p)为顶点p到顶点u切平面的带符号距离,最后计算得到的I(u)即为顶点u需要在其法向上移动的距离。

效果:

  [Jones et al. 2003] 提出的网格去噪算法不需要迭代,具体公式如下:

其中f和g分别为空间域核以及值域核,核函数都为高斯函数,aq为三角片的q的面积,cq为三角片的q的中心,S为满足||cq - p|| < 2σf的三角片集,最后直接计算得到新顶点的位置p’。

  那么如何得到∏q(p),∏q(p)为顶点p在三角片q切平面上的投影点,但该投影点并不是在原始网格上计算。文章提出忽略双边滤波公式中的值域核函数g,并令∏q(p) = cq,即利用高斯滤波得到一个虚拟网格,而∏q(p)即为顶点p到虚拟网格中三角片q切平面上的投影点。

效果:

本文为原创,转载请注明出处:http://www.cnblogs.com/shushen

参考文献:

[1] Shachar Fleishman, Iddo Drori, and Daniel Cohen-Or. 2003. Bilateral mesh denoising. In ACM SIGGRAPH 2003 Papers (SIGGRAPH '03). ACM, New York, NY, USA, 950-953.

[2] Thouis R. Jones, Frédo Durand, and Mathieu Desbrun. 2003. Non-iterative, feature-preserving mesh smoothing. In ACM SIGGRAPH 2003 Papers (SIGGRAPH '03). ACM, New York, NY, USA, 943-949.

三维网格去噪算法(bilateral filter)的更多相关文章

  1. 三维网格去噪算法(two-step framework)

    基于两步法的网格去噪算法顾名思义包含两个步骤:首先对网格表面的法向进行滤波,得到调整后的网格法向信息,然后根据调整后的法向更新顶点坐标位置,下面介绍三篇该类型的文章. [Sun et al. 2007 ...

  2. 三维网格去噪算法(L0 Minimization)

    [He et al. 2013]文章提出了一种基于L0范数最小化的三角网格去噪算法.该思想最初是由[Xu et al. 2011]提出并应用于图像平滑,假设c为图像像素的颜色向量,▽c为颜色向量的梯度 ...

  3. Vertex-Based Diffusion for 3-D Mesh Denoising(三维网格去噪中基于顶点的扩散算法)

    Abstract—We present a vertex-based diffusion for 3-D mesh denoising by solving a nonlinear discrete ...

  4. Bilateral Filter

    最近在看图像风格化的论文的时候,频繁遇到 Bilateral Filter.google 一波后,发现并不是什么不得了的东西,但它的思想却很有借鉴意义. 简介 Bilateral Filter,中文又 ...

  5. 【VS开发】【图像处理】双边滤波器bilateral filter

    目录(?)[-] 简介 原理 代码实现 1 Spatial Weight 2 Similarity Weight 3 Color Filtering 在SSAO中的使用 1. 简介 图像平滑是一个重要 ...

  6. Atitit.java图片图像处理attilax总结  BufferedImage extends java.awt.Image获取图像像素点image.getRGB(i, lineIndex); 图片剪辑/AtiPlatf_cms/src/com/attilax/img/imgx.javacutImage图片处理titit 判断判断一张图片是否包含另一张小图片 atitit 图片去噪算法的原理与

    Atitit.java图片图像处理attilax总结 BufferedImage extends java.awt.Image 获取图像像素点 image.getRGB(i, lineIndex); ...

  7. 三维网格形变算法(Linear rotation-invariant coordinates和As-Rigid-As-Possible)

    在三维网格形变算法中,个人比较喜欢下面两个算法,算法的效果都比较不错, 不同的是文章[Lipman et al. 2005]算法对控制点平移不太敏感.下面分别介绍这两个算法: 文章[Lipman et ...

  8. 海量数据处理算法—Bloom Filter

    海量数据处理算法—Bloom Filter 1. Bloom-Filter算法简介 Bloom-Filter,即布隆过滤器,1970年由Bloom中提出.它可以用于检索一个元素是否在一个集合中. Bl ...

  9. 三维网格分割算法(Random Walks)

    首先以一维随机游走(1D Random Walks)为例来介绍下随机游走(Random Walks)算法,如下图所示,从某点出发,随机向左右移动,向左和向右的概率相同,都为1/2,并且到达0点或N点则 ...

随机推荐

  1. 如何实现两个Activity 之间如何通讯

    <转> 今天主要学习了Activity 组件,在这里作一下总结 1,学习如何创建Activity 创建 Activity 要点: (1) 一个Activity就是一个类,并且这个类要继承A ...

  2. nginx模块开发(31)—定时器模型

    http://cjhust.blog.163.com/blog/static/175827157201348112639361/   Hello world 模块功能:注册一个定时事件,每过一秒钟打印 ...

  3. 推荐几个的chorme的扩展程序

    下面来解释下这几个插件 (0)Context : 管理这些乱七八糟的扩展程序,插件用的时候,点开,不用的时候,关闭,这样可以降低游览器的负荷 (1)AngularJS Batarang : 测试ang ...

  4. css百宝箱

    关于css百宝箱? 在前端学习中,总会遇到零星的知识点,小技巧,这些知识点小到不至于用一片博客写出来,遇到时网上查询一下或许也能搞定,但不一定能记住,所以这篇博客就用来记录那些散落的知识点,积少成多, ...

  5. Step by step configuration of Outgoing Emails from SharePoint to Microsoft Online

    First of all your SharePoint server should be added to Microsoft online safe sender list, so that Sh ...

  6. iOS 完美解决 interactivePopGestureRecognizer 卡住的问题

    interactivePopGestureRecognizer是iOS7推出的解决VeiwController滑动后退的新功能,虽然很实用,但是坑也很多啊,用过的同学肯定知道问题在哪里,所以具体问题我 ...

  7. C语言-03-流程控制

    一.选择结构 1> if语句 使用注意 ① if语句中的条件语句,不要把==和=弄混,可以把常量作为左值, 这样的话,在无用=的情况下,编译时会报错 ② if语句后若要定义新的变量或者有多条语句 ...

  8. 解决tomcat6部署spring4+mybatisJSP页面产生的500错误,控制台报java.lang.NullPointerException的问题

    搭建spring4+mybatis+springMVC访问项目时产生异常: 严重: Servlet.service() for servlet jsp threw exception java.lan ...

  9. win7开启休眠功能

    win7有的系统默认关机选项没有休眠功能,其实是没打开. cmd-> powercfg -hibernate on   即可

  10. HTTP 协议中的 Content-Encoding 和 Transfer-Encoding(内容编码和传输编码)

    转自:http://network.51cto.com/art/201509/491335.htm Transfer-Encoding,是一个 HTTP 头部字段,字面意思是「传输编码」.实际上,HT ...