Level Set方法简介

originate from: http://www.cnblogs.com/tabatabaye/articles/891232.html

Level Set方法简介:

Level Set方法是由Sethian和Osher于1988年提出,最近十几年得到广泛的推广与应用。简单的说来,Level Set方法把低维的一些计算上升到更高一维,把N维的描述看成是N+1维的一个水平。举个例子来说,一个二维平面的圆,如x^2+y^2=1可以看成是二元函数f(x,y)=x^2+y^2的1水平,因此,计算这个圆的变化时就可以先求f(x,y)的变化,再求其1水平集。这样做的好处是,第一,低维时的拓扑变化在高维中不再是一个难题;第二,低维需要不时的重新参数化,高维中不需要;第三,高维的计算更精确,更鲁棒;第四,Level Set方法可以非常容易的向更高维推广;最后,也是非常重要的一点就是,上升到高维空间中后,许多已经成熟的算法可以拿过了直接用,并且在这方面有非常成熟的分析工具,譬如偏微分方程的理论及其数值化等。当然,这种方法最为诟病的就是他增加了计算量,但新的快速算法不断出现,使得这也不是个大问题。

Level Set的适用范围:

这儿只是列举一些经典的领域,但并不完全,如果你能在自己的领域找到新的应用,祝贺你。 Level Set最初始的应用领域就是隐含曲线(曲面)的运动,现在Level Set已经广泛应用于图像恢复、图像增强、图像分割、物体跟踪、形状检测与识别、曲面重建、最小曲面、最优化以及流体力学中的一些东西。

Level Set需要掌握的知识:

学习和应用Level Set需要掌握偏微分方程理论及其数值化方法,其中又应该着重掌握偏微分方程中的Conversation Law,The Theory of Viscosity Solution(粘性溶液 ) and Hamilton-Jacobi Equation( 哈密尔顿-雅可比方程 )及其数值化方法。同时,在学习Level Set的时候也会经常遇到变分法和测度论的一些内容,但对这两方面的要求不高,了解一下就行了。

Level Set的推荐读物:

(1) Stanley Osher and Ronald Fedkiw. Level Set Methods and Dynamic Implicit Surfaces. Springer-Verlag (2002). 评点:这本书是创始人之一Osher写的,这本书是论述Level Set的最完整的书籍之一,更偏重于数值化的高精度解,应用领域涉及图像处理以及计算物理。
(2) James A. Sethian. Level Set Methods and Fast Marching Methods. Cambridge University Press (1999). 评点:这是另外一个创始人Sethian的作品,与Osher的书互有侧重,互相补充,这本书更偏重于Fast Marching Methods, 非结构化网格,涉及的应用领域更广泛。
(3) Guillermo Sapiro, Geometric Partial Differential Equations and Image Analysis, Cambridge University. 评点:这本书对理解Level Set也非常有帮助,它更偏重于图像中的几何特征,如曲率等,对几何偏微分方程介绍的比较详细。
(4) Gilles Aubert and Pierre Kornprobst,
Mathematical problems in image processing: Partial Differential Equations and the Calculus of Variation, Springer, Applied Mathematical Sciences, Vol 147, 2002。这本书数学味太浓,一般人没兴趣读下去,但如果你确实想对你的方法奠定更好的理论基础,这本书就非常有用了,它可以指导你应该在哪方面下功夫。另外,这边书的前言和第一章写的非常好,非常值得一读。
总评:(1)和(2)是学习Level Set常备案头的手册, 如果你想深入,(3)和(4)也应该看一看。

Level Set推荐文章

(1) Osher, S., and Sethian, J.A., Fronts Propagating with Curvature-Dependent Speed: Algorithms Based on Hamilton–Jacobi Formulations, Journal of Computational Physics, 79, pp. 12–49, 1988. 评点:这是开创Level Set的一篇文章,必读。
http://math.berkeley.edu/~sethian/Publications/publications.html
这儿可以下载,但是这儿下载的文章只有文字没有图,要想看真正原版的,到图书馆复印吧。

(2) Osher, S. and Fedkiw, R., “Level Set Methods: An Overview and Some Recent Results”, J. Comput. Phys. 169, 463-502 (2001). 评点:这是一篇比较早的综述,UCLA CAM Report 00-08。
http://www.math.ucla.edu/%7Eimagers/htmls/reports.html可以下载。

(3) Richard Tsai and Stanly Osher,level set methods and their applications in image science,COMM. MATH. SCI. Vol. 1, No. 4, pp. 623-656 评点:这篇综述内容更丰富些,结果也比较新。intlpress.com/CMS/issue4/levelset_imaging_chapter.pdf 可以下载。
总评:关于Level set的文章太多,无法一一列举,强烈建议到下面的网址逛一逛,那儿有最新的文章。http://www.math.ucla.edu/~imagers/reports.htm

Level Set推荐网站:

(1)http://math.berkeley.edu/~sethian/level_set.html
评点:这是Sethian的网站,上面关于Level Set的论述非常多,分门别类,非常清晰。
(2)http://www.math.ucla.edu/~imagers/
评点:这是UCLA的研究组,由Osher创办,关于Level Set的新进展几乎都跟他们相关,这个网站是关注Level Set的最新新闻的最好的地方。

Level Set的工具包:
http://www.cs.ubc.ca/~mitchell/ToolboxLS/index.html评点:这是Michell开发的工具包,通用性比较好,缺点是自己修改起来非常麻烦。建议自己重新写这些函数,可以把这个工具包拿来验证自己写的对否。

时间: 2024-10-13 18:15:00

Level Set方法简介的相关文章

C#——Marshal.StructureToPtr方法简介

目录 MarshalStructureToPtr方法简介 功能及位置 语法 参数说明 异常 备注 举例 本博客(http://blog.csdn.net/livelylittlefish)贴出作者(三二一.小鱼)相关研究.学习内容所做的笔记,欢 迎广大朋友指正! 具体可以参考http://msdn.microsoft.com. Marshal.StructureToPtr方法简介 1. 功能及位置 将数据从托管对象封送到非托管内存块,属于.NET Framework 类库命名空间:System.

Datatable的Select()方法简介

DataTable是我们在进行开发时经常用到的一个类,并且经常需要对DataTable中的数据进行筛选等操作,下面就介绍一下Datatable中经常用到的一个方法——Select,微软提供了四个函数的重载,分别是 Select() Select(string filterExpression) Select(string filterExpression, string sort) Select(string filterExpression,string sort, DataViewRowSt

$.getJSON( )的使用方法简介

JSON(JavaScript Object Notation)即JavaScript对象表示法,是一种轻量级的数据交换格式.它非常便于编程人员对数据的处理,也便于机器对数据的解析和生成,应用非常广泛. json文件可以保存为"test.json"这样的文件,json数据的一般格式如下("{ }"中的为对象,"[ ]"中的为数组): {"total":3,"rows":[{"userId"

iOS中常用的四种数据持久化方法简介

iOS中常用的四种数据持久化方法简介 iOS中的数据持久化方式,基本上有以下四种:属性列表.对象归档.SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 [NSUserDefaults standardUserDefaults]就够用了 @interface User : NSObject <NSCoding>@property (nonatomic, assign) NSInteger userID;@property (nonatomic,

苍狼敏捷需求用例分析方法简介并讲义下载

作者:张克强    作者微博:张克强-敏捷307 用例分析方法已经有不短的历史,发展出了多种用例分析方法.笔者花费了大量时间,对用例分析的各个方面进行实践和分析,得到如下系列文章: 需求用例分析之一:异常流 需求用例分析之二:级别设置需求用例分析之三:补充规约 需求用例分析之四:业务规则 需求用例分析之五:业务用例之Rational系 需求用例分析之六:业务用例之科伯恩系 需求用例分析之七:业务用例之小结 需求用例分析之八:用例颗粒度 在这些分析的基础上与及笔者的实践,总结整理得到"苍狼敏捷需求

ATAM 方法简介

ATAM  方法简介 1.ATAM 是啥 ATAM 是一种基于场景评估方式,英文全称 Architecture TradeOff Analysis Method ATAM(架构权衡分析法) 2.ATAM评估方法 ATAM 方法对软件架构进行评估的目的主要是 根据系统质量属性和业务需求评估决策结果,ATAM希望揭示出架构满足质量目标,架构设计者能够更清楚的认识到质量目标之间的联系.即如何权衡多个目标 3.ATAM的参与者 开发人员,领域专家,测试人员,客户代表,用户等 4.如何展开评估活动 这里将

xtrabackup使用方法简介

关于xtrabackup的简介就不再赘述,百度一堆,使用方法也说明也很多.感觉还是只有自己试过之后才能有更深刻的认识,以下的使用说明基于官方文档及自己试验过程,记录下备查. 安装: 去percona-xtrabackup官网上下载,有rpm包.tar包,也有解压直接可用的二进制包.我试验采用的二进制包. 由于里面的innobackupx命令实际上是用perl语言封装了xtrabackupx而成,所以使用innobackupx命令要先检查perl包以及其依赖包的安装情况. 可以执行yum inst

delphi fastMM 使用方法简介

delphi fastMM 使用方法简介 在 http://sourceforge.net/projects/fastmm 中可以下载到最新 stable 的 FastMM,当前推荐的是 4.62,主要特点包括: 1.彻底实现了 Borland 的内存管理器,可以完全取代现有的内存管理器("取代"就是第一个 uses FastMM4,that is all ...) 2.实现了内存管理器共享机制,Exe 和 Dll 间共享内存管理器不需要任何 Dll 支持 3.集成了内存泄漏检测功能

FragmentActivity与Fragment两者交互方法简介(转)

FragmentActivity与Fragment两者交互方法简介 分类: Fragment 2014-07-07 18:17 88人阅读 评论(0) 收藏 举报 在Android4.0后很多时候我们会大量使用到Fragment,Fragment与Activity的交互应该来说是非常重要的,但目前很多实例方法都只介绍了Fragment与Activity交互的方法,没有Activity与Fragment交互的方法,下面我来把解决的思路记录如下. 1.首先我需要定义一个公共接口,用于将Fragmen