CN115330979A - 表情迁移的方法、装置、电子设备及存储介质 - Google Patents
表情迁移的方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115330979A CN115330979A CN202210977218.7A CN202210977218A CN115330979A CN 115330979 A CN115330979 A CN 115330979A CN 202210977218 A CN202210977218 A CN 202210977218A CN 115330979 A CN115330979 A CN 115330979A
- Authority
- CN
- China
- Prior art keywords
- expression
- model
- anchor point
- role
- neutral face
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000014509 gene expression Effects 0.000 title claims abstract description 276
- 238000000034 method Methods 0.000 title claims abstract description 112
- 238000013508 migration Methods 0.000 title claims abstract description 75
- 230000005012 migration Effects 0.000 title claims abstract description 75
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 230000007935 neutral effect Effects 0.000 claims abstract description 119
- 238000004590 computer program Methods 0.000 claims description 20
- 238000006073 displacement reaction Methods 0.000 claims description 20
- 230000009466 transformation Effects 0.000 claims description 17
- 239000011159 matrix material Substances 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000005457 optimization Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 3
- 210000000624 ear auricle Anatomy 0.000 claims description 3
- 238000013473 artificial intelligence Methods 0.000 abstract description 17
- 238000004422 calculation algorithm Methods 0.000 abstract description 12
- 238000005516 engineering process Methods 0.000 description 26
- 230000008569 process Effects 0.000 description 23
- 238000012545 processing Methods 0.000 description 15
- 241000282414 Homo sapiens Species 0.000 description 14
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 239000013598 vector Substances 0.000 description 12
- 230000008921 facial expression Effects 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000009795 derivation Methods 0.000 description 4
- 210000000887 face Anatomy 0.000 description 4
- 239000000203 mixture Substances 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 210000001202 rhombencephalon Anatomy 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 210000000744 eyelid Anatomy 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000001976 improved effect Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000000452 restraining effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G06T3/18—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2004—Aligning objects, relative positioning of parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2021—Shape modification
Abstract
本申请提供一种表情迁移的方法、装置、设备以及存储介质,涉及人工智能的计算机视觉领域。本申请通过对原角色和目标角色进行拓扑对齐,得到目标角色的拓扑对齐的第一网格模型和第二网格模型;在该第一网格模型和第二网格模型中确定互为最邻近关系的点对;确定原角色的第一中立脸模型变形迁移到所述第一表情的第一锚定点;根据该互为最邻近关系的点对和第一锚定点,获取目标角色的第二中立脸模型变形迁移到第二表情的第二锚定点;将该第一锚定点和第二锚定点作为约束,利用表情迁移算法确定第二表情的顶点坐标。本申请能够实现不同拓扑的角色之间进行表情迁移时以中立脸为基准对变形区域进行调整,保证迁移后的表情模型整体保持相对位置的稳定。
Description
技术领域
本申请涉及人工智能的计算机视觉领域,并且更具体地,涉及表情迁移的方法、装置、设备以及存储介质。
背景技术
混合形状(Blendshape,BS)人脸表情模型是可用于描述人脸部模型变形的技术,方便艺术家、动画师们直观的对脸部形态进行直接的控制,在电影、动画、三维数字人和游戏制作等很多领域都有应用。一般的影视动画、游戏和三维数字人制作,可能存在多个角色,但基本表情的定义可以复用。变形迁移(deformationtransfer,Detrans)技术主要用于将原角色的表情基BS相对中立脸的网格变形快速的迁移到目标角色的中立脸上,得到目标角色的近似形变的表情基BS。
相关技术中,在得到原角色网格与目标角色网格之间的三角形面片对应关系后,通过计算原角色表情基BS与中立脸的顶点位移来确定锚定点,进而在利用三角形面片对形变迁移最小化原则确定目标角色的表情基BS的顶点坐标时,加入该锚定点约束,以减小迁移后的表情基BS产生偏移。但是,该方案默认是在原角色和目标角色为同一套拓扑进行表情迁移的,此时原角色与目标角色的面面对应关系是直接对应的。该方案并不能满足不同拓扑角色之间的表情迁移需求,使用场景比较受限。
发明内容
本申请实施例提供了一种表情迁移的方法、装置、设备以及存储介质,能够实现不同拓扑的角色之间进行表情迁移时以中立脸为基准对变形区域进行调整,保证迁移后的表情模型整体保持相对位置的稳定。
第一方面,提供了一种表情迁移的方法,包括:
获取原角色的第一中立脸模型和所述第一中立脸模型对应的第一表情,以及目标角色的第二中立脸模型;其中,所述原角色为第一拓扑结构,所述目标角色为第二拓扑结构;
对所述原角色和所述目标角色进行拓扑对齐,得到所述目标角色的拓扑对齐的第一网格模型和第二网格模型,其中,所述第一网格模型为所述第一拓扑结构,所述第二网格模型为所述第二拓扑结构;
在所述第一网格模型和所述第二网格模型中确定互为最邻近关系的点对;
根据所述第一中立脸模型与所述第一表情之间的顶点位移,确定所述第一中立脸模型变形迁移到所述第一表情的第一锚定点;
从所述互为最邻近关系的点对中,获取所述第一锚定点对应的最邻近关系的点,作为所述第二中立脸模型变形迁移到第二表情的第二锚定点;
将所述第一锚定点和所述第二锚定点作为约束条件,利用所述第一网格模型和所述第二网格模型的三角形面片对形变迁移最小化原则,确定所述第二表情的顶点坐标。
第二方面,提供了一种表情迁移的装置,包括:
获取单元,用于获取原角色的第一中立脸模型和所述第一中立脸模型对应的第一表情,以及目标角色的第二中立脸模型;其中,所述原角色为第一拓扑结构,所述目标角色为第二拓扑结构;
对齐单元,用于对所述原角色和所述目标角色进行拓扑对齐,得到所述目标角色的拓扑对齐的第一网格模型和第二网格模型,其中,所述第一网格模型为所述第一拓扑结构,所述第二网格模型为所述第二拓扑结构;
确定单元,用于在所述第一网格模型和所述第二网格模型中确定互为最邻近关系的点对;
所述确定单元还用于根据所述第一中立脸模型与所述第一表情之间的顶点位移,确定所述第一中立脸模型变形迁移到所述第一表情的第一锚定点;
所述确定单元还用于从所述互为最邻近关系的点对中,获取所述第一锚定点对应的最邻近关系的点,作为所述第二中立脸模型变形迁移到第二表情的第二锚定点;
优化单元,用于将所述第一锚定点和所述第二锚定点作为约束条件,利用所述第一网格模型和所述第二网格模型的三角形面片对形变迁移最小化原则,确定所述第二表情的顶点坐标。
第三方面,本申请提供了一种电子设备,包括:
处理器,适于实现计算机指令;以及,
存储器,存储有计算机指令,计算机指令适于由处理器加载并执行上述第一方面的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,该计算机指令被计算机设备的处理器读取并执行时,使得计算机设备执行上述第一方面的方法。
第五方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面的方法。
基于以上技术方案,本申请实施例能够实现在不同拓扑的角色之间的表情迁移算法中加入原角色和目标角色的锚定点约束,从而有利于在迁移后的表情以中立脸为基准对变形区域进行调整,而不会出现迁移后的表情相对中立脸的整体坐标的偏移,保证迁移后的表情模型整体保持相对位置的稳定。
附图说明
图1为本申请实施例涉及的一种应用场景示意图;
图2为根据本申请实施例的一种表情迁移的方法的示意性流程图;
图3为根据本申请实施例的另一种表情迁移的方法的示意性流程图;
图4为根据本申请实施例的另一种表情迁移的方法的示意性流程图;
图5为根据本申请实施例的另一种表情迁移的方法的示意性流程图;
图6为迁移后的目标角色的表情和中立脸叠加的效果的示意图;
图7是本申请实施例提供的表情迁移的装置的示意性框图;
图8是本申请实施例提供的电子设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应理解,在本申请实施例中,“与A对应的B”表示B与A相关联。在一种实现方式中,可以根据A确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
在本申请的描述中,除非另有说明,“至少一个”是指一个或多个,“多个”是指两个或多于两个。另外,“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
还应理解,本申请实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。
还应理解,说明书中与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请提供的方案可涉及人工智能技术。
其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
应理解,人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本申请实施例可涉及人工智能技术中的计算机视觉(Computer Vision,CV)技术,计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、监测和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
本申请实施例也可以涉及人工智能技术中的机器学习(Machine Learning,ML),ML是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
本申请实施例提供的方案还涉及网络媒体领域中的视频处理技术。网络媒体与传统的音视频设备采用的工作方式不同,网络媒体依赖信息技术(IT)设备开发商们提供的技术和设备来传输、存储和处理音视频信号。传统的串型数字(SDI)传输方式缺乏真正意义上的网络交换特性。需要做大量的工作才可能利用SDI创建类似以太网和因特网协议(IP)所提供的部分网络功能。因此,视频行业中的网络媒体技术就应运而生。进一步的,网络媒体的视频处理技术可以包括音视频信号的传输、存储和处理过程及音视频。
为便于理解本申请提供的技术方案,下面对与人脸表情迁移的相关内容进行说明。
人脸表情迁移:指将原角色的表情相对中立脸的网格变形的迁移到目标角色的中立脸上,从而得到目标角色的近似形变的表情的过程。应当理解,本申请实施例中涉及的中立脸模型和中立脸模型对应的表情基BS均为3D人脸模型。
三维可变形人脸模型(3D Morphable models,3DMM):3DMM为一个通用的三维人脸参数化模型,用固定的点数来表示人脸。3DMM的核心思想是将人脸可以在三维空间中进行一一匹配并对数据库中的多幅人脸进行正交基加权线性相加得到人脸模型。
每一个三维的人脸,可以由一个数据库中的所有人脸组成的基向量空间中进行表示,而求解任意三维人脸的模型,实际上等价于求解各个基向量的系数的问题。
人脸的基本属性包括形状和纹理,每一张人脸可以表示为形状向量和纹理向量的线性叠加。
形状向量Shape Vector:S=(X1,Y1,Z1,X2,Y2,Z2,...,Yn,Zn),
纹理向量Texture Vector:T=(R1,G1,B1,R2,G2,B2,...,Rn,Bn),
其中,n为数据集中人脸样本的数量,Xi,Yi,Zi为第i个人脸样本的形状向量在数据集中的坐标,Ri,Gi,Bi为第i个人脸样本的纹理向量在数据集中的坐标。
任意的人脸模型可以由数据集中的m个人脸模型进行加权组合如下:
其中,Smodel为三维人脸形状模型,ai为人脸形状参数的目标值,i=1…m,m为数据集中人脸样本的数量,Si为数据集中第i个人脸样本的形状向量,S为数据集中所有人脸样本的形状向量的均值,Tmodel为三维人脸纹理模型,bi为人脸纹理参数的目标值,Ti为数据集中第i个人脸样本的纹理向量,T为数据集中所有人脸样本的纹理向量的均值。
约束:指给定一个函数的情况下寻找一个元素,该一个元素能够使得某一指标最小化或最大化。约束还可以称为数学规划(例如线性规划)。其中,该函数可被称为目标函数或者代价函数。一个最小化或者最大化某一指标的目标函数的可行解被称为最优解。结合本申请来说,本申请涉及的表情迁移算法可以用于:在构建的多个约束下求解出最优解,并将求解出的最优解作为目标角色的与原角色表情变形相对应的表情的顶点坐标。
混合形状(Blend shape,BS):一种单个网格变形以实现许多预定义形状和任何数量之间组合的技术,在Maya/3ds Max中称为变形目标。例如单个网格可以是默认形状的基本形状,例如无表情的人脸,即本申请涉及的中立脸模型。基本形状的其他形状用于混合/变形,是不同的表达(笑、皱眉、闭合眼皮),这些其他形状被统称为混合形状或变形目标,即本申请涉及的中立脸模型对应的一套基本表情BS,也可以称为表情基BS。
拓扑:指的是多边形网络模型的点线面布局、结构以及连接情况。在表情迁移算法中,原角色与目标角色的拓扑不相同,即源角色的拓扑结构和目标角色的拓扑结构的顶点数量不同,或顶点之间的连接边面组成不一致。反之,如果源角色的拓扑结构和目标角色的拓扑结构具有相同的顶点数量,且顶点之间的连接边面组成是一致的,则原角色与目标角色的拓扑相同。
图1为本申请实施例涉及的一种应用场景示意图。
如图1所示,包括计算设备101和显示设备102。计算设备101用于利用本申请实施例提供的表情迁移的方法,将原角色的第一表情相对其中立脸的网格变形迁移到目标角色的中立脸上,得到目标角色的近似形变的第二表情。显示设备102用于显示计算设备101获取的目标角色的第二表情。
示例性地,计算设备101可以是用户设备,例如手机、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)或其他具有安装浏览器功能的终端设备。
示例性地,计算设备101可以为服务器。服务器可以是一台或多台。服务器是多台时,存在至少两台服务器用于提供不同的服务,和/或,存在至少两台服务器用于提供相同的服务,比如以负载均衡方式提供同一种服务,本申请实施例对此不加以限定。
其中,上述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器也可以成为区块链的节点。
示例性地,计算设备101具有显示功能时,显示设备102可以为计算设备101中的显示器。
示例性地,显示设备102与计算设备101为不同的设备,显示设备102通过网络与计算设备101连接。所述网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,GSM)、宽带码分多址(Wideband CodeDivision Multiple Access,WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi、通话网络等无线或有线网络。
需要说明的是,本申请的应用场景包括但不限于电影、动画、三维数字人和游戏制作等领域中人物表情的迁移。例如,本申请提供的方案可适用于3D虚拟人的表情制作,可将基本表情的定义在多个角色之间复用,避免每个角色都在三维软件中手工制作同一套基本表情,降低美术人员的工作量。
相关技术中,当有原角色的一个中立脸模型和N个表情基BS,目标角色的一个中立脸模型时,需要将原角色的表情基BS相对于原角色的中立脸模型的变形迁移到目标角色的中立脸模型上,得到目标角色的一套与原角色表情基BS变形相对应的表情基BS。示例性的,原角色的拓扑结构为拓扑1,目标角色的拓扑结构为拓扑2。
一种Detrans的原始方法,可以通过以下三步得到目标角色的与原角色表情基BS变形相对应的表情基BS:
第一步,通过corrstool工具载入原角色和目标角色的中立脸模型文件,然后在交互界面选择两个角色模型的对应点对,点对选取需要保持一致的语义信息(比如左眼角对左眼角)。选取多对点对,点对的数量不可控,输出对应点文件。
第二步,以对应点作为约束,通过最小二乘迭代求解,将原角色网格变形到目标角色网格,再计算目标变形网格与目标角色网格三角形质心的误差距离,得到三角形面片对应关系。
第三步,以三角面片对应文件中的三角形面片对为单元列方程组,以目标角色表情基BS的三角面片顶点为待求解参数,计算所有三角形面片对变形前后的误差最小,使用最小二乘在梯度空间下求解。
该原始方法在处理不同拓扑角色的表情基BS的迁移过程中,需要人工选择的对应点数量比较主观,容易造成目标角色表情基BS的迁移结果的不稳定,造成返工。其次,该方法没有锚定点约束,可能造成同一套表情基BS进行迁移时,由于解算时与平移参数无关,导致迁移后的表情基BS相对中立脸整体产生偏移,影响后续的应用。
一种Detrans的改进方法,在默认对同一套拓扑的原角色和目标角色进行表情基BS迁移的前提下,原角色和目标角色的面面对应关系是直接对应上的,因此只需要执行上述第三步即可求解目标角色表情基BS的三角面片顶点坐标。另外,该方法通过计算原角色表情基BS与中立脸的顶点位移来确定锚定点,进而加入锚定点约束进行最小二乘求解。该改进方法通过加入锚定点约束,在表情基BS迁移时考虑到偏移变量的约束,避免迁移后整体坐标出现偏移。但是,该方法仅考虑如何在相同拓扑的角色之间进行表情迁移,不能满足不同拓扑角色之间的表情迁移需求,使用场景比较受限。
有鉴于此,本申请实施例提供了一种表情迁移的方法、装置、设备以及存储介质,能够实现不同拓扑的角色之间进行表情迁移时以中立脸为基准对变形区域进行调整,保证迁移后的表情模型整体保持相对位置的稳定。
具体的,在该表情迁移的方法中,首先对原角色和目标角色进行拓扑对齐,得到该目标角色的拓扑对齐的第一网格模型和第二网格模型,进一步可以在该第一网格模型和第二网格模型中确定互为最邻近关系的点对,然后可以根据原角色的第一中立脸模型与该第一中立脸型对应的第一表情之间的顶点位移,确定该第一中立脸型变形迁移到该第一标签的第一锚定点,以及从上述互为最邻近关系的点对中,获取该第一锚定点对应的最邻近关系的点,作为目标角色的第二中立脸模型变形迁移到第二表情的第二锚定点,最后将该第一锚定点和第二锚定点作为约束条件,利用第一网格模型和第二网格模型的三角形面片对变形迁移最小化原则,确定第二表情的顶点坐标。
通过上述技术方案,能够实现在不同拓扑的角色之间的表情迁移算法中加入原角色和目标角色的锚定点约束,从而有利于在迁移后的表情以中立脸为基准对变形区域进行调整,而不会出现迁移后的表情相对中立脸的整体坐标的偏移,保证迁移后的表情模型整体保持相对位置的稳定。
下面结合附图,对本申请实施例提供的技术方案进行描述。
图2示出了根据本申请实施例的表情迁移的方法200的示意性流程图,该表情迁移的方法200可以由任何具有数据处理能力的电子设备执行,例如,该电子设备可实施为服务器,又例如,该电子设备可实施为图1中的计算设备101,本申请对此不做限定。
如图2所示,该表情迁移的方法200可包括步骤210至260。
210,获取原角色的第一中立脸模型和该第一中立脸模型对应的第一表情,以及目标角色的第二中立脸模型;其中,该原角色为第一拓扑结构,该目标角色为第二拓扑结构。
本申请实施例的目标是根据已有的原角色(拓扑1)的第一中立脸模型和第一表情,以及目标角色(拓扑2)的第二中立脸模型,将原角色的该第一表情迁移到目标角色上,得到目标角色的与原角色的该第一表情相对应的第二表情,进而根据该第二表情对目标角色进行表情驱动。
其中,原角色的第一中立脸模型可以为原角色的默认形状的基本形状,比如无表情的原角色人脸,目标角色的第二中立脸模型可以为目标角色的默认形状的基本形状,比如无表情的目标角色人脸。
在一些实施例中,第一表情可以包括原角色的表情基BS,或包括根据对原角色的至少两个表情基BS进行线性加权组合得到的表情。其中,原角色的第一表情与第一中立脸模型,以及该第一中立脸模型对应的表情基BS具有与原角色相同的拓扑结构。
示例性的,可以在三维数字人制作过程中,基于Blendshape方法制作一套脸部基本表情Bi(i=1,2,…,N),也叫标准表情基BS。这些表情模型具有相同的拓扑结构。不同的表情(Bi)可以看做是基于中立脸(B0)的网格进行变形处理后得到的。另外,其他复杂的表情B均可以通过这一套基本表情Bi进行线性加权组合得到,参见公式(1):
在一些示例中,第一表情可以为根据原角色的中立脸B0进行变形处理得到的表情Bi,或者对基本表情Bi进行线性加权组合得到的表情B,不做限定。
在一些实施例中,还可以获取原角色的第一张嘴模型和目标角色的第二张嘴模型。由于通常基本表情模型会包含至少一种张嘴的状态,因此,原角色的第一张嘴模型可以从原角色的基本表情模型中获取。当目标角色不存在基本表情模型时,可以由美术单独制作该目标角色的第二张嘴模型。
220,对原角色和目标角色进行拓扑对齐,得到目标角色的拓扑对齐的第一网格模型和第二网格模型,其中,该第一网格模型为上述第一拓扑结构,第二网格模型为上述第二拓扑结构。
在一些实施例中,作为对原角色和目标角色进行拓扑对齐的一种实现方式,可以对原角色的第一表情模型和目标角色的第二表情模型进行拓扑对齐,以得到目标角色的拓扑对齐的第一网格模型和第二网格模型。其中,第一表情模型与原角色的拓扑相同,为第一拓扑结构,第二表情模型与目标角色的拓扑相同,为第二拓扑结构。
作为一种实现方式,第一表情模型可以为原角色的第一张嘴模型,第二表情模型可以为目标角色的第二张嘴模型。由于张嘴模型既包含外部嘴唇线轮廓关键点,同时还包括内部嘴唇线轮廓关键点,通过对原角色和目标角色的内外唇形进行准确对齐,因此能够更准确的实现对原角色和目标角色的拓扑对齐,能够有助于使得口型驱动相关的口型表情基BS迁移的结果更为准确,从而使得目标角色的口型驱动更加准确。
作为另一种实现方式,第一表情模型还可以为原角色的第一中立脸模型,第二表情模型可以为目标角色的第二中立脸模型。例如,可以在不方便提供目标角色的张嘴模型的情况下,用原角色的第一中立脸模型以及目标角色的第二中立脸模型实现对原角色和目标角色的拓扑对齐。
在一些实施例中,参见图3,可以通过步骤221至224对原角色和目标角色进行拓扑对齐,得到所述目标角色的拓扑对齐的第一网格模型和第二网格模型。
221,在原角色的第一表情模型和目标角色的第二表情模型上分别选择相同语义位置的第一对应点,并根据该第一对应点对第一表情模型和第二表情模型进行刚性变换。
具体的,刚性变换能够将第一表情模型和第二表情模型大致调整到差不多对齐的位置,有助于更方便的进行进一步的顶点调整,同时也能够向最终的对齐求解过程给出较好的初始值。
示例性的,可以在拓扑对齐软件(比如wrap3.4)中导入第一表情模型和第二表情模型,比如第一张嘴模型和第二张嘴模型。之后,可以在该两个表情模型上分别点选相同语义位置(比如鼻尖、眼角、嘴角和耳垂等中的至少一种)上的第一对应点,使用该第一对应点对第一表情模型和第二表情模型进行刚性变换。可选的,第一对应点可以为少量的对应点。
222,在刚性变换后的第一表情模型和第二表情模型中增加选择嘴唇线区域的第二对应点。
示例性的,当第一表情模型为第一张嘴模型,第二表情模型为第二张嘴模型时,可以在外部嘴唇线轮廓关键点以及内部嘴唇线轮廓关键点中增加选择第二对应点。
可选的,由于刚性变换可能对第一表情模型和第二表情模型中的第一对应点的位置产生影响,因此在刚性变换后的第一表情模型和第二表情模型中,还可以对之前选择的第一对应点进行适当调整,使得第一对应点能够准确的对应。
223,根据上述第一对应点和第二对应点,对刚性变换后的第一表情模型和第二表情模型进行非刚性迭代最近点计算,得到拓扑对齐的第一表情模型和第二表情模型。
应理解,非刚性迭代最近点(Non-rigid Iterative Closest Point,NICP)算法基于迭代最近点(Iterative Closest Point,ICP)算法,在寻求第一表情模型和第二表情模型对应点之间的匹配关系时,允许第一表情模型点集内发生非刚性形变。
224,将拓扑对齐的第一表情模型作为目标角色的第一网格模型,将拓扑对齐的第二表情模型作为目标角色的第二网格模型。
其中,该拓扑对齐的第一表情模型和第二表情模型为同一角色下的几何结构紧密贴合的两个不同拓扑的网格模型。其中,第一表情模型为原角色的拓扑结构,即第一拓扑结构,第二表情模型为目标角色的拓扑结构,即第二拓扑结构。这里,假设以目标角色作为参考,可以将拓扑对齐的第一表情模型作为目标角色的第一网格模型,将拓扑对齐的第二表情模型作为目标角色的第二网格模型,从而得到目标角色的两个拓扑对齐的网格模型。
230,在上述第一网格模型和第二网格模型中确定互为最邻近关系的点对。
这里,第一网格模型和第二网格模型中互为最邻近关系的点对,可以认为是原角色与目标角色的拓扑之间的对应顶点(即顶点对应关系),也可以被称为原角色与目标角色的顶点邻近关系。
在一些实施例中,参见图4,可以通过步骤231至233在第一网格模型和第二网格模型中确定互为最邻近关系的点对。
231,获取第一网格模型中的点在第二网格模型中的第一最邻近点。
具体的,可以遍历第一网格模型中的所有点,对其中的每个点在三维空间内查找其在第二网格模型中的最邻近点。示例性的,可以通过K邻近算法(k-nearest neighborsalgorithm,KNN)来查找最邻近点。
232,通过反向查找,获取第二网格模型中的点在第一网格模型中的第二最邻近点。
具体的,获取第二网格模型中的所有点在第一网格模型中的第二最邻近点的过程,与获取在第一网格模型中的所有点在第二网格模型中的第一最邻近点的过程类似,可以参见上文中的描述,这里不再赘述。
233,根据上述第一最邻近点和第二最邻近点,确定互为最邻近关系的点对。
具体的,可以对上述第一最邻近点和第二最邻近点进行合并,保留其中的互为最邻近关系的点对。
240,根据第一中立脸模型与第一表情之间的顶点位移,确定该第一中立脸模型变形迁移到第一表情的第一锚定点。
在一些实施例中,可以将第一中立脸模型中的与第一表情之间的顶点位移小于预设值的顶点,作为该第一锚定点。可以理解的是,该第一锚定点在第一中立脸模型形变到第一表情的过程中,其顶点位移小于预设值,即可以认为在该过程中该第一锚定点的位置变化很小,甚至没有变化,因此该第一锚定点还可以被称为原角色的锚定点。
作为一个示例,第一中立脸模型中第一顶点与所述第一表情中与该第一顶点对应的第二顶点之间的顶点位移可以根据以下公式(2)确定:
其中,第一顶点的坐标为(x0,y0,z0),第二顶点的坐标为(xi,yi,zi),d表示该第一顶点与第二顶点之间的距离。
在一些实施例中,第一锚定点包括第一中立脸模型的后脑勺区域的顶点。具体而言,由于一般人类模型后脑勺区域的顶点不随人脸表情的变形迁移而显著移动,因此通常认为后脑勺区域的顶点是锚定点的最佳候选顶点。
250,从上述互为最邻近关系的点对中,获取第一锚定点对应的最邻近关系的点,作为第二中立脸模型变形迁移到第二表情的第二锚定点。
具体的,在获取第一锚定点后,可以根据第一网格模型和第二网格模型中互为最邻近关系的点对,获取第一锚定点对应的最邻近关系的点,该点即为即原角色的锚定点对应的目标角色的锚定点,即第二中立脸模型变形迁移到第二表情的第二锚定点。
可以理解的是,作为与原角色的锚定点对应的目标角色的锚定点,其在目标角色的第二中立脸型形变到第二表情的过程中位置变化也很小,甚至没有变化。
作为一种实现方式,可以根据步骤230中得到的第一网格模型和第二网格模型的互为最邻近关系的点对,以及步骤240中得到的第一锚定点的顶点索引的交集,进而从该交集中找到第二锚定点的顶点索引,作为目标角色的第二中立脸模型迁移到第二表情时的锚定点。
因此,本申请实施例通过引入原角色和目标角色的拓扑对齐后的顶点邻近关系作为先验,依据该顶点邻近关系将原角色拓扑中查找到的第一锚定点复用到目标角色的拓扑中快速自动定位第二锚定点,从而无需借助人脸模型语义信息即可获取目标角色的第二中立脸型迁移到第二表情时的锚定点。
260,将第一锚定点和第二锚定点作为约束条件,利用第一网格模型和第二网格模型的三角形面片对形变迁移最小化原则,确定该第二表情的顶点坐标。
具体的,获取第一网格模型中的每个三角面片对应在第二网格模型中的三角面片,组成三角形对应集合。然后遍历该三角形对应集合,对每个三角形面片对根据变形迁移最小化原则,并加入第一锚定点和第二锚定点作为约束条件,利用最小二乘法求解第二表情的顶点坐标。
作为一种实现方式,可以对拓扑对齐的第一网格模型和第二网格模型,以两套拓扑的网格模型的三角形面片之间的质心距离和三角面片法相偏差作为阈值判断条件,获取第一拓扑结构的第一网格模型中每个三角面片对应到第二拓扑结构的第二网格模型的三角面片,组成三角形对应集合。
在一些实施例中,参见图5,可以通过步骤261至263,利用第一网格模型和第二网格模型的三角形面片对形变迁移最小化原则,确定该第二表情的顶点坐标。
261,根据第一锚定点三角形变前后的顶点坐标计算出的变形梯度等于第二锚定点变形梯度和第一权重,确定第一约束条件。
作为一个示例,第一约束条件可以表示为如下公式(3):
其中,是待求的迁移后的第二表情的顶点坐标,是目标角色的第二锚定点变形梯度展开后的形式,Ac为对应的第二锚定点变形梯度矩阵,Fc是根据原角色的第一锚定点的三角形变形前后的顶点坐标计算的变形梯度,α表示第一权重,能够避免求解第二表情的顶点坐标的过程调整锚定点的三维坐标。作为示例,当第一权重α设置较大时,在求解第二表情的顶点坐标的过程中对第二锚定点的三维坐标的调整越小。作为一个具体的例子,第一权重α可以取值
应理解,上述公式(3)能够有助于使得目标角色的锚定点在中立脸模型在变形后(即第二表情)的顶点位置和其原来在中立脸的位置保持一致。同时,在整体求解的过程中在公式(3)中的方程两边加入第一权重α进行联合求解,等同于在求解的过程中,对这些锚定点做了约束。
262,根据所述原角色的三角形变前后的顶点坐标计算出的变形梯度等于所述目标角色变形梯度,确定第二约束条件。第二约束条件也可以称为自由点的方程组。
作为一个示例,第二约束条件可以表示为如下公式(4):
在一些实施例中,在确定上述第二约束条件之前,还可以根据上述第一锚定点和第二锚定点,确定转换矩阵,然后根据该转换矩阵,对原角色的在该原角色的坐标系下的顶点坐标进行转换,得到该原角色在目标角色的坐标系下的顶点坐标。在得到原角色在目标角色的坐标系下的顶点坐标后,可以根据该原角色的在目标角色的坐标系下的三角形变前后的顶点坐标计算出的变形梯度(即F)等于目标角色的变形梯度(即),确定上述第二约束条件。
具体而言,当根据原角色的拓扑对应的第一网格模型变形前后的顶点坐标计算出的变形梯度F时,如果该第一网格模型和目标角色的拓扑对应的第二网格模型的坐标如果旋转偏差太大,那么将原角色的第一表情变形迁移到目标角色得到的第二表情的偏差比较大。为了避免这种情况发生,可以根据得到的第一锚定点和第二锚定点组成的公共点对,进行奇异值分解(Singular Value Decomposition,SVD)得到转换矩阵,该转换矩阵表征了第一网格模型和第二网格模型之间的旋转平移量,并根据该转换矩阵对第一网格模型(即原角色的在该原角色的坐标系下)的顶点坐标进行转换,将第一网格模型的顶点坐标对齐到第二网格模型(即目标角色的坐标系下),从而减小第一网格模型和目标角色的拓扑对应的第二网格模型的坐标的旋转偏差,进而降低将原角色的第一表情变形迁移到目标角色得到的第二表情时的偏差。
263,根据上述第一约束条件和所述第二约束条件,利用第一网格模型和所述第二网格模型的三角形面片对形变迁移最小化原则,确定所述第二表情的顶点坐标。
具体而言,可以遍历上述三角形对应集合,对每个三角形面片对根据变形迁移最小化原则得到以下公式(5):
应理解,公式(5)能够使得原角色的第一表情在迁移到目标角色的中立脸前后的变形尽可能和原角色的中立脸的迁移变形之间的差异最小。在公式(5)的最小化求解的过程可以简化为线性方程组求解。为了便于理解,本申请实施例可以列出上述公式(3)和(4)的方程组成的线性系统,即下面的公式(6),以进行最小二乘求解。
另外,在最小二乘的求解过程中,为了求解公式(5)中的最小化,即相当于对公式(5)在梯度空间内求解,也就是对公式(5)进行求导,且其求导结果等于0,求导后即可得到上述公式(6)中的法方程,实现全局最小化的求解。
在以公式(6)作为线性系统求解的过程中,即在公式(5)求导之后,可以得到如下公式(7)所示的法方程,最后根据该法方程可以得到未知参数x的值。
因此,本申请实施例通过对原角色和目标角色进行拓扑对齐,得到该目标角色的拓扑对齐的第一网格模型和第二网格模型,进一步可以在该第一网格模型和第二网格模型中确定互为最邻近关系的点对,然后可以根据原角色的第一中立脸模型与该第一中立脸型对应的第一表情之间的顶点位移,确定该第一中立脸型变形迁移到该第一标签的第一锚定点,以及从上述互为最邻近关系的点对中,获取该第一锚定点对应的最邻近关系的点,作为目标角色的第二中立脸模型变形迁移到第二表情的第二锚定点,最后将该第一锚定点和第二锚定点作为约束条件,利用第一网格模型和第二网格模型的三角形面片对变形迁移最小化原则,确定第二表情的顶点坐标。本申请实施例能够实现在不同拓扑的角色之间的表情迁移算法中加入原角色和目标角色的锚定点约束,从而有利于在迁移后的表情以中立脸为基准对变形区域进行调整,而不会出现迁移后的表情相对中立脸的整体坐标的偏移,保证迁移后的表情模型整体保持相对位置的稳定。
在一些实施例中,当需要将原角色的第一中立脸的一套表情基BS迁移到目标角色的第二中立脸上时,原角色的每个表情基BS相对第一中立脸都会存在一定数量的锚定点,因此可以一次性查找出迁移到目标角色的一套表情基BS中所有的表情基BS相对中立脸的公共锚定点作为约束进行求解,从而避免对每个表情基BS都分别查找目标角色的锚定点及优化算法流程。
在一些实施例中,在查找到目标角色的锚定点之后,可以将这些锚定点作为已知的参数筛选处理,不参与上述最小化求解的过程。这样待求解的未知参数,即第二表情的顶点坐标就是排除了这些锚定点的坐标。
图6示出了迁移后的目标角色的表情和中立脸叠加的效果的示意图,其中(a)图为根据原始方法得到的迁移后的目标角色的表情和中立脸叠加的效果,(b)图为根据本申请实施例的表情迁移的方法得到的迁移后的目标角色的表情和中立脸叠加的效果。由(a)图可以看到,采用原始方式得到的迁移后的目标角色的表情与中立脸模型之间存在整体坐标的偏移,这是由于没有锚定点约束,导致在求解形变迁移最小化的过程中,表情的迁移只约束了旋转变量,并未考虑到偏移变量的约束,从而导致迁移后的目标角色的表情与中立脸模型之间存在整体坐标的偏移,并且该方法得到的不同表情迁移时的偏移量也会不同。而由(b)图可知,本申请实施例得到的迁移后的表情是以中立脸为基准对变形区域进行调整,整体坐标相对中立脸并未偏移。
以上结合附图详细描述了本申请的具体实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。
还应理解,在本申请的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。应理解这些序号在适当情况下可以互换,以便描述的本申请的实施例能够以除了在图示或描述的那些以外的顺序实施。
上文详细描述了本申请的方法实施例,下文结合图7至图8,详细描述本申请的装置实施例。
图7是本申请实施例的表情迁移的装置700的示意性框图。如图7所示,所述表情迁移的装置700可包括获取单元710、对齐单元720、确定单元730和优化单元730。
获取单元710,用于获取原角色的第一中立脸模型和所述第一中立脸模型对应的第一表情,以及目标角色的第二中立脸模型;其中,所述原角色为第一拓扑结构,所述目标角色为第二拓扑结构;
对齐单元720,用于对所述原角色和所述目标角色进行拓扑对齐,得到所述目标角色的拓扑对齐的第一网格模型和第二网格模型,其中,所述第一网格模型为所述第一拓扑结构,所述第二网格模型为所述第二拓扑结构;
确定单元730,用于在所述第一网格模型和所述第二网格模型中确定互为最邻近关系的点对;
所述确定单元730还用于根据所述第一中立脸模型与所述第一表情之间的顶点位移,确定所述第一中立脸模型变形迁移到所述第一表情的第一锚定点;
所述确定单元730还用于从所述互为最邻近关系的点对中,获取所述第一锚定点对应的最邻近关系的点,作为所述第二中立脸模型变形迁移到第二表情的第二锚定点;
优化单元740,用于将所述第一锚定点和所述第二锚定点作为约束条件,利用所述第一网格模型和所述第二网格模型的三角形面片对形变迁移最小化原则,确定所述第二表情的顶点坐标。
在一些实施例中,优化单元740具体用于:
根据所述第一锚定点三角形变前后的顶点坐标计算出的变形梯度等于第二锚定点变形梯度和第一权重,确定第一约束条件;
根据所述原角色的三角形变前后的顶点坐标计算出的变形梯度等于所述目标角色变形梯度,确定第二约束条件;
根据所述第一约束条件和所述第二约束条件,利用第一网格模型和所述第二网格模型的三角形面片对形变迁移最小化原则,确定所述第二表情的顶点坐标。
在一些实施例中,优化单元740具体用于:
根据所述第一锚定点和所述第二锚定点,确定转换矩阵;
根据所述转换矩阵,对所述原角色的在所述原角色的坐标系下的顶点坐标进行转换,得到所述原角色在所述目标角色的坐标系下的顶点坐标;
根据所述原角色的在所述目标角色的坐标系下的三角形变前后的顶点坐标计算出的变形梯度等于所述目标角色的变形梯度,确定所述第二约束条件。
在一些实施例中,对齐单元720具体用于:
在所述原角色的第一表情模型和所述目标角色的第二表情模型上分别选择相同语义位置的第一对应点,并根据所述第一对应点对所述第一表情模型和所述第二表情模型进行刚性变换;
在刚性变换后的所述第一表情模型和所述第二表情模型中增加选择嘴唇线区域的第二对应点;
根据所述第一对应点和所述第二对应点,对刚性变换后的所述第一表情模型和所述第二表情模型进行非刚性迭代最近点计算,得到拓扑对齐的所述第一表情模型和所述第二表情模型;
将拓扑对齐的所述第一表情模型作为所述第一网格模型,以及将拓扑对齐的所述第二表情模型作为所述第二网格模型。
在一些实施例中,所述相同语义位置包括鼻尖、眼角、嘴角和耳垂中的至少一种。
在一些实施例中,所述第一表情模型为所述原角色的第一张嘴模型,所述第二表情模型为所述目标角色的第二张嘴模型;或者
所述第一表情模型为所述原角色的第一中立脸模型,所述第二表情模型为所述目标角色的第二中立脸模型。
在一些实施例中,确定单元730具体用于:
将所述第一中立脸模型中的与所述第一表情之间的顶点位移小于预设值的顶点,作为所述第一锚定点。
在一些实施例中,所述第一表情包括所述原角色的表情基混合形变BS,或包括根据对所述原角色的至少两个表情基BS进行线性加权组合得到的表情。
在一些实施例中,所述第一锚定点包括所述第一中立脸模型的后脑勺区域的顶点。
应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,在该实施例中表情迁移的装置700可以对应于执行本申请实施例的方法200的相应主体,并且装置700中的各个模块的前述和其它操作和/或功能分别为了实现上文中的各个方法,或各个方法中的相应流程,为了简洁,在此不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的装置和系统。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
如图8是本申请实施例提供的电子设备800的示意性框图。
如图8所示,该电子设备800可包括:
存储器810和处理器820,该存储器810用于存储计算机程序,并将该程序代码传输给该处理器820。换言之,该处理器820可以从存储器810中调用并运行计算机程序,以实现本申请实施例中的表情迁移的方法。
例如,该处理器820可用于根据该计算机程序中的指令执行上述方法200中的步骤。
在本申请的一些实施例中,该处理器820可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器810包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在本申请的一些实施例中,该计算机程序可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器810中,并由该处理器820执行,以完成本申请提供的编码方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序在该电子设备800中的执行过程。
可选的,如图8所示,该电子设备800还可包括:
收发器830,该收发器830可连接至该处理器820或存储器810。
其中,处理器820可以控制该收发器830与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器830可以包括发射机和接收机。收发器830还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该电子设备800中的各个组件通过总线系统相连,其中,总线系统除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
根据本申请的一个方面,提供了一种通信装置,包括处理器和存储器,该存储器用于存储计算机程序,该处理器用于调用并运行所述存储器中存储的计算机程序,使得所述编码器执行上述方法实施例的方法。
根据本申请的一个方面,提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
根据本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方法实施例的方法。
换言之,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。
Claims (13)
1.一种表情迁移的方法,其特征在于,包括:
获取原角色的第一中立脸模型和所述第一中立脸模型对应的第一表情,以及目标角色的第二中立脸模型;其中,所述原角色为第一拓扑结构,所述目标角色为第二拓扑结构;
对所述原角色和所述目标角色进行拓扑对齐,得到所述目标角色的拓扑对齐的第一网格模型和第二网格模型,其中,所述第一网格模型为所述第一拓扑结构,所述第二网格模型为所述第二拓扑结构;
在所述第一网格模型和所述第二网格模型中确定互为最邻近关系的点对;
根据所述第一中立脸模型与所述第一表情之间的顶点位移,确定所述第一中立脸模型变形迁移到所述第一表情的第一锚定点;
从所述互为最邻近关系的点对中,获取所述第一锚定点对应的最邻近关系的点,作为所述第二中立脸模型变形迁移到第二表情的第二锚定点;
将所述第一锚定点和所述第二锚定点作为约束条件,利用所述第一网格模型和所述第二网格模型的三角形面片对形变迁移最小化原则,确定所述第二表情的顶点坐标。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一锚定点和所述第二锚定点作为约束条件,利用第一网格模型和所述第二网格模型的三角形面片对形变迁移最小化原则,确定所述第二表情的顶点坐标,包括:
根据所述第一锚定点三角形变前后的顶点坐标计算出的变形梯度等于第二锚定点变形梯度和第一权重,确定第一约束条件;
根据所述原角色的三角形变前后的顶点坐标计算出的变形梯度等于所述目标角色变形梯度,确定第二约束条件;
根据所述第一约束条件和所述第二约束条件,利用第一网格模型和所述第二网格模型的三角形面片对形变迁移最小化原则,确定所述第二表情的顶点坐标。
3.根据权利要求2所述的方法,其特征在于,所述根据所述原角色的三角形变前后的顶点坐标计算出的变形梯度等于所述目标角色变形梯度,确定第二约束条件,包括:
根据所述第一锚定点和所述第二锚定点,确定转换矩阵;
根据所述转换矩阵,对所述原角色的在所述原角色的坐标系下的顶点坐标进行转换,得到所述原角色在所述目标角色的坐标系下的顶点坐标;
根据所述原角色的在所述目标角色的坐标系下的三角形变前后的顶点坐标计算出的变形梯度等于所述目标角色的变形梯度,确定所述第二约束条件。
4.根据权利要求1所述的方法,其特征在于,所述对所述原角色和所述目标角色进行拓扑对齐,得到所述目标角色的拓扑对齐的第一网格模型和第二网格模型,包括:
在所述原角色的第一表情模型和所述目标角色的第二表情模型上分别选择相同语义位置的第一对应点,并根据所述第一对应点对所述第一表情模型和所述第二表情模型进行刚性变换;
在刚性变换后的所述第一表情模型和所述第二表情模型中增加选择嘴唇线区域的第二对应点;
根据所述第一对应点和所述第二对应点,对刚性变换后的所述第一表情模型和所述第二表情模型进行非刚性迭代最近点计算,得到拓扑对齐的所述第一表情模型和所述第二表情模型;
将拓扑对齐的所述第一表情模型作为所述第一网格模型,以及将拓扑对齐的所述第二表情模型作为所述第二网格模型。
5.根据权利要求4所述的方法,其特征在于,所述相同语义位置包括鼻尖、眼角、嘴角和耳垂中的至少一种。
6.根据权利要求4所述的方法,其特征在于,所述第一表情模型为所述原角色的第一张嘴模型,所述第二表情模型为所述目标角色的第二张嘴模型;或者
所述第一表情模型为所述原角色的第一中立脸模型,所述第二表情模型为所述目标角色的第二中立脸模型。
7.根据权利要求1所述的方法,其特征在于,所述根据所述第一中立脸模型与所述第一表情之间的顶点位移,确定所述第一中立脸模型变形迁移到所述第一表情的第一锚定点,包括:
将所述第一中立脸模型中的与所述第一表情之间的顶点位移小于预设值的顶点,作为所述第一锚定点。
8.根据权利要求1所述的方法,其特征在于,所述第一表情包括所述原角色的表情基混合形变BS,或包括根据对所述原角色的至少两个表情基BS进行线性加权组合得到的表情。
9.根据权利要求1所述的方法,其特征在于,所述第一锚定点包括所述第一中立脸模型的后脑勺区域的顶点。
10.一种表情迁移的装置,其特征在于,包括:
获取单元,用于获取原角色的第一中立脸模型和所述第一中立脸模型对应的第一表情,以及目标角色的第二中立脸模型;其中,所述原角色为第一拓扑结构,所述目标角色为第二拓扑结构;
对齐单元,用于对所述原角色和所述目标角色进行拓扑对齐,得到所述目标角色的拓扑对齐的第一网格模型和第二网格模型,其中,所述第一网格模型为所述第一拓扑结构,所述第二网格模型为所述第二拓扑结构;
确定单元,用于在所述第一网格模型和所述第二网格模型中确定互为最邻近关系的点对;
所述确定单元还用于根据所述第一中立脸模型与所述第一表情之间的顶点位移,确定所述第一中立脸模型变形迁移到所述第一表情的第一锚定点;
所述确定单元还用于从所述互为最邻近关系的点对中,获取所述第一锚定点对应的最邻近关系的点,作为所述第二中立脸模型变形迁移到第二表情的第二锚定点;
优化单元,用于将所述第一锚定点和所述第二锚定点作为约束条件,利用所述第一网格模型和所述第二网格模型的三角形面片对形变迁移最小化原则,确定所述第二表情的顶点坐标。
11.一种电子设备,其特征在于,包括处理器和存储器,所述存储器中存储有指令,所述处理器执行所述指令时,使得所述处理器执行权利要求1-9任一项所述的方法。
12.一种计算机存储介质,其特征在于,用于存储计算机程序,所述计算机程序包括用于执行权利要求1-9中任一项所述的方法。
13.一种计算机程序产品,其特征在于,包括计算机程序代码,当所述计算机程序代码被电子设备运行时,使得所述电子设备执行权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210977218.7A CN115330979A (zh) | 2022-08-15 | 2022-08-15 | 表情迁移的方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210977218.7A CN115330979A (zh) | 2022-08-15 | 2022-08-15 | 表情迁移的方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115330979A true CN115330979A (zh) | 2022-11-11 |
Family
ID=83923619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210977218.7A Pending CN115330979A (zh) | 2022-08-15 | 2022-08-15 | 表情迁移的方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115330979A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115564642A (zh) * | 2022-12-05 | 2023-01-03 | 腾讯科技(深圳)有限公司 | 图像变换方法、装置、电子设备、存储介质及程序产品 |
-
2022
- 2022-08-15 CN CN202210977218.7A patent/CN115330979A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115564642A (zh) * | 2022-12-05 | 2023-01-03 | 腾讯科技(深圳)有限公司 | 图像变换方法、装置、电子设备、存储介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108921926B (zh) | 一种基于单张图像的端到端三维人脸重建方法 | |
Deng et al. | A Survey of Non‐Rigid 3D Registration | |
CN109657583B (zh) | 脸部关键点检测方法、装置、计算机设备和存储介质 | |
CN111401216B (zh) | 图像处理、模型训练方法、装置、计算机设备和存储介质 | |
JP2022503647A (ja) | クロスドメイン画像変換 | |
CN110675475B (zh) | 一种人脸模型生成方法、装置、设备及存储介质 | |
WO2022057526A1 (zh) | 三维模型重建方法、三维重建模型的训练方法和装置 | |
CN111553267B (zh) | 图像处理方法、图像处理模型训练方法及设备 | |
CN111583399B (zh) | 图像处理方法、装置、设备、介质和电子设备 | |
CN114549291A (zh) | 图像处理方法、装置、设备以及存储介质 | |
CN108446672B (zh) | 一种基于由粗到细脸部形状估计的人脸对齐方法 | |
JP2024501986A (ja) | 3次元顔再構築の方法、3次元顔再構築の装置、デバイスおよび記憶媒体 | |
CN112991503B (zh) | 一种基于蒙皮权重的模型训练方法、装置、设备及介质 | |
CN108615256A (zh) | 一种人脸三维重建方法及装置 | |
CN114422832A (zh) | 主播虚拟形象生成方法及装置 | |
CN113129447A (zh) | 基于单张手绘草图的三维模型生成方法、装置和电子设备 | |
Zhou et al. | Image deformation with vector-field interpolation based on MRLS-TPS | |
CN114170290A (zh) | 图像的处理方法及相关设备 | |
CN115330979A (zh) | 表情迁移的方法、装置、电子设备及存储介质 | |
Onizuka et al. | Landmark-guided deformation transfer of template facial expressions for automatic generation of avatar blendshapes | |
RU2755396C1 (ru) | Нейросетевой перенос выражения лица и позы головы с использованием скрытых дескрипторов позы | |
CN116385667B (zh) | 三维模型的重建方法、纹理重构模型的训练方法以及装置 | |
CN113593001A (zh) | 目标对象三维重建方法、装置、计算机设备和存储介质 | |
Yakushiji et al. | Shape space estimation by higher-rank of SOM | |
CN116228808A (zh) | 表情跟踪方法、装置、设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |