目前“大数据”、“3D数字化”、“人工智能AI”、“深度学习”、“AR/VR”是数字智能领域的热点研究方向 ,层出不穷的新概念让一般人看的眼花缭乱。其实,“万变不离其宗”!以下内容摘自吴怀宇博士2017年新出版的《3D打印:三维智能数字化创造》(第3版)一书,作者吴怀宇(中科院博士、北大博士后)为中国3D科技产业联盟副理事长。
【形状分析:优化3D打印形状的表现力】
首先我们来观看著名的克拉尼金属板(Chladni plates)实验,如图6-40所示。18世纪,德国物理学家及音乐家克拉尼在薄的金属板上撒上均匀的细沙,然后拉起小提琴。在声音的振动下,这些细沙开始“跳舞”,并从一些地方向另一些地方聚集(形成驻波),并最终形成各种对称的图案。克拉尼发现不同频率的声波会形成不同的图案,且频率越高则形成的图案越复杂!
图6-40 克拉尼金属板(Chladni plates)实验 (图片来源:The Whipple Museum)
提示:
其实这种现象早在我国先秦时代就有发现和利用。当时有一种称之为“鱼洗”的盥洗用具,形似现在的脸盆,如图6-41所示。盆沿左右各有一个把柄,称为双耳;盆底装饰有鱼纹的,故称“鱼洗”。鱼洗奇妙的地方是,用手快速有节奏地摩擦盆边两耳,盆会像受击撞一样振动起来,盆内水波荡漾。摩擦得法,可喷出水柱。具体地,在盆内注半盆水,用双手轻搓两个把柄,利用手与把柄之间的摩擦使把柄开始嗡嗡振动。同时把柄的振动在水面上传播,并与盆壁反射回来的反射波叠加形成二维横驻波。当振动频率接近盆的固有频率时,就会发生共振,此时便有水花从水面上喷射出来。
图6-41 我国古代“鱼洗”形成的驻波和共振现象(图片来源:Microfotos、iyaya.com)
由此我们知道:声音原来是“有形状的”!其实很早以前,古埃及人就把几何叫作“冻结的音乐”,他们用几何学来记录乐谱。甚至有人大胆地猜测:通过听鼓发出的声音频率,能猜出鼓的形状。(“Can one hear the Shape of a Drum?”)。虽然答案是“并不能完全对应”(存在着不唯一性),但至少可以看出:形状和频率有着极其紧密的联系。
非常类似于二维平板上的克拉尼图案,在3D形状上不同频率也对应于不同的条纹分布,如图6-42所示的层层叠叠的叶状结构(Foliation)。同样,频率越高,则条纹的分布情况也越复杂(从左到右)。此外,我们还可发现,这些频谱条纹像是“理解了”整个形状似的,不仅随着整体形状的走势有规律地自然延展、一点儿也不错综杂乱,而且在形状对称的地方也呈现出对称的形态(见左腿和右腿区域的条纹)。我们将定义在任意流形形状的这种频谱分布称之为流形调和(Manifold Harmonics)[33]。如果将每一根条纹视为一条流线,则整个形状可视为一个流场,所谓Harmonic(调和、和谐)即指该流场没有漩涡(旋量为0)、没有源或汇(散度为0),使得调和能量达到极小,形成了最稳定自然的流场。
图6-42 3D形状上的频谱条纹(图片来源:Bruno Lévy)
提示:
流形调和是定义在任意流形曲面上的Laplace-Beltrami微分算子的特征函数(Eigenfunction),其将二维平面上的离散傅立叶变换和球面上的球调和函数扩展到了三维离散曲面。
我们知道,函数的Laplace(拉普拉斯)算子定义为它的梯度的散度,即
。Laplace-Beltrami微分算子则是规则域上Laplace算子在流形曲面(非规则域)上的推广,即:
。
Laplace-Beltrami微分算子的特征模态(包括特征函数和特征值)满足Helmholtz波动方程:,其中标量称为所对应的特征值(Eigenvalue,由于其可以唯一标识形状的特性在有的文献里也被称为形状DNA),解称为对应于的特征函数。上式经过离散化后,可得特征值和特征函数对,其满足。通过流形调和变换(Manifold Harmonic Transformation,MHT),原本的空(间)域坐标就可被转换成频(谱)域坐标,即。
如果我们进一步研究,还可以发现一个更有趣的现象。如图6-43所示,我们把图中的条纹图变成更精细的彩色图(由于排版原因,这里只取前3个频率分量)。本图中实际上有两个3D模型,其中下方的模型是对上方的3D模型做了一个细节保持的形变(参见本章6.2.3节),也就是局部形状细节是刚性保持的、等长不变的(Isometry Invariant)。请仔细观察,可以发现:形变前后的这两个模型的频谱分布是非常相似的、几乎可以说是等同的!这个有用的性质可用于3D模型的检索(参见本章6.4.3节),以确保将形变前后的形状归类为同一个形状。
图6-43 形变前后的形状频谱分布保持相似
再举一个3D形状的例子,如图6-44所示。图(a)显示了原始的3D形状,图(b)显示了只保留形状低频部分的光滑效果(使用低通滤波函数),图(c)显示了只保留高频部分的细节增强效果(使用高通滤波函数),图(d)显示了对某些频带进行特别处理后的夸张效果(使用带通滤波函数)。
图6-44 3D形状的滤波 三维模型频谱分析的思路和傅里叶变换、小波变换类似,都是把数据从一个空间(空域)变换到另一个空间(频域)。拉普拉斯矩阵是变换的核心,提取出的特征向量和特征值包含了大量关于三维模型的丰富信息。同时,拉普拉斯矩阵是一个对称矩阵,特征向量都是正交的。它的第一个特征向量为常数,归一化后为,相对应的特征值为0(即最小特征值)。如果在这个三维模型的拉普拉斯矩阵的所有特征值中有个特征值都为0,那么就可以判断这个三维模型含有个互不连通(孤立)的子模型。拉普拉斯矩阵的第二小特征值(即最小的非零特征值)对应的特征向量称为菲德尔(Fiedler)向量。
菲德尔向量也是一个特殊的向量,具有很多的应用,如用于三维模型的分割。此外,菲德勒向量不仅仅是矩阵的最小非零特征向量,而且还是和矩阵相关的优化问题的最小值,因此还可被用于数值优化问题的求解,比如菲德尔向量是瑞利商(Rayleigh quotient)函数的最小值。利用菲德尔向量的这个特性,就可将一个二次形式具有限制条件的优化问题等价为一个相应的特征向量问题,即可通过求解特征向量的方法得到最优解。除了菲德尔向量,其他特征向量也具有一些可以描述三维模型信息和特点的结构。对于一个特征向量来说,这些元素中值为零的元素的集合称为是节点集合(Nodal Set)。这些值为零的元素是分段连接的,这些节点集合把整个三维模型分割为几个区域,称为是节点域(Nodal Domains),并满足节点区域有如下定理(Courant's Nodal Domain Theorem):如果把拉普拉斯矩阵的特征值从小到大排列,那么第个特征向量最多有个节点区域。注意此定理仅仅指出每个特征向量节点区域的上限,并不能得到节点区域具体的数值。
此外,利用频谱我们还可以对形状的表现力做一个层次化的展示。如图6-45所示,从左到右分别对应一个3D头像的低频和高频部分。可以看出,形状的低频部分看起来非常平滑,但缺乏细节;而形状的高频部分则细节丰富、立体感强。值得注意的是,三维模型的各个特征向量并不都是平等重要的,三维模型的大部分信息都包含少数的较小特征值所对应的特征向量上,越往后的特征向量对三维模型信息的贡献所占比例越少。例如,一个具有几千个顶点的3D模型,其实用前面几百个特征向量就可以真实地重建(即Inverse MHT:流形调和逆变换,将频谱域坐标变回原本的空间域坐标)出来了,其他更多的特征向量由于包括信息量太少都可被舍弃掉。
图6-45 基于频谱的形状细节层次化展示
我们知道,当前3D打印的主要矛盾在于有限的打印设备精度和用户期待的理想打印结果之间存在着较大的差距。而通过对3D数字形状进行智能分析将有效地缓解这一矛盾。比如通过频谱分析,可对3D形状的频域特征空间进行智能化处理,优化生成最匹配于当前打印机精度的3D数字化模型(如选用图中的某个中间状态的3D头像模型)。
提示:
除了形状频谱,我们还有一种更广泛意义的理论用于形状分析:莫斯函数(Morse Function)。莫斯函数的定义非常简单,给每个顶点赋一个值,所有这些值的集合可被称为三维模型上定义的一个函数。只要这个函数满足每对相邻顶点的值都不同,那么这个函数就是莫斯函数。可以看出,在给定的三维模型上可定义无数个莫斯函数,比如每个顶点的X坐标、Y坐标、Z坐标,或者cosX、sinX等等都可作为函数值。并且可以看出,如果把特征向量作为莫斯函数的变量,就等同于前面的流形调和。
给定了莫斯函数后,3D模型上每个点都有一个值,将其与周围邻接点的值相比较,可以得到关键点(Critical Point),包括:最大值点(Maximum)、最小值点(Minimum)和马鞍点(Saddle),数学含义可参考第10章第10.1.1节。根据这些关键点,可对3D网格模型进行划分(关键点之间用积分线连接起来)成四边形网格(每个四边形通常由2个对角的马鞍点、以及1个最大值点和1个最小值点组成),就构成了所谓的莫斯复形(Morse Complex),如图6-46上边所示,其可用于规则四边形细分网格的生成。
虽然给定的3D模型有无数个莫斯函数,但它们的关键点个数不是任意的,需满足莫斯定理,该定理确定了莫斯函数的关键点和欧拉示性数(见6.4.3节)之间的关系:
即欧拉示性数=最大值点数+最小值点数-马鞍点数。可看出,莫斯函数与3D模型的全局拓扑结构有关,即便莫斯函数局部上可以随意给定每个顶点的数值,全局上还是要受到3D模型拓扑(欧拉示性数)的限制。
如果需要进一步对关键点的分布、数量进行精确控制,这时可用到调和函数(Harmonic Function)。该函数可手工设置最大值点和最小值点,然后通过求解线性方程得到一个莫斯函数。根据莫斯定理,极值点的数量确定了,马鞍点的数量也是确定的(不过调和函数无法精确控制马鞍点的位置)。调和函数的定义:
其中L为拉普拉斯矩阵,X是待求解的未知调和函数,F是一个向量用于手工指定极值点(比如指定3个最大值点和2个最小值点)。如图6-46下边所示,我们了指定1个极大值点(数值设置为1.0,位于左边树杈的顶点)和1个极小值点(数值设置为0.0,位于中间树干的底部),则求得的调和函数值为0.0-1.0之间。
图6-46 上边:莫斯复形用于规则四边形细分网格的生成; 下边:调和函数(图片来源:[179,180])
前面介绍的都是静态的形状分析,实际上能够运动的形状更加具有表现力和吸引力。迪斯尼公司的研究团队近年来在这方面做了大量的工作。如图6-47所示,他们展示了一款新型3D设计软件DefSense[187],通过模拟3D模型的实际形变,并在模型内部放入压阻式传感器来感知柔性材料3D打印出来后形状的各种弯曲,比如是弯折、扭曲,还是拉伸。这项技术一旦成熟就能应用到许多方面,比如游戏控制器、电子乐器、3D形象动画,以及极具发展潜力的人机交互(HCI)。
图6-47 感知自身形变的3D打印物体(图片来源:[187])
迪斯尼研发团队还开发出智能交互设计软件以自动生成可3D打印机器人[188]和动画角色模仿机器人[189],如图6-48所示。给定由关节连接而成的机器人骨骼结构,每个关节中都会放入一个虚拟的单轴马达,软件能够将设计过程中的繁琐部分自动化,基于模型预测控制(MPC)来保持身体不同部位之间运动的高度协调,而不会影响形态、比例、步态和运动。一旦设计完成,软件就会生成包括电子元件连接装置在内的完整身体3D几何结构,该结构可自行3D打印,并用螺钉直接与伺服电机相连。在团队的另一项研究工作中[189],为了能够将生动有趣的动画形象带到现实中,团队利用3D打印技术制造了动画角色模仿机器人。为了看上去更加生动,机器人不仅需要类似于动画角色的外形,要重要的是能够对动画角色的各种夸张行为模式进行高度模仿。
图6-48 交互设计可3D打印机器人与动画角色模仿机器人(图片来源:[188]、[189]) 来源:三体智讯
|