关闭

曲面映射的算法理论基础

2119人阅读 评论(2) 收藏 举报
分类:

转自:http://blog.sciencenet.cn/blog-2472277-931199.html

在工程和医疗领域,计算曲面间的映射一直具有核心的重要性。无数实际的应用,其内在根基都在于寻求高质量的曲面映射。例如计算视觉领域的三维人脸识别,动漫动画领域中的表情跟踪和提取,数据科学中的几何数据分类和检索,医学图像领域的肿瘤检测,脑神经科学中阿兹海默症的诊断,等等。


在计算数学,工程科学,医学图像领域,有关曲面映射的算法文章汗牛充栋,各种流派,各种体系,各执一词,莫衷一是。学术界经常你方唱罢我登场,各种名词概念,理论体系,令年轻学子无法辨认,无从判断。这给他们的求学和科研带来繁重的精神负担和思想混乱。


其实,各种算法都是人为的(artificial),而自然界(nature)是独一无二的,与其不知所云,不知所终地盲目追随别人,还不如溯本求源回到自然,探究一下从拓扑和几何角度来看,有关曲面映射的理论基础如何。真正掌握数学实质之后,评判现存的算法就变得简单明晰,洞若观火了。


我们用来分别表示源曲面和目标曲面,来表示映射。令表示源曲面的局部坐标,表示目标曲面的局部坐标,映射的局部表示为。我们考察所有拓扑同胚构成的集合,记为先从拓扑角度,再从几何角度来讨论。


拓扑-映射类群

假设曲面具有复杂拓扑,我们将曲面映射根据同伦进行分类。间的任何同胚都可以分解成两个同胚的复合,当遍历曲面的自同胚的所有同伦类时,复合映射将遍历同胚的所有同伦类。因此,我们只需要理解曲面自映射的同伦类。中所有的自映射同伦类在复合意义下成群,记为曲面映射类群(Mapping Class Group),记成


我们首先考察圆柱面的情形, Dehn 扭曲是一个保持边界不动的映射,

,


图2. Dehn扭曲。


假设是曲面S上一条简单非平庸的闭曲线,简单意味着曲线不自相交,非平庸意味着曲线不能缩成一点,则在曲面上的一个邻域是拓扑柱面。我们构造曲面的自同胚,使得之外是恒同映射,限制在上是如上的Dehn扭曲。直观上,我们将S沿着曲线切开,这样新产生两个边界联通分支,然后将一个边界联通分支的邻域拧转角度,再将两个边界联通分支重新粘和,如此得到的映射就是


图3. 曲面上关于简单闭曲线的Dehn扭曲。

实际上,沿着不同的简单非平庸的圈的Dehn扭曲生成了曲面映射类群。Humphries 在1979年证明了亏格为的闭曲面上2g+1条曲线对应的Dehn扭曲就足以生成


图4. Humphries Dehn扭曲生成元。


如上图所示,简单非平庸闭曲线对应的Dehn扭曲是群的生成元。


群面映射类群的关系式非常复杂,我们以后专门撰文详细阐述。目前,在工程和医疗领域,曲面映射类群的算法研究依然一片空白,理论研究走在了工程实践的前面


几何-映射的分类


在下面的讨论中,我们总是假设所讨论的映射在同一个同伦类中。

我们用活动标架法,曲面S的结构方程为:

曲面T的结构方程为:



刚体变换


如果中的旋转和平移,则具有相同的第一基本形式和第二基本形式。假设是目标曲面上一阶微分式,

映射拉回到源曲面上,

,简写为

是刚体变换,当且仅当

并且


等距变换


如果是等距变换,则保持任意两点间的测地距离。例如,我们将一张纸卷成圆柱面,主曲率,平均曲率发生变化,但是高斯曲率不变。解析表达式如下:诱导的拉回度量等于初始度量

或者用活动标架法,

如果用张量表示,我们有

                  

等距变换保持高斯曲率,一般而言,等距变换非常罕见。例如,我们无法将半个桔子皮平铺在桌面上。


保角变换


假设是微分同胚,是原曲面上曲线,相交于点。在交点处,曲线的切向量交角为将曲线映成目标曲面上的曲线,相交于,并且曲线处的交角也等于

如果上式对应一切可能的曲线都成立,则映射被称为保角变换,或者共形变换。



图5. 保角变换保持角度不变。


保角变换解析表达式为:拉回度量和初始度量相差一个标量函数,

这里被称为共形因子,用来表达面积的变化率。局部上看,保角变换是无穷小相似变换,将无穷小圆映成无穷小圆,从而局部保形,因此保角变换又被称为共形变换


图6. 保角变换保持无穷小圆。


如图5,我们将人脸曲面映到平面圆盘,然后在平面圆盘上铺上棋盘格,拉回到人脸曲面上,棋盘格角点处的直角被保持,如图6左帧所示;如果我们在平面圆盘上铺上圆盘填充(circle packing),拉回到人脸曲面上,平面上的每个圆还是被映成曲面上的圆,如图6右帧所示。


图7. 九如图。



图9. 九如图的共形变换。


我们将国画《九如图》经过保角变换映到平面圆环上,虽然每条鱼的大小发生畸变,但是鱼的形状被保持。这演示了保角变换的共形性。


平面区域间保角变换的保形性容易理解,曲面间保角变换的保形性相对费解。我们以图10为例加以说明,我们将米开朗基罗的大卫王头像共形变换到平面上,在平面图形上,原来雕像的眼睛耳朵,发旋都可以清晰地辨认出来,其局部形状被完美保持。


图10. 曲面间共形变换的保形性。


曲面微分几何中最为辉煌壮观的定理当属统一化或单值化定理,这一定理断言所有封闭紧曲面都可以共形地映到常值高斯曲率曲面,换言之,所有曲面的万有覆盖空间都可以共形地映到三种标准曲面中的一种:球面,欧式平面或者双曲圆盘。如果曲面亏格为0,则曲面可以保角地映到球面;亏格为1,曲面的万有覆盖空间映到欧式平面;亏格大于1,曲面的万有覆盖空间映到双曲空间,如图11所示。


图11. 封闭紧曲面统一化(单值化 uniformization)定理。


单值化定理对于带边界的紧曲面也是成立的,在这种情形,所有的边界被映为测地圆,如图12所示。



图12. 带边界紧曲面的统一化(单值化 uniformization)定理。

一般情况下,保角变换形成的空间是有限维的


保面积变换


假设是微分同胚,保面积变换保持曲面的面元。解析表达式为:拉回度量行列式的值等于初始度量行列式的值,

  

保面积变换非常多,所形成的空间一般是无穷维的。如果采用最优传输理论来解保面积映射,则结果实唯一的。


图13. 从曲面到平面的保面积变换。


如果一个微分同胚既是保角变换,又是保面积映射,则此映射必为等距映射


拟共形变换


任给两个拓扑同胚的曲面,它们之间不见得存在保角变换,如图14所示。




图14. 同一张人脸,不同表情,曲面之间不存在保角变换。


保角变换将无穷小圆映成无穷小圆,如图6所示;一般的微分同胚都把无穷小圆映成无穷小椭圆,如图15所示。在每一点,椭圆的偏心率和主轴方向可以用所谓的Beltrami微分表示。映射和其对应的Beltrami微分彼此相互决定。如果偏心率有界,则映射被称为是一个拟共形映射。紧曲面间的一切微分同胚都是拟共形映射。因此,拟共形映射涵盖几乎所有实际问题中的曲面间同胚。


图15. 拟共形变换。


泰希米勒变换


如果两个同胚的曲面间不存在共形变换,那么在所有拟共形变换中存在唯一的一个最为接近共形映射的映射,就是所谓的泰希米勒映射(Teichmuller Map)。无穷小椭圆偏心率的最大值被称为映射的最大伸缩商。

泰希米勒映射极小化最大伸缩商,在每一个映射的同伦类中存在并且唯一泰希米勒映射使得所有无穷小椭圆的偏心率都相等,如图15所示:输入的两张人脸曲面上带有特征点,因此不存在保角变换使得所有相应特征点对齐,但是存在唯一的泰希米勒映射。泰希米勒映射和曲面的全纯微分具有深刻的联系。



图15. 带特征点的人脸曲面间的泰希米勒映射。


调和映照


如果我们将源曲面想象成由橡皮膜做成,目标曲面由大理石做成。源曲面被映射映到目标曲面上面,并在目标曲面上贴着目标曲面自由滑动,则橡皮膜弹性形变的能量被称为是映射的调和能量调和映射是使得调和能量达到极小者


调和能量与源曲面上的共形结构及目标曲面上的黎曼度量有关。如果源曲面是拓扑圆盘,目标曲面是平面凸区域,并且调和映射在边缘上的限制是拓扑同胚,则在内点处,调和映射必为微分同胚。如果目标曲面的黎曼度量诱导处处为负的高斯曲率,丘成桐先生证明,映射度(mappingdegree)为1的调和映射必为微分同胚。这里映射度的概念解释如下:映射

诱导了同调群间的同态,,整数被称为是映射度。直观上,映射度表明了映射将源曲面覆盖目标曲面多少层。


共形变换必为调和映照,反之则不尽然。如图16所示,女孩人脸曲面通过调和映照映射到平面圆盘。我们可以看到,平面上的无穷小圆映到曲面上并不一定是无穷小圆,因而调和映射不一定是保角变换。



图16. 调和映射不一定是共形变换。


但是对于亏格为0的封闭曲面,调和映射必为共形映射,如图17所示。


图17. 对于亏格为0的封闭曲面而言,调和映射和保角变换等价。


调和映射和泰希米勒映射之间存在深刻的关系:如果我们变换目标曲面的共形黎曼度量,使得相应的调和映射的调和能量达到极大,则所得的调和映照必为泰希米勒映射。


各种映射之间的关系


刚体变换群是等距变换群的子群,等距变换群是共形变换群的子群,共形变换群是拟共形变换群的子群。共形变换群和保面积变换群的交集为等距变换群。共形变换群是调和映射群的子群。拓扑球面的调和映射是共形变换。共形变换是泰希米勒变换。


算法理论基础


共形变换的理论基础来自于共形几何,包括黎曼面理论,代数曲线理论,Ricci流理论等;拟共形变换的理论基础来自于拟共形几何;泰希米勒映射的理论基础来自于泰希米勒空间理论;调和映照的理论基础来自于调和分析;等面积映射的理论基础来自于最优传输理论。


从计算角度而言,目前主要的有水平集(level set )法,数字几何方法(或相近的有限元法)和基于流体力学的LDDMM(Large Deformation Diffeomorphic Metric Mapping)方法。水平集法将曲面用隐函数来表示,用偏微分方程来驱动曲面的形变。这种方法的优点是不需要曲面参数化,同时曲面的拓扑变化非常容易处理。但是这种方法需要曲面在中嵌入,形变过程中不出现自相交。LDDMM方法在曲面嵌入的背景空间中设计矢量场,背景空间沿着矢量场形变,由此得到背景空间的单参数微分同胚群,从而带动嵌入曲面的形变。这种方法灵活多样,同时给出所有曲面组成的形状空间的一种黎曼度量,可以用来进行形状比较和分析。与水平集方法类似,LDDMM需要曲面的嵌入信息。水平集法和LDDMM都无法计算非同痕曲面间的微分同胚, 如图18所示。换言之,我们无法将左帧曲面连续变形到右帧曲面,同时形变过程中不自相交,因此水平集法和LDDM方法对此无能为力。


图18. 同胚但不同痕的曲面。


我们在考虑图11,12所示曲面单值化定理,在高亏格曲面的计算过程中,会出现曲率处处为负的黎曼度量,这种度量无法在中实现,因此

水平集法和LDDM方法无法直接应用于曲面单值化的计算。


数字几何的方法用多面体网格来逼近光滑曲面,即所谓的三角网格,曲面的嵌入表示成顶点的位置,曲面的度量表示成边长。计算既可以是外蕴,也可以是内蕴,即不需要顶点位置信息,一切计算都是基于组合结构和边长信息。虽然这种计算方法对三角剖分有一定要求,但是基于这种方法的内蕴特性,我们未来将主要应用数字几何方法。



讨论


我们看到,寻求曲面间满足特定要求的映射是一个具有挑战性的问题。基于不同的侧重点,多种数学理论被发展起来,所用的方法相差很远,例如调和映照理论和最优传输理论。很多问题本质上是高度非线性的,例如最优传输映射是基于所谓蒙日-安培方程,但是其变分形式对应着凸能量;求解泰希米勒映射问题既是非线性的,其变分形式又是非凸的。


在丘成桐先生的领导下,经过长期艰苦的努力,对于如上讨论的映射,我们团队建立了相对成熟的离散理论和计算方法,在后面的讨论中,我们会逐一详细讲解。同时,在探索过程中,我们也看到了许多问题的内在难点,愿意和大家分享,共同促进这一领域的长足发展。



1
0
查看评论

z=xy的图形 &空间曲面所围形体的体积 &空间曲面相截的面积

z=xy变为标准的双曲函数即可,可设:   x=ξ+ζ, y=ξ-ζ   则   z=ξ^2-ζ^2;z=xy的图形可由此做出。z=xy的图形是双曲抛物面只要在曲面z=x^2-y^2的图形中将x轴和y轴水平顺时针旋转45°即可得到...
  • Chenah
  • Chenah
  • 2010-05-02 12:09
  • 10454

C/C++ 图像处理(7)------图像の球面贴合算法

关于图像的球面投影,是全景应用中比较常见的技术,而现有的一些资源大多写的不太好,比较晦涩。在经过一段时间的摸索之后,发现了这个博客写的相对可以,本文的实现也将其作为重要的参考,如果看过本文之后有什么不明白或者觉得不好的地方可以去看看。     在展看本文之前,先来看看下面的两张图...
  • oHanTanYanYing
  • oHanTanYanYing
  • 2016-01-10 18:33
  • 3689

图像球面化算法的理解与实现

工作需要,仔细分析了美颜相机里的大眼功能,发现与我之前写的那篇大眼文章在效果上还是有差异的。 于是到网上一阵猛搜,找到了“球面化”这一概念。从效果图上看,美颜相机应该就是采用的这种算法,遂开始研究实现方法。 拜“球面化算法的研究”http://blog.csdn.net/xeral/article/...
  • jackiesun
  • jackiesun
  • 2014-02-20 19:09
  • 6154

常用图像算法

熟悉医学图像配准算法及实现,如仿射,Demons,FFD,LDDMM等配准算法
  • xcmax
  • xcmax
  • 2014-05-24 13:12
  • 503

网格细分算法(Catmull-Clark subdivision & Loop subdivision)附源码

转载自:http://www.cnblogs.com/shushen/p/5251070.html 下图描述了细分的基本思想,每次细分都是在每条边上插入一个新的顶点,可以看到随着细分次数的增加,折线逐渐变成一条光滑的曲线。曲面细分需要有几何规则和拓扑规则,几何规则用于计算新顶点的位置,拓扑规则用于...
  • lafengxiaoyu
  • lafengxiaoyu
  • 2016-05-28 12:21
  • 4808

利用de Casteljau算法绘制Bezier曲面

上次的博客中我利用de Casteljau绘制了Bezier曲线,那么为了之后绘制Bezier的三角曲面片,还是先铺垫一下,绘制双三次的Bezier曲面
  • lafengxiaoyu
  • lafengxiaoyu
  • 2016-05-03 15:29
  • 1965

OpenGL深入探索——曲面细分

转载自:曲面细分 背景 曲面细分( Tessellation )是 OpenGL4.x 中的一个令人兴奋的新特性,Tessellation 主要用于解决 3D 模型的静态属性,包括他们的精细度和多边形数量。具体来说就是当我们近距离观察一个复杂的模型(如人脸)时,我们希望能够看到这个模型的所有细节(例...
  • panda1234lee
  • panda1234lee
  • 2016-06-23 13:23
  • 1388

基于点约束的曲面变形算法的一点心得

最近研究三维曲面的变形算法 主要参考“基于点约束的交互式曲面自由变形技术”这篇文章 理论上和二维图像的变形是一样的,只是扩展到了三维 几点心得记录如下: 1、目前不知道obj三维模型的坐标值是如何得到的,都是非常小的小数,有正有负。你说归一化了吧,还有大于1的值。 这就导致上面文章中提到的参数大小对...
  • jackiesun
  • jackiesun
  • 2014-03-19 17:34
  • 1194

bezier曲线和bezier曲面

<br />如果想理解贝塞尔曲面没有对其数学基本的认识是很难的,如果你不愿意读这一部分或者你已经知道了关于她的数学知识你可以跳过。首先我会描述贝塞尔曲线再介绍生成贝塞尔曲面。<br /> 奇怪的是,如果你用过一个图形程序,你就已经熟悉了贝塞尔曲线,也许你接触的是另外的名...
  • psophia
  • psophia
  • 2010-11-10 16:57
  • 5714

使用C语言实现二维,三维绘图算法(2)-解析曲面的显示

---- 引言---- 每次使用OpenGL或DirectX写三维程序的时候, 都有一种隔靴搔痒的感觉, 对于内部的三维算法的实现不甚了解. 其实想想, Win32中既然存在画线画点函数, 利用计算机图形学的知识, 我们用可以用纯C调用Win32实现三维绘图, 完全不用借助OpenGL和Direct...
  • Chinamming
  • Chinamming
  • 2013-11-17 01:21
  • 6046
    个人资料
    • 访问:558060次
    • 积分:7300
    • 等级:
    • 排名:第3637名
    • 原创:75篇
    • 转载:538篇
    • 译文:1篇
    • 评论:91条
    最新评论