三维网格去噪算法(bilateral filter)
受图像双边滤波算法的启发,[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)的更多相关文章
- 三维网格去噪算法(two-step framework)
基于两步法的网格去噪算法顾名思义包含两个步骤:首先对网格表面的法向进行滤波,得到调整后的网格法向信息,然后根据调整后的法向更新顶点坐标位置,下面介绍三篇该类型的文章. [Sun et al. 2007 ...
- 三维网格去噪算法(L0 Minimization)
[He et al. 2013]文章提出了一种基于L0范数最小化的三角网格去噪算法.该思想最初是由[Xu et al. 2011]提出并应用于图像平滑,假设c为图像像素的颜色向量,▽c为颜色向量的梯度 ...
- 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 ...
- Bilateral Filter
最近在看图像风格化的论文的时候,频繁遇到 Bilateral Filter.google 一波后,发现并不是什么不得了的东西,但它的思想却很有借鉴意义. 简介 Bilateral Filter,中文又 ...
- 【VS开发】【图像处理】双边滤波器bilateral filter
目录(?)[-] 简介 原理 代码实现 1 Spatial Weight 2 Similarity Weight 3 Color Filtering 在SSAO中的使用 1. 简介 图像平滑是一个重要 ...
- 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); ...
- 三维网格形变算法(Linear rotation-invariant coordinates和As-Rigid-As-Possible)
在三维网格形变算法中,个人比较喜欢下面两个算法,算法的效果都比较不错, 不同的是文章[Lipman et al. 2005]算法对控制点平移不太敏感.下面分别介绍这两个算法: 文章[Lipman et ...
- 海量数据处理算法—Bloom Filter
海量数据处理算法—Bloom Filter 1. Bloom-Filter算法简介 Bloom-Filter,即布隆过滤器,1970年由Bloom中提出.它可以用于检索一个元素是否在一个集合中. Bl ...
- 三维网格分割算法(Random Walks)
首先以一维随机游走(1D Random Walks)为例来介绍下随机游走(Random Walks)算法,如下图所示,从某点出发,随机向左右移动,向左和向右的概率相同,都为1/2,并且到达0点或N点则 ...
随机推荐
- 部署时,出现用户代码未处理 System.Security.Cryptography.CryptographicException 错误解决方法
转载:http://www.cnblogs.com/jys509/p/4499978.html 在调用RSA加密的.pfx密钥时,在本地调试没有问题,可以布署到服务器,就会报以下的错误: 用户代码未处 ...
- redis 慢日志 slowlog
1 slowlog是什么 redis的slowlog是redis用于记录记录慢查询执行时间的日志系统.由于slowlog只保存在内存中,因此slowlog的效率很高,完全不用担心会影响到redis的性 ...
- C# Out 传值
public void Out(out int a, out int b) {//out相当于return返回值 //可以返回多个值 //拿过来变量名的时候,里面默认为空值 a=1; b=2; } s ...
- SharePoint 2013 新功能探索 之 SPGroup、SPUser 事件处理程序 还要继续改进
曾几何时,想要获取SPGroup Add及SPUserAdd事件,在网上查找各种方法,都没有找到相对应的解决办法,如今在VS 2013 Preview版本 提供了 SPSecurityEventRec ...
- C#中的Mutex对象认识
我们知道,有些应用程序可以重复打开,有些只能打开一个,我以前写的程序为了防止用户打开多个程序,都是去遍历Process 查找进程的方式,现在看起来真是不专业,今天看大神的破解分析文章时,认识了mute ...
- C# 点绕某点旋转某角度
/// <summary> /// 以中心点旋转Angle角度 /// </summary> /// <param name="center"> ...
- Python: 解决pip安装源被墙的问题
pip install <package> -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.c ...
- Caused by: java.lang.UnsupportedOperationException
对Arrays.asList()返回的List进行操作之后报错Caused by: java.lang.UnsupportedOperationException 让我们来看一下Arrays.asLi ...
- 异步get请求之代理方法
#import "ViewController.h" #import "Header.h" @interface ViewController ()<NS ...
- android学习笔记 activity生命周期&任务栈&activity启动模式
activity生命周期 完整生命周期 oncreate->onstart->onresume->onpause->onstop->ondestory 使用场景:应用程序 ...