网格参数化,网格形变的区别与联系分别是什么?

本发明涉及面部模型处理技术领域,尤其是一种表情基确定方法、虚拟形象驱动方法、装置及介质。

面部模型参数化是构建虚拟形象的一项重要工作,它特别适用于特效电影和计算机游戏等场景中。在面部模型参数化中,通过确定面部表情基来驱动虚拟形象的这种技术,能够逼真地创建出各种虚拟形象的表情动画,进而极大地增强虚拟形象的真实感,提升了表现力,带给用户更加沉浸式的体验。所述虚拟形象可以是卡通、虚拟人等虚拟形象,也可以是基于真人外形构建的仿真角色,亦或者是虚拟动物角色。

在实现对虚拟形象的驱动工作中,一个重要任务就是准确地获取该虚拟形象的面部模型表情基。

现有技术只能获取与真实面部粗略近似的模型,然后基于这个模型从标准模型库(例如3dmm库)中导出一组粗略的表情基,该方法得到的表情基无法准确展现面部的细节特征,导致表情基与真实面部之间的误差较大,不够逼真,进而影响虚拟形象的表情驱动效果,降低了虚拟形象的真实感和表现力。

有鉴于此,本发明提供一种表情基确定方法、虚拟形象驱动方法、装置及介质,能够形成更像真实面部的精确的模型,进而导出更加准确逼真的表情基,减小表情基与真实面部之间的误差,并驱动更加准确逼真的虚拟形象。

本发明的第一方面,提供一种表情基确定方法,包括:

根据面部模型的点云数据,确定体现第一面部特征的第一网格模型;

根据面部模型中第二面部特征对应的点云数据,确定体现第二面部特征的第二网格模型;

将所述第一网格模型中第一面部特征上点所在的区域与所述第二网格模型中第二面部特征上点所在的区域进行组合,形成第三网格模型;以及

根据所述第三网格模型从标准模型库中确定第一表情基组。

根据本发明的第二方面,提供了一种表情基确定方法,包括:

确定所述面部图像的轮廓特征区域;

确定所述面部图像的五官特征区域;

将所述轮廓特征区域和所述五官特征区域进行组合;以及

从标准模型库中获取所述面部图像对应的第一表情基组。

根据本发明的第三方面,提供了一种虚拟形象驱动方法,包括:

根据本发明第一方面所述的表情基确定方法生成一组表情基;以及

根据所述表情基对所述虚拟形象进行驱动。

根据本发明的第四方面,提供了一种表情基确定装置,包括第一网格模型生成模块、第二网格模型生成模块、第三网格模型生成模块和第一表情基生成模块:

所述第一网格模型生成模块,用于根据面部模型的点云数据,确定体现第一面部特征的第一网格模型;

所述第二网格模型生成模块,用于根据面部模型中第二面部特征对应的点云数据,确定体现第二面部特征的第二网格模型;

所述第三网格模型生成模块,用于将所述第一网格模型中第一面部特征上点所在的区域与所述第二网格模型中第二面部特征上点所在的区域进行组合,形成第三网格模型;以及所述第一表情基生成模块,用于根据所述第三网格模型从标准模型库中确定第一表情基组。

根据本发明的第五方面,一种虚拟形象驱动装置,包括表情基生成模块和驱动模块:

所述表情基生成模块,用于根据第三方面所述的表情基确定装置生成一组表情基;以及所述驱动模块,用于根据所述表情基对所述虚拟形象进行驱动。

根据本发明的第六方面,一种计算机可读存储介质,所述计算机可读存储介质存储有程序,所述程序被处理器执行完成如本发明第一方面、第二方面或者第三方面中所述的方法。

根据本发明的第七方面,一种设备,所述设备包括处理器以及存储器;

所述存储器用于存储程序;

所述处理器用于根据所述程序执行如本发明第一方面、第二方面或者第三方面中所述的方法。

本发明所提供的技术方案,通过获取能够体现第一面部特征的第一网格模型,以及获取能够体现第二面部特征的第二网格模型,接着组合得到既能体现第一面部特征又能体现第二面部特征的第三网格模型,最后根据这个逼真的第三网格模型从标准模型库中获取表情基组,减小了表情基与面部模型之间的误差,能够得到更加准确逼真的表情基;此外,根据生成的更加准确逼真的表情基,可以驱动更加准确逼真的虚拟形象。

为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种双线性存储形式的3dmm库的示例图;

图2为本申请实施例提供的表情基确定过程的示例图;

图3为本申请实施例提供的一种表情基确定方法的应用场景示意图;

图4为本申请实施例提供的第二网格模型示例图;

图5为本申请实施例提供的一种表情基确定方法的第一流程图;

图6为本申请实施例提供的初步网格模型的点云数据和面部模型的点云数据进行对齐的示例图;

图7为本申请实施例提供的第一网格模型示例图;

图8为本申请实施例提供的第二网格模型上划分得到的各个区域的示例图;

图9为本申请实施例提供的第一网格模型与第二网格模型的组合过程示意图;

图10为本申请实施例提供的第三网格模型的示例图;

图11为本申请实施例提供的确定第二表情基组的过程示意图;

图12为本申请实施例提供的一种表情基确定方法的第二流程图;

图13为本申请实施例提供的一种表情基确定装置的结构图;

图14为本申请实施例提供的一种设备的结构图;

图15为本申请实施例提供的一种服务器的结构图。

下面结合附图,对本申请的实施例进行描述。

现有技术在生成面部模型的表情基时,主要倾向于表达面部的轮廓等粗略特征,无法准确表达面部的细节特征,导致获取到的表情基与输入的人脸模型误差较大,不够逼真,进而影响虚拟形象的表情驱动效果,使得驱动的虚拟形象也不够逼真。

为此,本申请实施例首先提供了一种表情基确定方法,该方法首先得到能够体现第一面部特征的第一网格模型,然后根据面部模型中第二面部特征对应的点云数据,确定体现第二面部特征的第二网格模型,接着将所述第一网格模型中第一面部特征上点所在的区域与所述第二网格模型中第二面部特征上点所在的区域进行组合,形成第三网格模型,最后根据所述第三网格模型从标准模型库中确定第一表情基组,本申请实施例确定的第三网格模型既能充分表达面部模型的第一面部特征,又能充分表达面部模型的第二面部特征,进而得到能够准确展现细节特征的与人脸模型更加逼真的表情基。本申请实施例接着提供了一种虚拟形象驱动方法,能够基于所述更加逼真的表情基来驱动虚拟形象,提升了虚拟形象的真实感和表现力。

需要说明的是,本申请实施例提供的表情基确定方法和虚拟形象驱动方法都可基于人工智能来实现。人工智能(artificialintelligence,ai)是一门综合学科,是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

本申请实施例提供的表情基确定方法和虚拟形象驱动方法可以应用于处理设备上,该处理设备可以是终端设备,也可以是服务器。

处理设备可以具有实施计算机视觉技术的能力。在本申请实施例中,处理设备通过实施上述计算机视觉技术,可以实现根据面部模型的点云数据,确定体现第一脸部特征的第一网格模型;根据面部模型中第二脸部特征对应的点云数据,确定体现第二脸部特征的第二网格模型;将所述第一网格模型和所述第二网格模型组合成第一脸部特征和第二脸部特征对应的第三网格模型;以及根据所述第三网格模型从标准模型库中确定第一表情基组等功能。

处理设备可以是终端设备,例如智能终端、计算机、个人数字助理(personaldigitalassistant,简称pda)、平板电脑等。

处理设备还可以是服务器,例如独立服务器或集群服务器。当服务器实施该基于人工智能的表情基确定方法时,服务器可以根据面部模型的点云数据确定第一网格模型,通过标准模型库和所述面部模型的点云数据确定第二网格模型,将第一网格模型和第二网格模型组合形成第三网格模型,最终根据第三网格模型获取面部模型对应的表情基组,并将得到的表情基在终端设备上的显示、推出。

本申请实施例提供的基于人工智能的表情基确定方法可以应用到各种适用虚拟形象的应用场景,例如新闻播报、天气预报、游戏解说以及游戏场景中允许用于构建和用户自己脸型一样的游戏人物等,还能用于利用虚拟形象承担私人化的服务的场景,例如心理医生,虚拟助手等面向个人的一对一服务。在这些场景下,利用本申请实施例提供的方法可以确定出人脸模型的表情基,进而通过表情基来构建人脸模型,以便基于该人脸模型和表情基来驱动虚拟形象。

为了便于理解本申请的技术方案,下面还将结合实际应用场景对本申请实施例提供的基于人工智能的表情基确定方法进行介绍。

参见图3,图3为本申请实施例提供的基于人工智能的表情基确定方法的应用场景示意图。应用场景以处理设备为终端设备为例进行介绍,应用场景中包括终端设备301,终端设备301可以获取面部模型(例如拍照、拍视频等)。通过面部模型确定第一网格模型和第二网格模型,然后将第一网格模型和第二网格模型组合成第一脸部特征和第二脸部特征对应的第三网格模型,最后基于该第三网格模型从3dmm库中导出一组表情基。

本申请实施例的面部模型可以是通过传感器针对虚拟形象进行采集得到的,该传感器可以是深度传感器例如rgbd传感器,也可以是普通传感器(二维传感器)。采集数据中包括对应对象的面部模型的点云数据。

本申请实施例的终端设备301在采集到面部模型后,采用非刚性配准方法(例如nricp算法)来对面部模型的点云数据进行处理,直接得到第一网格模型。本实施例的nricp算法通过加大平滑项的权重,能够使得第一网格模型表达平滑完整的轮廓,不会出现轮廓的瑕疵;另外,本实施例还可以表达出面部的大轮廓形状(例如尖下巴形状)。

本申请实施例的终端设备301进一步通过调用标准模型库和所述面部模型的点云数据确定第二网格模型,该第二网格模型能够表达出面部模型的五官等细节特征,通过生成的第二网格模型,能够得到平滑无噪声的五官等细节特征。

于是,本申请实施例的终端设备301在计算得到第一网格模型和第二网格模型后,将两者组合得到第三网格模型,所述第三网格模型既能够表达面部模型的轮廓等粗略特征,又能表达面部模型的五官等细节特征。这个第三网格模型是与面部模型最逼真的网格。本申请实施例通过该第三网格模型来获取表情基,提高了表情基与面部模型的相似度,能够得到平滑且无噪声的逼真的表情基。

由于终端设备301能够获取面部模型(例如拍照得到的图像),然后处理得到第一网格模型和第二网格模型,并能够将第一网格模型和第二网格模型融合成第三网格模型,最后根据第三网格模型从标准模型库(例如3dmm库)中找到最逼真的表情基,因此,终端设备301能够得到表情基。

需要说明的是,本申请提及的面部模型可以是人、动物、甚至是具有面部的玩偶等对象的模型,所述模型可以由图像、视频以及深度点云数据等内容转化而来,本实施例在此不对面部模型的对象以及面部模型的来源做限定。

本申请实施例所述的第一面部特征是指输入的面部模型的粗略特征,例如面部轮廓,以人脸为例,面部轮廓也称为脸型,按照形态学分类,脸型可分为以下十种:(1)圆形脸型:(2)椭圆形脸型;(3)卵圆形脸型;(4)倒卵圆形脸型;(5)方形脸型;(6)长方形脸型;(7)梯形脸型;(8)倒梯形脸型;(9)菱形脸型;(10)五角形脸型;按照字形学分类,脸型又可以分为以下八种:(1)国字形脸型;(2)目字形脸型;(3)田字形脸型;(4)由字形脸型;(5)申字形脸型;(6)甲字形脸型;(7)用字形脸型;(8)风字形脸型。本申请实施例所述的轮廓包括但不限于以上种类,在此不做具体限定。

本申请实施例所述的第二面部特征通常是指输入的面部模型的细节特征,例如眼睛、鼻子、耳朵、嘴巴、舌头等五官细节,又如胎记、疤痕等细节。

应当理解的是,本申请实施例所述的第二面部特征是相对于第一面部特征而言的,由于在构建第一网格模型的过程中,将会从所述标准模型库中获取初步网格模型来与面部模型进行处理,如果初步网格模型与面部模型之间在五官特征部分的误差比轮廓特征部分的误差更大,例如,两者的鼻子大小差距很大,但面部轮廓的胖瘦程度基本一致,则此时就将五官特征部分视为第一面部特征,而将轮廓特征部分视为第二面部特征。也就是说,本申请实施例的第一面部特征和第二面部特征并没有具体限定为轮廓或者五官,第一面部特征和第二面部特征取决于面部模型与初步网格模型之间的误差大小,误差较大的粗略特征即为第一面部特征,误差较小的细节特征即为第二面部特征。虽然在本申请实施例中将面部轮廓作为第一面部特征,将面部五官作为第二面部特征来进行相关描述,但是,根据上述说明,本申请实施例所述第一面部特征应该是包括面部轮廓特征和/或面部五官特征;所述第二面部特征应该是包括面部细节特征,在此不对第一面部特征的和第二面部特征的对象进行限定。

为了便于理解本申请的技术方案,下面结合附图对本申请实施例提供的表情基确定方法进行详细介绍,参见图5,所述方法包括步骤s501、s502、s503和s504。

s501:根据面部模型的点云数据,确定体现第一面部特征的第一网格模型。

本申请实施例将面部模型的眼睛、舌头、耳朵、鼻子和嘴巴识别为五官,将面部模型的其他的部分都算作轮廓区域。在步骤501中,通过从标准模型库(例如3dmm库)中获取一个初步网格模型,然后将这个初步网格模型与原始的面部模型的点云数据进行非刚性配准(non-rigidicp,简写为nricp算法)处理,可以直接得到第一网格模型。

需要说明的是,根据面部模型的点云数据,获取第一网格模型,可以采用多种实现方式,例如,第一种实现方式是:将面部模型作为输入,从标准模型库中拟合得到与该面部模型轮廓接近的第一网格模型;第二种实现方式是:先根据面部模型从标准模型库中拟合得到一个与该面部模型轮廓接近的初步网格模型,然后通过nricp算法对初步网格模型进行处理,得到一个轮廓更加接近面部模型的第一网格模型。

还需要说明的是,面部模型配准(imageregistration)是指将不同时间、不同传感器(成像设备)或不同条件下(天候、照度、摄像位置和角度等)获取的两幅或多幅面部模型进行匹配、叠加的过程,它已经被广泛地应用于遥感数据分析、计算机视觉、面部模型处理等领域。在逆向工程,计算机视觉,文物数字化等领域中,由于点云的不完整,例如旋转错位,平移错位等,使得要得到的完整的点云就需要对局部点云进行配准,为了得到被测物体的完整数据模型,需要确定一个合适的坐标系,将从各个视角得到的点集合并到统一的坐标系下形成一个完整的点云,然后就可以方便进行可视化的操作,这就是点云数据的配准。点云的配准有手动配准依赖仪器的配准和自动配准,点云的自动配准技术是通过一定的算法或者统计学规律利用计算机计算两块点云之间错位,从而达到两块点云自动配准的效果,其实质就是把不同的坐标系中测得到的数据点云进行坐标系的变换,以得到整体的数据模型,问题的关键是如何让得到坐标变换的参数r(旋转矩阵)和t(平移向量),使得两视角下测得的三维数据经坐标变换后的距离最小,目前配准算法按照过程可以分为整体配准和局部配准。本申请实施例提到的非刚性配准(non-rigidregistration)就是其中一种配准方法,也称为nricp算法,当然,除了使用nricp算法,还可以采用其他配准算法,本实施例对此不做限定。

接下来,本申请实施例详细描述获取第一网格模型的具体实现过程,该过程进一步包括步骤s5011、s5012和s5013。

s5011:根据所述面部模型的点云数据,从所述标准模型库中获取初步网格模型;

本申请实施例获取面部模型的点云数据,在标准模型库(例如3dmm库)中获取一个初步网格模型。在一些实施例中,获取的初步网格模型可以是标准模型库中的平均脸模型,也可以是将面部模型于标准模型库中拟合得到的一个模型,亦或者是标准模型库中任意一个模型,本申请实施例仅需获取一个初步网格模型来执行步骤s5012和步骤s5013,所述初步网格模型的获取方式在此不做具体限定。

s5012:根据所述面部模型上的第一关键点和所述初步网格模型中预先标记的第二关键点,将所述面部模型的点云数据与所述初步网格模型的点云数据进行对齐;

本申请实施例在面部模型的点云数据中识别面部轮廓的第一关键点,并在初步网格模型的点云数据上标记面部轮廓的第二关键点;然后,基于确定的第一关键点和第二关键点,将所述面部模型的点云数据与所述初步网格模型的点云数据进行对齐。

需要说明的是,本申请实施例可采用以下两种方式来将所述面部模型的点云数据与所述初步网格模型的点云数据进行对齐。

其中,第一种实现方式为:将所述面部模型上的点划分为第一面部特征区域和第二面部特征区域,根据所述面部模型上的第一关键点和所述初步网格模型中预先标记的第二关键点,将所述第一面部特征区域的点云数据与所述初步网格模型的点云数据进行对齐。

参见图6,本申请实施例基于确定的第一关键点和第二关键点,先将面部模型上的点划分为第一面部特征区域和第二面部特征区域,然后将第二面部特征区域抠除,将第一面部特征区域的点云数据601与初步网格模型的点云数据602对齐整合,整合后的结果如图6所示。也就是说,在这第一种实现方式中,面部模型仅将面部模型的部分点云进行对齐处理,减少了对齐处理的点云数据量,能够提高处理效率。

需要说明的是,本申请实施例描述的第一关键点和第二关键点用于标记模型的各个部位,例如标记模型的眼部、鼻子、嘴巴等。通过所述第一关键点和第二关键点,就能够确定两个模型的相对应位置,进而实现将两个模型对齐。本申请实施例不对关键点的选取作限定。

第二种实现方式为:根据所述面部模型上的第一关键点和所述初步网格模型中预先标记的第二关键点,将所述面部模型上的所有点云数据与所述初步网格模型的点云数据进行对齐。

也就是说,在这第二种实现方式中,本申请实施例没有将面部模型的点云划分成多个区域,直接根据标记好的第一关键点,基于面部模型与初步网格模型之间的点云对应关系,将面部模型的所有点云数据进行对齐处理,能够确保点云数据的完整,提高了第一网格模型与面部模型之间的相似度。

本申请实施例所述的第一关键点和第二关键点,可以是眼睛、鼻子、嘴巴、轮廓等区域的边界上的点,通过标记这些关键点,就能通过面部模型与初步网格模型之间的对应关系来实现两个模型之间的对齐。

s5013:根据所述面部模型上的点与所述初步网格模型上的点之间的对应关系,将所述初步网格模型上的点变换到所述面部模型的对应点上,得到第一网格模型。

此时,对应3dmm库中得到的初步网格模型,本申请实施例通过初步网格模型的点与面部模型上的点之间的对应关系,对初步网格模型上的每个面部点,都在面部模型的点云上找到对应的最近点,例如,通过计算初步网格模型上的每个点与面部模型上的点之间的距离,选取面部模型上距离值最小的点作为最近点。另外,本申请实施例还将采用knn算法来加速匹配得到所有最近点,以提高获取所有最近点的效率。需要说明的是,本申请实施例举例说明了一种获取最近点的方式,在另外的实施例中也可以采用其他方式来获取最近点,只要能够根据获取到的最近点来确定本申请实施例所述的第一网格模型即可,本实施例不对获取最近点的具体实施方式作出限定。本申请实施例还通过加大nricp算法的平滑项权重,来加大算法处理得到的第一网格模型的平滑程度,使得第一网格模型能够表达的轮廓特征更加平滑完整。

由此,每一个初步网格模型上的点都变换到对应的最近点上,经过变换后的最近点均能保持原有初步网格模型的拓扑信息。最后,通过求解初步网格模型上每一个点的变化,就可以把初步网格模型的点变成面部模型上的样子,同时,还能保证第一网格模型的拓扑与标准模型库的拓扑一致。

参见图7,图7为本申请实施例得到的第一网格模型的结果的三个视角图。从图7可以看出,本申请实施例可以得到平滑完整的轮廓,在面部与脖颈交接处平滑且完整,同时,本申请实施例的第一网格模型还能表达出尖下巴形状,更加准确逼真。

除了步骤s的方法,一些实施例还可以通过标准模型库直接获取第一网格模型。例如,采用3dmm库作为标准模型库,3dmm库包括表情基和捏脸基两个部分,它可以是线性或者双线性的存储形式。

对于线性存储形式的3dmm库,以一个任意形状/带有任意表情的人脸为例,该人脸模型可以用这个3dmm库参数化表示为:m=mu+basis_shape*id+basis_exp*exp;其中,m是指该人脸模型;mu代表3dmm库中的平均脸;exp是表情系数;id是捏脸基系数。

对于双线性存储形式的3dmm库,如图1所示,其中每一行代表一个人,一共m行则代表有m个人(图1中的m0-m5),即有m个不同的捏脸基;每一列对应一种表情,一共有n列则代表有n种表情(图1中的n0-n15),即有n个表情基。

利用图1所示的3dmm库,以一个任意形状/带有任意表情的人脸为例,该人脸模型可以用这个3dmm库进行双线性参数化表示,即:m=exp*cr*id;其中,m是指该人脸模型;exp是表情系数,维度是1*n;cr是3dmm库,维度为n*k*m,k是单个人脸点云的个数,n是表情基的数目,m是捏脸基的数目;id是捏脸基系数,维度是m*1。

也就是说,任意一个人脸模型可以根据选用的标准模型库(例如3dmm库)来参数化表示成“id+exp”形式的模型。通过3dmm库获取的模型,也能够表达该人脸的粗略特征。

接着,执行步骤s502。

s502:根据面部模型中第二面部特征对应的点云数据,确定体现第二面部特征的第二网格模型;

本申请实施例通过划分区域来分别处理的方法,能够从标准模型库(例如3dmm库)中确定面部模型中的细节特征(例如五官)的点。本申请实施例根据面部模型的点云数据以及标准模型库中模型的点与面部模型上的点之间的对应关系,来确定各个区域的点,相较于现有技术还通过检测特征点和计算相机姿态来确定细节特征点的方式,能够避免检测特征点以及计算相机姿态所造成的误差,提高结果的精确度。

s50201:将所述面部模型中第二面部特征对应的点云数据划分为多个拟合区域和第一过渡区域;其中,所述第一过渡区域的点位于任意两个相邻的拟合区域之间;

本申请实施例面部模型上划分出第二面部特征对应的点云区域,其中第二面部特征对应的点云区域在本实施例中是指眼睛鼻子嘴巴等需要进行拟合的区域,本申请实施例以眼睛鼻子嘴巴作为拟合区域,在实际应用中,所述拟合区域不局限于鼻子眼睛嘴巴等五官部位,也可以是其他面部区域,例如面部的胎记区域等,本实施例在此不作限定。如图8所示,由于拟合区域的个数不止一个(包括眼部区域802、鼻子区域803和嘴巴区域804),因此各个拟合区域之间还具有第一过渡区域801。

s50202:根据所述各个拟合区域的拟合前的点,在标准模型库上分别拟合得到各个拟合区域对应的第一捏脸基系数和表情系数;

本申请实施例通过划分出来的拟合区域的点,分别到标准模型库上寻找最相似的对应点,由于标准模型库是参数化的表示方法,因此在寻找最相似的对应点的过程中,拟合得到捏脸基系数和表情系数,就能确定对应的模型,进而确定该模型对应区域的点,即步骤s50203。

另外,在一种可能的实施例中,当拟合区域为眼部区域时,所述步骤s50202进一步包括s502021和s502022。

s502021:获取正则项;以及

s502022:根据所述正则项,在标准模型库上拟合得到第一捏脸基系数和表情系数;所述表情系数对应于标准模型库中的无表情模型。

本申请实施例所述的将第二网格模型划分各个区域来进行拟合的方法,除了能够解决每个拟合区域上点的噪声较大的问题,还能根据实际应用需求来动态调整模型,例如大小眼问题。在实际采集面部模型的过程中,如果采用拍照采集的方式,则拍摄得到的正脸照片可能会存在大小眼的问题,大小眼问题会严重影响导出的表情基的精确度。由于标准模型库中的模型的大小眼是由表情系数决定的,当模型处于无表情状态时,该模型的左右眼必然是对称等同的,当模型处于有表情状态时,其左右眼则可能出现不对称情况(例如单眼眨眼、单眼眯眼等)。因此,要控制模型的双眼保持对称一致,则应当控制模型的参数化表达式中的表情系数为无表情模型的系数,如图1所示的3dmm库中,无表情模型对应的表情系数为0,控制参数化表达式由捏脸基系数决定时,此时,模型的双眼则能保持对称且大小一致。因此,本申请实施例在对眼部区域进行划分拟合时,基于图1所示的3dmm库,通过获取形变迁移的正则项,使得表情系数为0,此时模型的参数化表示受捏脸基系数控制,最后根据所述区域点、表情系数和捏脸基系数,就能确定第二网格模型上的眼部区域,且能保证该眼部区域不会出现大小眼问题,进一步提高了模型的精确度。

s50203:根据所述第一捏脸基系数和表情系数确定各个拟合区域的拟合后的点;

s50204:根据所述各个拟合区域的拟合后的点,确定所述第一过渡区域的拟合后的点;

本申请实施例在确定了各个拟合区域的点之后,对拟合区域的点进行加权平均处理,得到第一过渡区域的点。

s50205:将所述各个拟合区域的拟合后的点和所述第一过渡区域的拟合后的点组合,得到所述第二网格模型。

最后,本申请实施例根据拟合区域的最终点以及第一过渡区域的点,得到一个能够确定第二面部特征的第二网格模型。本申请实施例通过将面部模型划分成多个区域来进行拟合,得到的第二网格模型明确了面部细节的特征,能够保证每个拟合区域不受面部模型上细节特征的噪声干扰,解决了现有技术在五官等面部细节区域的地方会出现噪声的问题,提高了第二网格模型在细节特征区域的准确度和逼真程度。

另外,所述步骤s502还包括第二种实现方式,其包括步骤s50211、步骤s50212和步骤s50213。

s50211:根据所述面部模型中第二面部特征对应的点云数据,在标准模型库上拟合得到第一捏脸基系数和表情系数;

本申请实施例从面部模型上划分出第二面部特征对应的点云数据,其中,第二面部特征对应的点云数据在本实施例中是指细节特征区域。参见图9,本申请实施例将整个面部除了轮廓区域903以外的区域整体作为第二面部特征对应的区域902,相较于现有技术将整个面部置于3dmm库中拟合得到对应的模型,本申请实施例缩小了需要拟合的点云数据区域,能够提高拟合结果的准确度。

s50212:根据所述第一捏脸基系数和所述表情系数确定所述面部模型中第二面部特征对应的的拟合后的点;

s50213:根据所述拟合后的点,确定所述第二网格模型。

通过步骤s50212至s50213的实现过程,得到了一个能够确定第二面部特征的第二网格模型。如图4所示,本申请实施例通过将面部模型划分成第一面部特征对应的区域和第二面部特征对应的区域来进行处理,得到的第二网格模型明确了第二面部特征区域的特征,能够保证第二面部特征区域不受面部模型的噪声干扰,解决了现有技术在五官等面部细节区域的地方会出现面部模型噪声的问题,提高了第二网格模型在细节特征区域的准确度和逼真程度,相较于图7所示的五官细节部分,经过本申请实施例的步骤s502,得到的第二网格模型(如图4所示)中的眼部区域401、鼻子区域402以及嘴巴区域403都提高了准确度和逼真程度。

接着,执行步骤s503。

s503:将所述第一网格模型中第一面部特征上点所在的区域与所述第二网格模型中第二面部特征上点所在的区域进行组合,形成第三网格模型;

本申请实施例通过步骤s501得到一个可以充分表达轮廓等粗略特征的第一网格模型,通过步骤s502得到一个可以充分表达五官等细节特征的第二网格模型,因此,本申请实施例通过步骤s503将上述第一网格模型和第二网格模型组合得到第三网格模型,则既能够充分表达面部模型的轮廓等粗略特征,也能充分表达面部模型的五官等细节特征。

具体的,在本申请实施例的方式中,步骤s503进一步包括步骤s5031和步骤s5032。

s5031:将所述第一网格模型的点云数据和所述第二网格模型的点云数据进行加权平均处理,确定第二过渡区域,所述第二过渡区域的点位于所述第一面部特征的点与所述第二面部特征的点之间。

如图9所示,本申请实施例根据第一网格模型,获取对应面部模型的轮廓区域903;接着根据第二网格模型,获取对应面部模型的五官区域902;接着在轮廓区域903和五官区域902之间确定出第二过渡区域901。所述根据轮廓区域903和五官区域902确定第二过渡区域的过程,与步骤s50204中根据划分区域确定第一过渡区域的过程相似。本申请实施例将第一网格模型和第二网格模型中对应的各个点进行加权平均处理,所述加权平均的计算公式为:

其中,vertex代表加权平均后得到的点;w1代表第一网格模型的点的权重值;vertex1代表第一网格模型上的点;vertex2代表第二网格模型上的点;w2代表第二网格模型的点的权重值。本申请实施例的w1和w2可以分别根据第一网格模型和第二网格模型中五官与轮廓之间的距离来动态调整。

s5032:将所述第一面部特征上点所在的区域、所述第二面部特征上点所在的区域以及所述第二过渡区域组合,确定第三网格模型。

需要说明的是,本实施例提供了如步骤s5031和s5032所述的组合方式,当然还包括了其他可能的组合方式。例如,将第一网格模型的所有点云数据与第二网格模型的所有点云数据求均值,将均值的点云数据作为第三网格模型的点。又如,将第一网格模型和第二网格模型中,误差较小的模型保持不变,仅对误差较大的模型与平均脸进行加权平均处理后,再处理结果与误差较小的模型进行组合。本申请实施例在此不对所述组合的方式作限定。

如图10所示,通过将第一网格模型和第二网格模型组合,得到的第三网格模型既能够充分表达人脸模型的轮廓等粗略特征(包括尖下巴等大轮廓形状特征),又能充分表达人脸模型的五官等细节特征(例如眼睛鼻子和嘴巴)。

s504:根据所述第三网格模型从标准模型库中确定第一表情基组。

本申请实施例通过如图10所示的第三网格模型来从3dmm库中导出对应的表情基,既能满足面部模型的轮廓要求,也能满足面部模型的五官等细节要求,提高了表情基的准确度,使之与面部模型更加相像。

为了进一步提高导出的表情基组与面部模型之间的相似度,本申请实施例还包括步骤s505:基于所述第三网格模型,对所述第一表情基组进行形变迁移处理,确定第二表情基组。

s5051:确定形变迁移的形变项和平滑项;以及

s5052:根据所述形变项和平滑项,将第一表情基组上的点形变迁移到所述第三网格模型上,得到第二表情基组。

本申请实施例根据第三网格模型,将第三网格模型作为约束m0,在3dmm库上拟合到捏脸基系数和表情系数,本申请实施例的拟合公式为:

其中,r代表旋转变换操作;t代表平移变换操作;s代表缩放变换操作;exp是表情系数,id是目标shape系数(也称为捏脸基系数)。根据这个拟合公式,本申请实施例的拟合过程通过拟合得到的捏脸基系数和3dmm库中预先定义的表情系数(如图1所示的各个表情下的模型,即代表exp0--expn),可以导出一组表情基bi。其中,exp0对应的表情基b0是无表情的网格模型,exp1到expn对应的是各种表情的网格模型,如图1所示,exp1到expn对应的可以是每一行中从左往右各个表情的网格模型。本申请实施例所述的表情基属于可变形网格,例如blendshape。本申请实施例的变换处理包括旋转平移缩放处理,当然,还包括其他变换处理,本实施例在此不做限定。

本申请实施例的步骤s504已经得到一组与面部模型相似的表情基组bi,但是,受限于3dmm库中模型的表达能力,表情基组bi中的表情基b0与第三网格模型m0仍然存在一定的误差,如图11所示,本申请实施例根据第三网格模型m0,从3dmm库中拟合得到对应m0的表情系数和捏脸基系数,根据拟合得到的表情系数和捏脸基系数导出一组表情基b0-bn,此时,如果3dmm库中存储的所有人脸模型均不像输入的面部模型,则导出的3dmm库中预存的表情基组必然与输入的面部模型之间存在一定误差,例如在图11中,3dmm库中预存的b0-bn与输入的面部模型不像,因此,本申请实施例采用形变迁移的方法(例如deformationtransfer算法),把表情基bi迁移到mi上去,本申请实施例采用如下计算公式作为形变迁移的示例:

在本申请实施例的形变迁移过程中,相当于把第一表情基组中与面部模型误差较大的b0替换为相似度最高的m0,在实际应用中,除了考虑该公式中的形变项b0,还可考虑平滑项的约束,用来限制形变迁移前后的mi的三角形拓扑和法线保持平滑。如图11所示,本申请实施例将导出的第一表情基组bi全部形变迁移到第二表情基组mi上,得到了一组与输入的面部模型最相似的表情基组。本申请实施例的目的在于将b0替换为m0,并举例说明了形变迁移的具体计算公式,当然,还包括其他形变迁移的方法和计算公式,本实施例在此不作限定。

如图2所示,通过本申请实施例的方法,最终得到一组跟面部模型201最相似的表情基组202,该表情基组可用于驱动面部模型对应的虚拟形象。本申请实施例克服了现有技术的缺陷,能够根据面部模型确定一组逼真程度高的表情基组。

本申请的另一实施例中,还提供了一种表情基确定方法。该实施例将面部轮廓特征作为第一面部特征,将五官轮廓特征作为第二面部特征。如图12所示,该方法首先获取面部图像数据;接着通过nricp算法来确定面部图像中的轮廓特征区域,并通过划分面部模型的区域来分别确定五官特征区域;然后将轮廓特征区域和五官特征区域进行组合;再根据组合结果从标准模型库中获取第一表情基组;最后将第一表情基组上的点形变迁移到所述组合结果上,得到第二表情基组。

本申请实施例中,面部图像可以是通过传感器针对虚拟形象进行采集得到的,该传感器可以是深度传感器例如rgbd传感器,也可以是普通传感器(二维传感器)等。

其中,本申请实施例通过nricp算法来确定面部图像中的轮廓特征区域的步骤中,参见上述实施例的步骤s501,将整个面部图像除了五官之外的所有区域都作为轮廓区域,对面部图像的点云数据进行非刚性配准处理(英文名称为nricp处理),得到轮廓特征区域的各个最终点。

本申请实施例通过划分面部图像的区域来分别确定五官特征区域的步骤中,参见上述实施例的步骤s502,分别将面部图像中各个五官位置的点进行拟合,得到五官特征区域的最终点。

接着,参见上述实施例的步骤s503,本申请实施例将轮廓特征区域的最终点与五官特征区域的最终点组合,得到整个面部的最终点。

再接着,参见上述实施例的步骤s504,基于整个面部的最终点,从标准模型库中获取第一表情基组;最后,参见上述实施例的步骤s505,将第一表情基组上的点形变迁移到组合的结果上,得到第二表情基组。至此,本申请实施例得到了一组与输入的面部图像最相似的表情基组。

本申请的另一实施例中,还提供了一种虚拟形象驱动方法。该方法首先根据上述实施例提供的表情基确定方法获得一组表情基,然后根据上述表情基组对虚拟形象进行驱动。例如,在游戏场景中构建用户自己脸型的游戏人物,基于上述表情基,就能对该游戏人物进行驱动。

基于前述实施例提供的表情基确定方法,本实施例还提供一种表情基确定装置。参见图13,所述装置包括第一网格模型生成模块1101、第二网格模型生成模块1102、第三网格模型生成模块1103和第一表情基生成模块1104:

所述第一网格模型生成模块1101,用于根据面部模型的点云数据,确定体现第一面部特征的第一网格模型;

所述第二网格模型生成模块1102,用于根据面部模型中第二面部特征对应的点云数据,确定体现第二面部特征的第二网格模型;

所述第三网格模型生成模块1103,用于将所述第一网格模型中第一面部特征上点所在的区域与所述第二网格模型中第二面部特征上点所在的区域进行组合,形成第三网格模型;

所述第一表情基生成模块1104,用于根据所述第三网格模型从标准模型库中确定第一表情基组。

在一些实施例中,还包括第二表情基生成模块:

所述第二表情基生成模块,用于基于所述第三网格模型,对所述第一表情基组进行形变迁移处理,确定第二表情基组。

在一些实施例中,所述第一网格模型生成模块1101包括获取单元、对齐单元和变换单元:

所述获取单元,用于根据所述面部模型的点云数据,从所述标准模型库中获取初步网格模型;

所述对齐单元,用于根据所述面部模型上的第一关键点和所述初步网格模型中预先标记的第二关键点,将所述面部模型的点云数据与所述初步网格模型的点云数据进行对齐;以及

所述变换单元,用于根据所述面部模型上的点与所述初步网格模型上的点之间的对应关系,将所述初步网格模型上的点变换到所述面部模型的对应点上,得到第一网格模型。

在一些实施例中,所述第二网格模型生成模块1102包括划分单元、第一拟合单元、第一确定单元、第一过渡区域确定单元和第一组合单元:

所述划分单元,用于将所述面部模型中第二面部特征对应的点云数据划分为多个拟合区域和第一过渡区域;其中,所述第一过渡区域的点位于任意两个相邻的拟合区域之间;

所述第一拟合单元,用于根据所述各个拟合区域的拟合前的点,在标准模型库上分别拟合得到各个拟合区域对应的第一捏脸基系数和表情系数;

所述第一确定单元,用于根据所述第一捏脸基系数和表情系数确定各个拟合区域的拟合后的点;

所述第一过渡区域确定单元,用于根据所述各个拟合区域的拟合后的点,确定所述第一过渡区域的拟合后的点;以及

所述第一组合单元,用于将所述各个拟合区域的拟合后的点和所述第一过渡区域的拟合后的点组合,得到所述第二网格模型。

在一些实施例中,所述第三网格模型生成模块1103包括第二确定单元和第二组合单元:

所述第二确定单元,用于将所述第一网格模型的点云数据和所述第二网格模型的点云数据进行加权平均处理,确定第二过渡区域,所述第二过渡区域的点位于所述第一面部特征的点与所述第二面部特征的点之间;以及

所述第二组合单元,用于将所述第一面部特征上点所在的区域、所述第二面部特征上点所在的区域以及所述第二过渡区域组合,确定第三网格模型。

在一些实施例中,所述第一表情基生成模块1104包括第二拟合单元和导出单元:

所述第二拟合单元,用于根据所述第三网格模型,在标准模型库上拟合得到第二捏脸基系数;以及

所述导出单元,用于根据所述第二捏脸基系数和预设的表情系数,确定所述面部模型在所述标准模型库中的第一表情基组。

在一些实施例中,所述第二表情基生成模块包括第三确定单元和形变迁移单元:

所述第三确定单元,用于确定形变迁移的形变项和平滑项;以及

所述形变迁移单元,用于根据所述形变项和平滑项,将第一表情基组上的点形变迁移到所述第三网格模型上,得到第二表情基组。

基于前述实施例提供的虚拟形象驱动方法,本实施例还提供一种虚拟形象驱动装置。包括表情基生成模块和驱动模块:

所述表情基生成模块,用于根据前述实施例所述的表情基确定装置生成一组表情基;

所述驱动模块,用于根据所述表情基对所述虚拟形象进行驱动。

本申请实施例还提供了一种设备,该设备可以基于人工智能生成表情基,也可以根据所述表情基对虚拟形象进行驱动。该设备还可以是终端设备,该终端设备可以为包括手机、平板电脑、个人数字助理(personaldigitalassistant,简称pda)、销售终端(pointofsales,简称pos)、车载电脑等任意智能终端,下面结合附图对该设备进行介绍,参见图14,本申请实施例以终端设备为手机为例:

图14示出的是与本申请实施例提供的终端设备相关的手机的部分结构的框图。参考图14,手机包括:射频(radiofrequency,简称rf)电路1210、存储器1220、输入单元1230、显示单元1240、传感器1250、音频电路1260、无线保真(wirelessfidelity,简称wifi)模块1270、处理器1280、以及电源1290等部件。本领域技术人员可以理解,图14中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

在本申请实施例中,该终端设备所包括的处理器1280具有以下功能:

根据面部模型的点云数据,确定体现第一面部特征的第一网格模型;

根据面部模型中第二面部特征对应的点云数据,确定体现第二面部特征的第二网格模型;

将所述第一网格模型中第一面部特征上点所在的区域与所述第二网格模型中第二面部特征上点所在的区域进行组合,形成第三网格模型;以及

根据所述第三网格模型从标准模型库中确定第一表情基组。

该终端设备所包括的处理器1280还具有以下功能:

根据表情基确定装置生成一组表情基;以及

根据所述表情基对虚拟形象进行驱动。

本申请实施例还提供服务器,请参见图15所示,图15为本申请实施例提供的服务器1300的结构图,服务器1300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,简称cpu)1322(例如,一个或一个以上处理器)和存储器1332,一个或一个以上存储应用程序1342或数据1344的存储介质1330(例如一个或一个以上海量存储设备)。其中,存储器1332和存储介质1330可以是短暂存储或持久存储。存储在存储介质1330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1322可以设置为与存储介质1330通信,在服务器1300上执行存储介质1330中的一系列指令操作。

服务器1300还可以包括一个或一个以上电源1326,一个或一个以上有线或无线网络接口1350,一个或一个以上输入输出接口1358,和/或,一个或一个以上操作系统1341,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上述实施例中由处理器1280所实现的功能也可以基于该图15所示的服务器结构来实现。

本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序,所述程序被处理器执行完成如前述各个实施例所述的表情基确定方法和虚拟形象驱动方法。

本申请实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例所述的表情基确定方法和虚拟形象驱动方法。

本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等各种可以存储程序的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

}

通过3Ds Max应用的“参数化变形器”中的“壳”选项,能够给我们制作好的几何物体增加厚度,还能够达到“壳”的效果。让这个几何体变成某种壳的形式,可以是蛋壳也可以是其他几何无力。但是要想制作出好的效果,重点就在调节的过程中,下面来告诉大家这个功能的使用与调节技巧。

打开3Ds Max软件,在视图中创建一个圆锥体。

将圆锥体转换为可编辑网格,并且选择“多边形”层级。

使用鼠标选中一部分几何体。

按键盘上的“delete”键,删除选中部分。

退出“多边形”层级,选择“可编辑网格”层级。

选中破损的圆锥体,打开“修改器”菜单。

选择“参数化变形器”中的“壳”命令。

可以看到,在破损的部分,增加了一层有厚度的几何体。表示应用“壳”成功了。

}

图1. 西蒙斯几何物理中心。

Physics)举行,环境优美,气氛温馨。西蒙斯先生(Jim Simons)是陈省身先生的高足,丘成桐先生的师兄,陈-西蒙斯示性类(Chern-Simons Characeteristic Class)的发现者,文艺复兴公司(Renaissance)的创始人。文艺复兴公司是华尔街金融届的翘楚,西蒙斯先生富可敌国,独力资助了美国一半的理论物理博士后职位。

在会议上见到了许多新朋老友,聆听了他们精彩纷呈的演讲。克朗所的叶奇教授(Chee Yap)介绍了计算几何的数值稳定性问题,意犹未尽,醇厚绵长;俄亥俄州立大学的王欲甦教授详尽系统地讲解了计算拓扑中的Persistent Homology理论,雄浑壮阔,恣肆汪洋;麻省理工大学的Scott Sheeld讲解了随机几何结构,将概率、共形几何、量子物理有机结合,绚丽奥妙,神秘深邃;石溪的高洁教授讲解了Ricci流在互联网、社交网络中的应用,深刻隽永,潜力无限。沃尔夫奖得主,拓扑领域的泰斗Denis Sullivan教授也参加了绝大多数的演讲,和演讲者积极互动,才思敏捷,异常亢奋。在会议上老顾也遇到了一位年轻才俊,布朗大学数学系的林伟扬教授 Lam, Wai Yeung (Wayne)。林教授在香港中文大学求学期间,得到雷诺铭教授的指导,研习了老顾的《计算共形几何》,从而对共形几何产生浓厚兴趣。后经雷教授的推荐,到德国柏林追随Ulrich Pinkall教授进一步深造,提出了一种离散全纯二次微分的方法,并将其应用于离散极小曲面的构造,其观点高屋建瓴,其理论精巧优美。老顾看到了一颗学术界的新星,正在冉冉升起。看到自己的学术工作,在世界范围内激发了年轻一代学者的成长,老顾倍感欣慰。

图2. 拓扑复杂实体的神圣网格(holy grid)。

这一周,老顾在自己的《离散几何》课程上正在讲解神圣网格问题(Holy Grid)和全纯二次微分(Holomorphic Quadratic Differential)。我们前面系统介绍过背景知识(),在计算机辅助设计CAD和计算机辅助制造CAE领域,网格生成(Mesh Generation)具有根本的重要性。结构化六面体网格的自动生成问题,一直是这些领域最为挑战性的问题,被称为是神圣网格问题。近些年来,依随等几何分析(isogeometric analysis)方法的兴起,神圣网格问题的解决变得愈发迫切。大连理工大学的罗钟铉和雷娜教授团队和我们团队合作,共同提出了基于曲面叶状结构(foliation)理论的方法,来自动生成神圣网格【1】。这种方法理论严密,算法自动,六面体网格全局结构化,保证奇异点和奇异线的数目达到理论下界。其基本指导思想如下:给定一个实体(volume),如果存在一个结构化的六面体网格剖分,则在体表面诱导了一个结构化的四边形网格剖分,如果我们将四边形网格不停地细分,其极限是两个相互横截的叶状结构。因此我们需要首先计算叶状结构。曲面上的叶状结构和曲面上的全纯二次微分等价,问题归结为如何计算曲面上所有的全纯二次微分。

图3.曲面上的叶状结构(foliation),诱导了图2中的神圣网格。

在课堂上,计算机科学背景的学生们都觉得虽然叶状结构的概念非常直观,但是全纯二次微分(holomorphic quadratic differentials)的概念过于抽象。显然,当数学家们提出这一概念的时候,并没有等几何分析,或许他们也不知道神圣网格问题。那么问题自然就提出来了:数学家为什么要提出这个概念?这个概念是人为的还是自然的?这个概念为什么没有被历史所淘汰?

相对于工程应用,数学家们最为关心的是自然界的各种结构,和这些结构之间的内在关系。全纯二次微分概念的凝练和提出原本就是为了解释一些拓扑和几何结构。我们可以从三个不同的理论角度来阐释。

图4. 曲面的共形结构。

给定一张拓扑曲面,被开集族覆盖,每个开集被一个拓扑同胚映到复平面上的一个区域,则构成局部坐标卡(local parameter chart),所有的局部坐标卡构成曲面的一个图册(atlas)。如果两个局部坐标卡有交集,,则我们得到坐标变换(chart transition):

如果所有的坐标变换都是双全纯函数(biholomorphic),则图册是一个共形图册。最大的共形图册被称为是共形结构。拓扑曲面上所有的共形结构构成了一个黎曼流形,即所谓的泰希米勒空间(Teichmuller Space)。如果曲面的亏格为,则相应的泰希米勒空间为维。

考虑曲面的一个自同胚,假设同伦于恒同映射。将曲面的一个共形结构映射到另外一个共形结构。我们将映射限制在一个局部坐标卡上,假设局部坐标是,则映射的Beltrami微分具有形式:

映射和其Beltrami微分彼此相互决定。如果Beltrami微分恒为0,则映射为共形映射。

映射自然带来共形结构的畸变,如何从Beltrami微分和初始共形结构来估计畸变是一个基本问题。由于这个问题的非线性本质,我们无法给出全局的精确估计。但是,我们可以给出无穷小估计:考察单参数变换族,其对应的Beltrami微分为,则共形结构畸变的一阶导数可以计算出来。假设初始共形结构上全纯二次微分的基底为,

则共形结构畸变的导数由如下积分所决定:

如果所有的积分为0,则在无穷小意义下,映射保持共形结构不变。

Space)。它们之间的相互作用,决定了共形结构的形变(deformation)。

在计算机视觉领域,曲面间的映射一直是根本问题之一。迄今为止,在工程领域共形结构的形变理论还没有被探索开发,其本质困难在于对于理论的理解和掌握,以及精确高效的全纯二次微分计算方法。

图5. 曲面的双曲结构,及其诱导的复射影结构。

2.复射影结构之间的差异

给定一张拓扑曲面,配有共形结构,共形结构容许的黎曼度量(Riemannian Metric)具有形式:

根据单值化定理(Uniformization),存在唯一的共形结构容许的黎曼度量,其诱导常值高斯曲率。如果曲面亏格大于1,则高斯曲率恒为-1,度量被称为是双曲度量。我们可以将曲面的万有覆盖空间(universal covering space)等距地嵌入到双曲平面之上,如图5所示。这里,我们用庞家莱圆盘(Poincare's Disk)来表示双曲平面,

庞家莱圆盘上的所有双曲等距变换都是所谓的默比乌斯变换(Mobius Transformation),具有形式:

一般的默比乌斯变换是定义在复射影空间上的,,

这样,万有覆盖空间的覆盖变换群(covering transformation group)成为默比乌斯变换的子群。由此,我们可以构造曲面的一个图册,使得所有的坐标变换都是默比乌斯变换。这样的图册被称为是复射影图册(Complex Projective Atlas),最大的复射影图册被称为是复射影结构(Complex Projective Structure)。

根据定义,我们看到复射影图册必为共形图册,因此复射影结构必为共形结构。不同的复射影结构有可能对应同样的共形结构。假设和是两个复射影结构,对应同样的共形结构,是它们之间的共形映射。我们选取局部共形参数,映射具有局部表示:,为双全纯映射。直观而言,Schwartz导数衡量了全纯函数和默比乌斯变换之间的差距。的Schwartz导数(Schwartzian Derivative)定义为:

可以证明,如果映射为双全纯,则其对应的Schwartz导数为全局定义的全纯二次微分;如果映射为默比乌斯变换,则其对应的Schwartz导数恒为0。因此,全纯二次微分参数化了给定共形结构上的所有复射影结构复射影结构的模空间为维。

迄今为止,在工程领域,没有构造曲面上所有复射影结构的算法。这一优美的几何结构在计算机辅助设计领域必然会有重要应用。

图6. 曲面的Pseduo-Anosov 自同胚,流体模式收敛到不变叶状结构。

3.三维流形的双曲结构

曲面单值化定理(surface uniformization)断言,共形结构所容许的黎曼度量中存在一个常值曲率度量。如果曲面的欧拉示性数为正,零或负,则对应的度量为球面、欧式和双曲度量。这意味着带有共形结构的曲面可以配备三种标准几何。瑟斯顿(William Thurston)将这一定理推广至三维流形,断言三维流形具有8种标准几何。判定给定三维流形的标准几何成为低维拓扑的中心问题。

瑟斯顿的常用手法如下:给定一个封闭的三维流形,我们在其内部选择一张高亏格曲面,将三维流形沿着这张曲面切割开来,得到一个拓扑相对简单的三维流形。切割后流形的边界包含曲面的两个拷贝,,则存在曲面的自同胚,给出了边界的粘合方式。原始流形的拓扑取决于的拓扑和粘合方式。例如,我们构造曲面和单位区间的直积,然后用来粘合边界曲面和,得到封闭三维流形:

Nielsen-Thurston的曲面映射分类定理将曲面自同胚分成三类:

  1. 周期映射,存在自然数,和曲面的恒同自映射同伦;

  2. Pseudo-Anosov,存在两个横截的可测叶状结构,,映射保持叶状结构不变,,这意味着映射将纤维映到纤维,奇异点映到奇异点;同时测度线性变化,

  3. Reducible,曲面上存在简单闭曲线, 映射将这些曲线重新排列;将曲面分割,映射限制在每个联通分支上都是Pseduo-Anosov。

图7. 带边界的双曲三维流形。

如上构造的三维流形,如果映射是Pseduo-Anosov的,则三流形为双曲的,即我们可以为之配备一个双曲度量。

目前,在工程领域,没有成熟算法来判定一个自同胚的类别,更没有算法来计算Pseduo-Anosov映射的不变叶状结构。

几何结构的形变、复射影结构的构造、低维拓扑问题的判定都具有根本的重要性,但是目前这些理论只停留在纯粹数学领域,依然未对人们的日常生活产生任何影响。其中关键的困难在于缺乏精确有效的手段来计算全纯二次微分(亦即曲面的叶状结构)。

长期以来,我们一直力图寻找切实可行的计算方法,尝试了五六种不同的理论,例如Strebel的变分理论,离散Square Tiling理论等。最早的突破来自于全纯一形式(holomorphic 1-form)的乘积方法。我们首先用Hodge理论计算曲面上全纯一形式的基底,然后计算基底间的乘积得到全纯二次微分。但是,这种方法无法保证所得的叶状结构是有限的(即每根纤维可能不是有限的封闭曲线,而是无穷长的螺旋线)。

后来,我们采用了Schoen-Gromov的广义调和映照理论。Richard Schoen是丘成桐先生的弟子,他将丘先生的调和映照理论从光滑流形推广到一般的度量空间。我们以前简介过调和映照的基础理论

全纯二次微分和叶状结构的理论历史发展如下:Hubbard-Masur (【7】1979)证明了全纯二次微分和叶状结构的等价性;Jenkin(【3】1957)和Strebel (【4】1984)证明了满足特定组合、几何条件的全纯二次微分的存在性;Wolf(【5】1996)证明了全纯二次微分可以由广义调和映照得到;Schone-Gromove (【6】1992)证明了广义调和映照的存在性和唯一性。

我们的算法步骤大致如下:

第一步:如图8所示,程序自动、或者用户指定3g-3条彼此分离的简单闭曲线,我们称之为可容许曲线系统。这些曲线将曲面分解成2g-2条“裤子”,每条裤子是一个亏格为0的曲面,带有三条边界。

第二步:如图9所示,我们构造所谓的裤子分解图。每一条裤子抽象成中的一个顶点,每条可容许曲线对应中的一条边。如果两条裤子以一条曲线为界,则在中对应的顶点被对应的边链接。然后,我们为中每条边附上一个正数,代表边的长度。那么成为一个带度量的图,一个距离空间。

第三步:如图10所示,我们构造从曲面到带度量的图的调和映射,,对应图上的任意一点,其原像是曲面上的一条纤维,顶点的原像是奇异纤维,由此我们得到叶状结构。图上的度量给出了叶状结构的测度,调和映射的Hopf微分即为可测叶状结构对应的全纯二次微分。

第四步:如图11所示,我们将曲面沿着奇异纤维切开,得到3g-3个圆柱面。圆柱面上的纤维可以看成是调和1-形式,我们计算其共轭的调和1-形式,构造全纯1-形式。全纯1-形式的平方给出了全局定义的全纯二次微分,如图12所示。

图13. 结构化六面体网格。【2】

最后,我们由曲面的叶状结构得到表面四边形网格化,再将表面的四边形网格化向内部拓展,生成结构化六面体网格,如图13所示。这里需要用到实体参数化的技术。但是,虽然在图形学领域有一些体参数化的工作,迄今为止,并没有理论上严格保证所得映射为同胚的方法。现存的方法都依赖于一些不现实的前提条件。我们将会在下一讲给出理论严密的算法。

通过这次历史回顾,我们看到全纯二次微分理论发展的艰辛和漫长,同时体会到这一自然结构在低维拓扑、Teichmuller空间理论和复射影结构理论中的关键作用。我们刚刚找到切实可行的计算全纯二次微分的方法,这使得计算共形结构的形变、Pseduo-Anosov映射的不变foliation、构造复射影结构成为可能。这些问题非常基本,而又具有挑战性。虽然对于工程应用而言过于超前,但是它们是自然界的一部分,因而具有恒久价值。我们相信,这些深刻而优美的理论结果,迟早会应用于现实生活;我们期待更多的年轻学子,能够超脱生活的苟且,为解决这些基本问题而投奔远方。

历史上,具有革命性的技术就像强有力的引擎一样,声势浩荡地推动社会经济的发展;但是这些规模宏大的引擎都是被小小的火花塞所启动,那些微弱而又顽强的火花是人类永恒的好奇心 ......

来源:公众号|老顾谈几何

文章转载自网络,版权归原作者所有

对以下标题内容感兴趣的可点击阅读

关注“技术邻CAE学院“,发送相应关键词,可获得;如发送“ansys”

}

我要回帖

更多关于 网格搜索参数优化 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信