三维网格去噪算法(L0 Minimization)
[He et al. 2013]文章提出了一种基于L0范数最小化的三角网格去噪算法。该思想最初是由[Xu et al. 2011]提出并应用于图像平滑,假设c为图像像素的颜色向量,▽c为颜色向量的梯度,设置目标函数为:minc |c – c*|2 + |▽c|0,其中|▽c|0为▽c的L0范数,c*为原始图像的颜色向量。通过引入辅助变量δ,优化函数变为:minc,δ |c – c*|2 + β|▽c – δ|2 + λ|δ|0,其中λ用于控制最终图像的平滑程度。优化过程分两步:第一步固定c优化δ,即minδ β|▽c – δ|2 + λ|δ|0;第二步固定δ优化c,即minc |c – c*|2 + β|▽c – δ|2。然后循环迭代这两步,每次迭代中β乘以2,使得最终▽c ≈ δ。
当将L0范数最小化的思想应用于三角网格去噪时,网格顶点坐标p可以代替c,但是还需要设置一个离散微分算子来代替▽c,其满足网格平坦区域值为0,其中一个选择就是离散Laplacian算子。文章提出了一种应用于网格边的微分算子D(e),其表达式为:
但是当有角度接近0时,微分算子的权重会变成inf,因此文章又提出了一种优化后的微分算子表达式:
微分算子D(e)中的符号说明
对于非均匀噪声网格,文章在优化过程中加入了正则化项R(e) = (p1 – p2 + p3 – p4)2,于是优化目标变为:minp,δ |p – p*|2 + α|R(p)|2 + β|D(p) – δ|2 + λ|δ|0,其中p*为初始网格顶点坐标,D(p)代表与p相关的表达式,其第i项对应第i条边的微分算子,R(p)的第i项对应第i条边的正则项。同样优化过程分两步:第一步固定p优化δ,即minδ β|D(p) – δ|2 + λ|δ|0,当,δi = 0,否则δi = Di;第二步固定δ优化p,即minp |p – p*|2 + α|R(p)|2 + β|D(p) – δ|2,相当于求解稀疏矩阵方程组。然后循环迭代上述两个步骤直到达到预定条件。
效果:
本文为原创,转载请注明出处:http://www.cnblogs.com/shushen。
参考文献:
[1] Lei He and Scott Schaefer, "Mesh denoising via L0 minimization," ACM Trans. Graph. 32, 4, Article 64 (July 2013), 8 pages, 2013.
[2] Li Xu, Cewu Lu, Yi Xu, and Jiaya Jia, "Image smoothing via L0 gradient minimization," In Proceedings of the 2011 SIGGRAPH Asia Conference (SA '11). ACM, New York, NY, USA, , Article 174 , 12 pages, 2011.
三维网格去噪算法(L0 Minimization)的更多相关文章
- 三维网格去噪算法(two-step framework)
基于两步法的网格去噪算法顾名思义包含两个步骤:首先对网格表面的法向进行滤波,得到调整后的网格法向信息,然后根据调整后的法向更新顶点坐标位置,下面介绍三篇该类型的文章. [Sun et al. 2007 ...
- 三维网格去噪算法(bilateral filter)
受图像双边滤波算法的启发,[Fleishman et al. 2003]和[Jones et al. 2003]分别提出了利用双边滤波算法对噪声网格进行光顺去噪的算法,两篇文章都被收录于当年的SIGG ...
- 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 ...
- 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 ...
- 三维网格分割算法(Random Walks)
首先以一维随机游走(1D Random Walks)为例来介绍下随机游走(Random Walks)算法,如下图所示,从某点出发,随机向左右移动,向左和向右的概率相同,都为1/2,并且到达0点或N点则 ...
- 基于谱聚类的三维网格分割算法(Spectral Clustering)
谱聚类(Spectral Clustering)是一种广泛使用的数据聚类算法,[Liu et al. 2004]基于谱聚类算法首次提出了一种三维网格分割方法.该方法首先构建一个相似矩阵用于记录网格上相 ...
- 基于随机游走的三维网格分割算法(Random Walks)
首先以一维随机游走(1D Random Walks)为例来介绍下随机游走(Random Walks)算法,如下图所示,从某点出发,随机向左右移动,向左和向右的概率相同,都为1/2,并且到达0点或N点则 ...
- 【算法随记六】一段Matlab版本的Total Variation(TV)去噪算法的C语言翻译。
最近看到一篇文章讲IMAGE DECOMPOSITION,里面提到了将图像分为Texture layer和Structure layer,测试了很多方法,对于那些具有非常强烈纹理的图像,总觉得用TV去 ...
随机推荐
- web时代变迁及html5与4的区别
HTML5的新结构标签 在之前的HTML页面中,大家基本上都是用了Div+CSS的布局方式.而搜索引擎去抓取页面的内容的时候,它只能猜测 你的某个Div内的内容是文章内容容器,或者是导航模块的容器,或 ...
- 规划在sharepoint中使用安全组
简介 如果将权限级别分配给组而非单个用户,那么管理 SharePoint 网站用户其实很简单.SharePoint 组是一组单独的用户,它还可以包含 Active Directory 组.在 Acti ...
- Eclipse CDT Linux下内存分析 补记
常用工具汇总 http://www.ibm.com/developerworks/cn/linux/l-cn-memleak/ 常用的内存分析工具 http://en.wikipedia.org/wi ...
- -[UIViewController _loadViewFromNibNamed:bundle:]
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewC ...
- Android+PHP服务器+MySQL实现安卓端的登录
时隔已久的一个任务,今天终于可以画上一个句号了.心情是万分的激动,虽然这份小成就来的有点迟但还是按捺不住心情的澎湃.下面我就先上几张图片来展示一下我的成绩 android源代码: 首先最重要的一件事是 ...
- 【代码笔记】iOS-点击cell时候的动画翻转
一,效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> @interface RootViewController ...
- c中的数组与字符串
一. 数组的基本概念 一个int类型的变量能保存一个人的年龄,如果想保存整个班的年龄呢? 1. 什么是数组 数组,从字面上看,就是一组数据的意思,没错,数组就是用来存储一组数据的 2. 数组的特点 l ...
- iOS 学习 - 10下载(4) NSURLSession 会话 篇
NSURLConnection通过全局状态来管理cookies.认证信息等公共资源,这样如果遇到两个连接需要使用不同的资源配置情况时就无法解决了,但是这个问题在NSURLSession中得到了解决.N ...
- iOS开发中如何使自定义方法具有XCode插件使用提示
iOS开发中难免要安装一些好用的插件,然而插件在使用时往往只对系统的方法有提示作用,而自己写的方法不能用上插件的便利. 其实还是有办法使插件对自定义的方法有效: 1. 首先知道Xcode的插件安装路径 ...
- 软件测试人员必备Linux命令(初、中、高级)
有些技能可以事半功倍,有些命运掌握在我们手中.熟练的掌握和使用这些命令可以提高工作效率,并且结合这些命令对测试过程中遇到的问题进行一些初步的定位. 1 目录与文件操作1.1 ls(初级)使用权限:所有 ...