CN108399383A - 表情迁移方法、装置存储介质及程序 - Google Patents

表情迁移方法、装置存储介质及程序 Download PDF

Info

Publication number
CN108399383A
CN108399383A CN201810151946.6A CN201810151946A CN108399383A CN 108399383 A CN108399383 A CN 108399383A CN 201810151946 A CN201810151946 A CN 201810151946A CN 108399383 A CN108399383 A CN 108399383A
Authority
CN
China
Prior art keywords
face
expression
parameter
user
video frame
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.)
Granted
Application number
CN201810151946.6A
Other languages
English (en)
Other versions
CN108399383B (zh
Inventor
汪路超
刘浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Sensetime Technology Co Ltd
Original Assignee
Shenzhen Sensetime Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Sensetime Technology Co Ltd filed Critical Shenzhen Sensetime Technology Co Ltd
Priority to CN201810151946.6A priority Critical patent/CN108399383B/zh
Publication of CN108399383A publication Critical patent/CN108399383A/zh
Application granted granted Critical
Publication of CN108399383B publication Critical patent/CN108399383B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/174Facial expression recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2135Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on approximation criteria, e.g. principal component analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)

Abstract

本申请实施方式公开了一种表情迁移方法、装置、电子设备、介质以及计算机程序,其中的方法包括:获取视频序列中用户的人脸关键点;基于所述人脸关键点的人脸形状融合模型,获取待处理视频帧中所述用户的人脸表情参数初始值以及人脸位姿初始值;根据所述人脸表情参数初始值、人脸位姿初始值以及人脸表情参数和人脸位置的线性关系获得所述用户的3维人脸模型的人脸表情参数;根据所述获得的人脸表情参数,驱动虚拟角色的表情。

Description

表情迁移方法、装置存储介质及程序
技术领域
本申请涉及计算机视觉技术,尤其是涉及一种表情迁移方法、表情迁移装置、电子设备、计算机可读存储介质以及计算机程序。
背景技术
单目视觉通常是指基于一台摄像设备的视觉。基于单目视觉的表情迁移主要用于将用户的表情迁移到虚拟角色上。
对于视频而言,基于单目视觉的表情迁移需要格外关注表情迁移的实时性,即在迁移过程中,所涉及的计算量应尽可能的小,以使视频帧中的用户的表情能够快速的迁移到虚拟角色上,如何保证表情迁移的实时性,并尽可能的使表情迁移具有较好的准确性,是计算机视觉领域中一个值得关注的技术问题。
发明内容
本申请实施方式提供一种表情迁移的技术方案。
根据本申请实施方式一方面,提供一种表情迁移方法,包括:获取视频序列中用户的人脸关键点;基于所述人脸关键点的人脸形状融合模型,获取待处理视频帧中所述用户的人脸表情参数初始值以及人脸位姿初始值;根据所述人脸表情参数初始值、人脸位姿初始值以及人脸表情参数和人脸位置的线性关系获得所述用户的3维人脸模型的人脸表情参数;根据所述获得的人脸表情参数,驱动虚拟角色的表情。
在本申请一实施方式中,所述人脸形状融合模型包括:基于主成分分析PCA先验模型,根据所述人脸关键点而实例化的模型。
在本申请又一实施方式中,所述PCA先验模型包括:利用双线性模型的组织方式,而形成的双线性PCA先验模型。
在本申请再一实施方式中,所述PCA先验模型包括:利用人脸关键点,而构建的PCA先验模型。
在本申请再一实施方式中,所述人脸形状融合模型的形成方式包括:利用所述视频序列中的视频帧中的所述用户的人脸关键点,对非线性方程进行求解,从求解结果中获得所述人脸形状参数;根据所述人脸形状参数对所述PCA先验模型进行实例化,形成人脸形状融合模型;其中,所述非线性方程包括:所述3维人脸模型的相应顶点坐标的2维投影与所述待处理视频帧中的所述用户的人脸关键点的坐标的误差最小的非线性方程。
在本申请再一实施方式中,所述利用所述视频序列中的视频帧中的所述用户的人脸关键点,对所述非线性方程进行求解,从求解结果中获得所述人脸形状参数包括:利用所述视频序列中的首个包含有所述用户的视频帧中的所述用户的人脸关键点,对所述非线性方程进行求解,在判断出求解结果中的人脸位姿符合正脸位姿要求,且所述误差符合预定误差要求的情况下,将所述求解结果中的人脸形状参数作为视频序列中用户的人脸形状参数,否则,利用下一个视频帧中的所述用户的人脸关键点,对所述非线性方程进行求解,直到判断出求解结果中的人脸位姿符合正脸位姿要求,且所述误差符合预定误差要求。
在本申请再一实施方式中,所述方法还包括:将所述求解结果中的人脸表情参数作为,用于预测获得所述人脸形状参数的视频帧的下一视频帧中,所述用户的人脸表情参数初始值的历史人脸表情参数。
在本申请再一实施方式中,所述获取待处理视频帧中所述用户的人脸表情参数初始值以及人脸位姿初始值包括:根据所述待处理视频帧所对应的历史人脸表情参数,预测所述待处理视频帧中所述用户的人脸表情参数;根据所述预测出的人脸表情参数,基于所述非线性方程,获得所述用户的人脸位姿初始值;其中,预测出的人脸表情参数被作为所述待处理视频帧所对应的人脸表情参数初始值。
在本申请再一实施方式中,所述根据所述待处理视频帧所对应的历史人脸表情参数,预测所述待处理视频帧中所述用户的人脸表情参数包括:根据所述待处理视频帧所对应的历史人脸表情参数,利用卡尔曼滤波方式,预测所述待处理视频帧中所述用户的人脸表情参数。
在本申请再一实施方式中,所述根据所述预测出的人脸表情参数,基于所述非线性方程,获得所述用户的人脸位姿初始值包括:根据所述人脸形状参数以及所述人脸表情参数初始值计算出所述3维人脸模型的各顶点坐标;利用多个顶点坐标以及人脸表情参数初始值,对所述非线性方程进行求解,以获得人脸位姿;其中,所述获得的人脸位姿被作为所述待处理视频帧所对应的人脸位姿初始值。
在本申请再一实施方式中,所述利用多个顶点坐标以及人脸表情参数初始值,对所述非线性方程进行求解,以获得人脸位姿包括:利用人脸关键点中的多个不动关键点各自对应的顶点坐标以及人脸表情参数初始值,对所述非线性方程进行求解,以获得人脸位姿。
在本申请再一实施方式中,所述根据所述人脸表情参数初始值、人脸位姿初始值以及人脸表情参数和人脸位置的线性关系获得所述用户的3维人脸模型的人脸表情参数包括:针对用于根据已知人脸表情参数初始值而获得人脸位姿的第一线性方程、以及用于根据已知人脸位姿初始值而获得人脸表情参数的第二线性方程,利用所述人脸表情参数初始值以及人脸位姿初始值,进行求解,以获得所述用户的3维人脸模型的人脸位姿和人脸表情参数,并基于所述求解获得的人脸位姿和人脸表情参数,对所述第一线性方程和第二线性方程进行迭代求解;其中,所述第一线性方程和第二线性方程,是基于所述3维人脸模型的相应顶点坐标的2维投影与所述待处理视频帧中的所述用户的人脸关键点的坐标的误差最小的非线性方程,而形成。
在本申请再一实施方式中,所述第一线性方程和/或第二线性方式,是基于将所述非线性方程中的3维人脸模型的相应顶点坐标的投影函数展开,并将顶点坐标中的z坐标采用z初始值表示,而形成的线性方程;其中,所述z初始值是根据人脸表情参数初始值以及人脸位姿初始值计算获得的。
在本申请再一实施方式中,所述第二线性方程包括:至少一个用于避免过拟合的正则项。
在本申请再一实施方式中,所述第二线性方程包括:基于先验参数概率分布的正则项;和/或,基于时序平衡的正则项。
在本申请再一实施方式中,所述根据所述获得的人脸表情参数,驱动虚拟角色的表情包括:将所述获得的人脸表情参数映射为语义表情系数,并根据所述语义表情系数驱动虚拟角色的表情。
在本申请再一实施方式中,在形成所述人脸形状融合模型的PCA先验模型包括:被截取的PCA先验模型的情况下,所述将所述获得的人脸表情参数映射为语义表情系数包括:将所述获得的基于N1组表情基底所对应的人脸表情参数,映射为,基于N2组表情基底所对应的语义表情参数;其中,所述N1小于N2。
在本申请再一实施方式中,所述将所述获得的基于N1组表情基底所对应的人脸表情参数,映射为,基于N2组表情基底所对应的语义表情参数的约束条件包括:语义表情系数之和为1,且每个语义表情系数均为0-1之间的数值。
在本申请再一实施方式中,所述方法还包括:根据所述迭代求解最终获得的人脸位姿,设置虚拟角色的脸部位姿。
根据本申请实施方式另一个方面,提供一种表情迁移装置,包括:获取关键点模块,用于获取视频序列中用户的人脸关键点;获取初始值模块,用于基于所述人脸关键点的人脸形状融合模型,获取待处理视频帧中所述用户的人脸表情参数初始值以及人脸位姿初始值;获取表情参数模块,用于根据所述人脸表情参数初始值、人脸位姿初始值以及人脸表情参数和人脸位置的线性关系获得所述用户的3维人脸模型的人脸表情参数;表情驱动模块,用于根据所述获得的人脸表情参数,驱动虚拟角色的表情。
在本申请一实施方式中,所述人脸形状融合模型包括:基于主成分分析PCA先验模型,根据所述人脸关键点而实例化的模型。
在本申请又一实施方式中,所述PCA先验模型包括:利用双线性模型的组织方式,而形成的双线性PCA先验模型。
在本申请再一实施方式中,所述PCA先验模型包括:利用人脸关键点,而构建的PCA先验模型。
在本申请再一实施方式中,所述装置还包括:融合模型形成模块,用于:利用所述视频序列中的视频帧中的所述用户的人脸关键点,对非线性方程进行求解,从求解结果中获得所述人脸形状参数;根据所述人脸形状参数对所述PCA先验模型进行实例化,形成人脸形状融合模型;其中,所述非线性方程包括:所述3维人脸模型的相应顶点坐标的2维投影与所述待处理视频帧中的所述用户的人脸关键点的坐标的误差最小的非线性方程。
在本申请再一实施方式中,所述融合模型形成模块具体用于:利用所述视频序列中的首个包含有所述用户的视频帧中的所述用户的人脸关键点,对所述非线性方程进行求解,在判断出求解结果中的人脸位姿符合正脸位姿要求,且所述误差符合预定误差要求的情况下,将所述求解结果中的人脸形状参数作为视频序列中用户的人脸形状参数,否则,利用下一个视频帧中的所述用户的人脸关键点,对所述非线性方程进行求解,直到判断出求解结果中的人脸位姿符合正脸位姿要求,且所述误差符合预定误差要求。
在本申请再一实施方式中,所述求解结果中的人脸表情参数,被作为,用于预测获得所述人脸形状参数的视频帧的下一视频帧中,所述用户的人脸表情参数初始值的历史人脸表情参数。
在本申请再一实施方式中,所述获取初始值模块包括:第一子模块,用于根据所述待处理视频帧所对应的历史人脸表情参数,预测所述待处理视频帧中所述用户的人脸表情参数;第二子模块,用于根据所述预测出的人脸表情参数,基于所述非线性方程,获得所述用户的人脸位姿初始值;其中,预测出的人脸表情参数被作为所述待处理视频帧所对应的人脸表情参数初始值。
在本申请再一实施方式中,所述第一子模块具体用于:根据所述待处理视频帧所对应的历史人脸表情参数,利用卡尔曼滤波方式,预测所述待处理视频帧中所述用户的人脸表情参数。
在本申请再一实施方式中,所述第二子模块具体包括:第三子模块,用于根据所述人脸形状参数以及所述人脸表情参数初始值计算出所述3维人脸模型的各顶点坐标;第四子模块,用于利用多个顶点坐标以及人脸表情参数初始值,对所述非线性方程进行求解,以获得人脸位姿;其中,所述获得的人脸位姿被作为所述待处理视频帧所对应的人脸位姿初始值。
在本申请再一实施方式中,所述第四子模块具体用于:利用人脸关键点中的多个不动关键点各自对应的顶点坐标以及人脸表情参数初始值,对所述非线性方程进行求解,以获得人脸位姿。
在本申请再一实施方式中,所述获取表情参数模块具体用于:针对用于根据已知人脸表情参数初始值而获得人脸位姿的第一线性方程、以及用于根据已知人脸位姿初始值而获得人脸表情参数的第二线性方程,利用所述人脸表情参数初始值以及人脸位姿初始值,进行求解,以获得所述用户的3维人脸模型的人脸位姿和人脸表情参数,并基于所述求解获得的人脸位姿和人脸表情参数,对所述第一线性方程和第二线性方程进行迭代求解;其中,所述第一线性方程和第二线性方程,是基于所述3维人脸模型的相应顶点坐标的2维投影与所述待处理视频帧中的所述用户的人脸关键点的坐标的误差最小的非线性方程,而形成。
在本申请再一实施方式中,所述第一线性方程和/或第二线性方式,是基于将所述非线性方程中的3维人脸模型的相应顶点坐标的投影函数展开,并将顶点坐标中的z坐标采用z初始值表示,而形成的线性方程;其中,所述z初始值是根据人脸表情参数初始值以及人脸位姿初始值计算获得的。
在本申请再一实施方式中,所述第二线性方程包括:至少一个用于避免过拟合的正则项。
在本申请再一实施方式中,所述第二线性方程包括:基于先验参数概率分布的正则项;和/或,基于时序平衡的正则项。
在本申请再一实施方式中,所述表情驱动模块包括:映射子模块,用于将所述获得的人脸表情参数映射为语义表情系数;驱动子模块,用于根据所述语义表情系数驱动虚拟角色的表情。
在本申请再一实施方式中,在形成所述人脸形状融合模型的PCA先验模型包括:被截取的PCA先验模型的情况下,所述映射子模块具体用于:将所述获得的基于N1组表情基底所对应的人脸表情参数,映射为,基于N2组表情基底所对应的语义表情参数;其中,所述N1小于N2。
在本申请再一实施方式中,所述映射子模块在将所述获得的基于N1组表情基底所对应的人脸表情参数,映射为,基于N2组表情基底所对应的语义表情参数过程中,所使用的约束条件包括:语义表情系数之和为1,且每个语义表情系数均为0-1之间的数值。
在本申请再一实施方式中,所述装置还包括:设置位姿模块,用于根据所述迭代求解最终获得的人脸位姿,设置虚拟角色的脸部位姿。
根据本申请实施方式再一个方面,提供一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本申请任一方法实施方式。
根据本申请实施方式再一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现本申请任一方法实施方式。
根据本申请实施方式的再一个方面,提供一种计算机程序,包括计算机指令,当所述计算机指令在设备的处理器中运行时,实现本申请任一方法实施方式。
基于本申请提供的表情迁移方法、表情迁移装置、电子设备、计算机可读存储介质及计算机程序,本申请通过将用于获得人脸表情参数的非线性方程的求解问题,转换为线性关系的优化问题,由于对线性关系的优化问题更易于实现,因此,本申请有利于减小获得人脸表情参数所需的计算量。由此可知,本申请提供的技术方案有利于提高表情迁移的实时性。
下面通过附图和实施方式,对本申请的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本申请的实施方式,并且连同描述一起用于解释本申请的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本申请,其中:
图1为本申请的表情迁移方法一个实施方式的流程图;
图2为本申请的表情迁移装置一个实施方式的结构示意图;
图3为实现本申请实施方式的一示例性设备的框图。
具体实施方式
现在将参照附图来详细描述本申请的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本申请及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法以及设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应当注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本申请实施例可以应用于终端设备、计算机系统及服务器等电子设备,其可与众多其它通用或者专用的计算系统环境或者配置一起操作。适于与终端设备、计算机系统以及服务器等电子设备一起使用的众所周知的终端设备、计算系统、环境和/或配置的例子,包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
终端设备、计算机系统以及服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑以及数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
示例性实施例
图1为本申请的表情迁移方法的一个实施例的流程图。如图1所示,该实施例方法主要包括:步骤S100、步骤S110、步骤S120以及步骤S130。下面对图1中的各步骤进行详细说明。
S100、获取视频序列中用户的人脸关键点。
在一个可选示例中,本申请中的视频序列通常包括:顺序排列的多个视频帧。本申请中的视频序列可以具体为电视/网络直播或者视频录制或者虚拟聊天等过程中的视频。本申请的视频序列中的用户可以具体为电视/网络直播主持人、被录制对象或者虚拟聊天中的任一参与方等。本申请不限制视频序列以及用户的具体表现形式。
在一个可选示例中,本申请可以将视频序列中的至少一视频帧提供给用于提取人脸关键点的神经网络,并根据神经网络输出的信息,获得相应视频帧中用户的人脸关键点。本申请不限制获得人脸关键点的具体实现方式。
在一个可选示例中,本申请获取到的人脸关键点的数量通常为多个(如60个至240个)。在一个具体例子中,可以先获得106个人脸关键点,将这106个人脸关键点作为为全局关键点,在这106个人脸关键点的基础上,进行进一步的人脸关键点检测,从而获得134个高精度的人脸关键点,这134个高精度的人脸关键点通常能够较为精准的描述眼睑线、唇线、眉线、瞳孔边界以及瞳孔中心点等部位。后续得到的134个人脸关键点中通常会存在与106个人脸关键点相重复的人脸关键点。本申请不限制获取到的人脸关键点的具体数量。
S110、基于人脸关键点的人脸形状融合模型,获取待处理视频帧中用户的人脸表情参数初始值以及人脸位姿初始值。
在一个可选示例中,本申请可以先利用人脸关键点获得该用户的人脸形状参数,然后,再利用该用户的人脸形状参数对PCA先验模型进行实例化,从而形成人脸形状融合模型。
在一个可选示例中,本申请中的用户的人脸形状参数用于描述用户的人脸形状。用户的人脸形状参数可以具体为包含有多个值的向量,如包含50个值的向量等。本申请可以利用视频序列中的一包含有用户的视频帧,来获取用户的人脸形状参数。本次获取到的人脸形状参数通常可以被认为是该视频序列的各视频帧中的该用户的人脸形状参数,也就是说,视频序列的各视频帧中的该用户的人脸形状参数被认为是相同的。上述视频序列中的一包含有用户的视频帧通常为视频序列中的首个包含有该用户的符合一定要求的人脸的视频帧。上述符合的要求通常体现为正脸且表情较为正常(例如,表情幅度小不夸张等)。
在一个可选示例中,本申请中的人脸形状参数可以用于实例化人脸先验模型,从而形成视频帧中的用户的人脸形状融合模型(如BlendShape模型,形状融合变形模型)。人脸先验模型可以具体为PCA(Principal Components Analysis,主成分分析)先验模型。本申请中的人脸先验模型(如PCA先验模型)通常是在离线状态下,利用多个人(例如,100个人)的面部指定点构建的模型。
在一个可选示例中,本申请中的人脸先验模型(如PCA先验模型)可以是在离线状态下,利用多个人各自的多个人脸关键点构建的模型。例如,本申请中的PCA先验模型可以是利用100个人各自的67个具有语义的人脸关键点(如眼角关键点、鼻子关键点、下巴中心关键点以及唇峰关键点等)以及33个轮廓关键点构建的模型。其中的67个具有语义的人脸关键点通常不存在候选点,而33个轮廓关键点通常具有候选点,例如,33个轮廓关键点总共具有四百个左右的候选点,这样,本申请中的PCA先验模型,可以是利用五百个左右的人脸关键点构建的模型。
本申请通过利用人脸关键点构建人脸先验模型(如PCA先验模型),有利于减小PCA先验模型的规模,从而一方面有利于降低建立人脸先验模型的计算量;另一方面,可以使人脸形状融合模型以及3维人脸模型对用户的人脸关键点的位置变化更为敏感,从而有利于提高表情迁移的准确性。当然,本申请也不排除利用面部所有的点来构建人脸先验模型(如PCA先验模型)的情况。
在一个可选示例中,对于视频序列中的一视频帧而言,本申请通常可以利用用户的人脸形状参数对PCA先验模型进行实例化,从而形成该用户的人脸形状融合模型,并利用该用户的人脸表情参数对人脸形状融合模型进行实例化,从而形成该用户的具有一定表情的3维人脸模型。本申请应尽量使该3维人脸模型中的相应顶点坐标的2维投影与该视频帧中的该用户的人脸关键点的坐标的误差最小。上述相应顶点通常为3维人脸模型中的人脸关键点所在的顶点。也就是说,基于视频帧中的用户的表情所形成的基于PCA先验模型的3维人脸模型中的相应顶点坐标与该视频中的人脸关键点的坐标之间的关系,可以通过下述公式(1)所示的非线性方程来表示:
在上述公式(1)中,R表示视频帧中用户的人脸的旋转,T表示视频帧中用户的人脸的平移,R和T一起表示视频帧中用户的人脸位姿M;X表示3维人脸模型中的顶点坐标,X(j)表示第j个人脸关键点所对应的3维人脸模型中的顶点坐标;u表示视频帧中的用户的人脸关键点的2维坐标(u',v);u(j)表示视频帧中的用户的第j个人脸关键点的2维坐标(u'(j),v(j));Π(*)表示*的2维投影坐标;S(*)表示将向量*重塑(reshape)为一矩阵,如重塑为3×n的矩阵,n为3维人脸模型中的网格(mesh)的顶点数量;Cr表示PCA先验模型的张量;表示该用户的人脸形状参数Wid的转置;表示视频帧中该用户的人脸表情参数Wexp的转置;表示Cr的第2维与相乘,且Cr的第3维与相乘;ldmk表示人脸关键点(landmark)集合,如上述100个人脸关键点集合。
在一个可选示例中,本申请通常利用视频序列中的一个视频帧,根据上述公式(1)获取用户的人脸形状参数的一个过程为:
首先,获取S100获得的第一个包含有该用户人脸的视频帧中的该用户的人脸关键点,例如,在S100中按照视频序列中的视频帧的排列顺序,从第一个视频帧开始,检测视频帧中是否包含有用户的人脸,将检测到的包含有用户的人脸的第一个视频帧提供给神经网络,根据该神经网络的输出,获得该用户的人脸关键点。
其次,根据上述获得的人脸关键点对公式(1)进行求解,求解后不仅可以获得该用户的人脸形状参数Wid,还可以获得第一个视频帧中该用户的人脸位姿M以及人脸表情参数Wexp。在一个可选例子中,本申请可以根据上述获得的包含有用户的人脸的第一个视频帧中的该用户的人脸关键点中的部分关键点(如100个人脸关键点),对上述公式(1)进行求解。
再次,从求解结果中获取人脸位姿以及求解结果所对应的误差,判断人脸位姿是否符合预先设定的正脸位姿要求,并判断该误差是否符合预定误差要求。在判断出人脸位姿符合预先设定的正脸位姿要求(如人脸位姿属于正脸位姿),且误差符合预定误差要求(如误差小于预定误差阈值)的情况下,将上述求解获得的该用户的人脸形状参数Wid,作为该视频序列中的后续各视频帧中该用户的人脸形状参数。而在判断出人脸位姿不符合预先设定的正脸位姿要求(如人脸位姿属于正脸位姿),或者,误差不符合预定误差要求(如误差等于或者大于预定误差阈值)的情况下,回到S100,检测当前视频帧的下一个视频帧是否包含有用户的人脸,如果未包含有用户的人脸,则顺序检测下一个视频帧是否包含有用户的人脸。如果包含有用户的人脸,则将该视频帧提供给神经网络,根据该神经网络的输出,获得该用户的人脸关键点,并返回到上述根据获得的人脸关键点对公式(1)进行求解的步骤。以此类推,直到获得该用户的人脸形状参数Wid
另外,上述求解获得的该用户的人脸表情参数Wexp可以作为下一视频帧的历史人脸表情参数,该历史人脸表情参数可以用于预测该下一视频帧中的用户的人脸表情参数初始值。具体可以参见下述描述。
上述利用视频序列中的一个视频帧获得用户的人脸形状参数的过程可以称为用户注册过程。本申请可以针对每一个视频序列中的一个视频帧,均执行上述用户注册过程。当然,本申请也可以采用其他方式,获得用户的人脸形状参数,例如,利用视频序列中的用户的照片,获得该用户的人脸形状参数。本申请不限制利用用户的人脸关键点,获得视频序列中的用户的人脸形状参数的具体实现过程。
需要特别说明的是,本申请中的PCA先验模型不仅可以是:利用多个人的面部指定点而构建获得的PCA先验模型;该PCA先验模型也可以是:针对利用多个人的面部指定点而构建获得的PCA先验模型,进行截取处理,而获得的PCA先验模型;例如,构建PCA先验模型通常需要53组表情基底,然而,53组表情基底中存在一定程度的冗余,本申请通过对基于53组表情基底而构建的PCA先验模型进行截取处理(如选取构建出的PCA先验模型的张量中的前30列),有利于避免针对冗余信息的计算处理,从而有利于降低后续步骤中的计算成本(如时间成本等),进而有利于提高本申请的表情迁移的实时性。
再有,本申请可以将人脸形状参数和人脸表情参数作为对PCA先验模型产生影响,且相互独立的两个参数,从而本申请中的PCA先验模型可以是利用现有的多线性模型的组织方式,而形成的双线性PCA先验模型。本申请不限制利用多线性模型的组织方式,形成双线性PCA先验模型的具体实现方式。
在一个可选示例中,本申请的基于人脸形状参数的人脸形状融合模型,在利用待处理视频帧中的用户的人脸表情参数实例化后,即为待处理视频帧中的用户的3维人脸模型。本申请可以根据当前待处理视频帧所对应的历史人脸表情参数,利用卡尔曼滤波方式或者其他方式,预测该待处理视频帧中用户的3维人脸模型的人脸表情参数,并将该预测出的人脸表情参数作为,当前待处理视频帧所对应的人脸表情参数初始值。当前待处理视频帧所对应的历史人脸表情参数可以是当前待处理视频帧的前一帧的人脸表情参数。一个具体的例子如下所示:
首先,本申请在步骤S100中,通过对公式(1)的求解,可以获得视频序列的一个视频帧(为方便描述,本例子以第一个视频帧为例进行说明)中的用户的人脸表情参数Wexp,本申请可以将该人脸表情参数Wexp作为该视频帧的下一个视频帧(为方便描述,下述以第二个视频帧为例进行说明)的历史人脸表情参数;
其次,通过根据第二个视频帧所对应的历史人脸表情参数,利用卡尔曼滤波方式或者其他方式,可以预测出第二个视频帧中该用户的3维人脸模型的人脸表情参数,从而获得第二个视频帧中,该用户的3维人脸模型的人脸表情参数初始值,即第二个视频帧所对应的人脸表情参数初始值;
再次,在利用第二个视频帧所对应的人脸表情参数初始值以及人脸位姿初始值,执行了步骤S120以及S130之后,可以获得第二个视频帧中该用户的3维人脸模型的人脸表情参数Wexp,从而本申请将该人脸表情参数Wexp作为第三个视频帧的历史人脸表情参数;
然后,通过根据第三个视频帧所对应的历史人脸表情参数,利用卡尔曼滤波方式或者其他方式,可以预测出第三个视频帧中该用户的3维人脸模型的人脸表情参数,从而获得第三个视频帧所对应的人脸表情参数初始值;
以此类推,本申请可以获得视频序列中第一个视频帧之后的任一视频帧所对应的人脸表情参数初始值。
在一个可选示例中,本申请可以利用用户的人脸形状参数以及当前待处理视频帧所对应的人脸表情参数初始值,获得当前待处理视频帧中的该用户的人脸位姿初始值,即当前待处理视频帧所对应的人脸位姿初始值。一个具体的例子如下:
首先,根据上述获得的用户的人脸形状参数以及当前待处理视频帧所对应的人脸表情参数初始值,利用下述公式(2)进行计算,从而获得用户的多个人脸关键点对应3维人脸模型上的顶点坐标。
在上述公式(2)中,X(j)表示第j个人脸关键点所对应的3维人脸模型中的顶点坐标,B被定义为一个矩阵,如3n×m的矩阵,其中的n为3维人脸模型中的mesh的顶点数量,m为表情基底的数量(如30或者53等);表示将PCA先验模型的张量延mode 1展开(Unfoldings),Cr表示PCA先验模型的张量,表示该用户的人脸形状参数Wid的转置;表示Cr的第2维与相乘;B(j)表示矩阵B中的第j个人脸关键点所对应的项;wexp表示视频帧中该用户的人脸表情参数,本申请可以将上述获得的人脸表情参数初始值代入到公式(2)中。
其次,利用多个顶点坐标,对下述非线性方程(即公式3)进行求解,以获得用户的人脸位姿,本申请将求解获得的人脸位姿作为当前待处理视频帧所对应的人脸位姿初始值。本申请可以利用现有的多种算法等对下述公式(3)求解,例如,利用PnP算法对公式(3)进行求解。本申请不限制对公式(3)进行求解的具体实现方式。
在上述公式(3)中,R表示视频帧中用户的人脸的旋转,T表示视频帧中用户的人脸的平移,R和T一起表示视频帧中用户的人脸位姿M,B(j)wexp可以代入上述公式(2)计算出的X(j),u(j)表示视频帧中的用户的第j个人脸关键点的2维坐标(u'(j),v(j));Π(*)表示*的2维投影坐标;ldmk表示人脸关键点集合。
需要特别说明的是,本申请在对上述公式(3)进行求解的过程中,可以利用人脸关键点中的多个不动关键点(如眼角关键点、鼻子关键点等)各自对应的顶点坐标以及人脸表情参数初始值,进行求解,从而获得人脸位姿初始值。
本申请通过利用多个不动关键点各自对应的顶点坐标进行求解,有利于减少求解的计算量和时间,从而有利于提高获得人脸位姿初始值的效率,进而有利于提高本申请的表情迁移的实时性。另外,由于不动关键点在表情变化过程中的运动较小,因此,可以认为不动关键点的运动方差较小,从而利用多个不动关键点各自对应的顶点坐标进行求解,所获得的人脸位姿初始值具有较好的准确性,从而在人脸位姿初始值的附近搜索最终的人脸位姿,有利于快速搜索到最终的人脸位姿。
本申请中的公式(1)和公式(3)在本质上是相同的,均为本申请中的形成第一线性方程和第二线性方程的非线性方程;本申请在获得了Wid之后,使成为已知,本申请通过将B定义为一个基于而形成的矩阵,使后续步骤中的计算更易于实现,例如,使针对人脸位姿初始值的计算以及针对第一线性方程和第二线性方程的计算,均更易于实现,从而有利于提高本申请的表情迁移的实时性。
S120、根据人脸表情参数初始值、人脸位姿初始值以及人脸表情参数和人脸位置的线性关系获得用户的3维人脸模型的人脸表情参数。
在一个可选示例中,针对用于根据已知人脸表情参数初始值而获得人脸位姿的第一线性方程以及用于根据已知人脸位姿初始值而获得人脸表情参数的第二线性方程,本申请可以利用3维人脸表情参数初始值以及人脸位姿初始值,进行求解,以获得该用户的3维人脸模型的人脸位姿和人脸表情参数,并利用求解获得的人脸位姿和人脸表情参数对第一线性方程和第二线性方程进行迭代求解。也就是说,本申请将求解获得的人脸位姿和人脸表情参数,作为人脸表情参数初始值以及人脸位姿初始值,对第一线性方程和第二线性方程进行迭代求解。
在一个可选示例中,本申请中的第一线性方程和第二线性方程,是基于用户的3维人脸模型的相应顶点坐标的2维投影与待处理视频帧中的用户的人脸关键点的坐标的误差最小的非线性方程,而形成的。也就是说,本申请将上述公式(1)或者公式(3)变换为两个线性方程,这两个线性方程均为针对当前待处理视频帧中的用户的人脸表情参数和人脸位姿的线性方程,其中一个线性方程是已知人脸表情参数求解人脸位姿的线性方程,其中另一个线性方程是已知人脸位姿求解人脸表情参数的线性方程。本申请通过利用这两个线性方程求解出的待处理视频帧中的用户的3维人脸模型的人脸位姿和人脸表情参数,对这两个线性方程进行迭代求解,可以使迭代求解获得的3维人脸模型的人脸位姿和人脸表情参数逐渐收敛,从而最终获得待处理视频帧中该用户的3维人脸模型的人脸位姿和人脸表情参数。
在一个可选示例中,本申请在基于非线性方程形成第一线性方程和第二线性方程的过程中,设定3维人脸模型的相应顶点坐标的投影函数展开式中,顶点坐标中的z坐标采用z初始值表示。本申请中的z初始值是根据人脸表情参数初始值以及人脸位姿初始值计算获得的。
在一个可选示例中,本申请可以利用人脸表情参数初始值和人脸位姿初始值对第一线性方程进行求解,从而获得该待处理视频帧中的该用户的第一迭代过程中的人脸位姿,并利用第一迭代过程中的人脸位姿对第二线性方程进行求解,获得该待处理视频帧中的该用户的第一迭代过程中的3维人脸模型的人脸表情参数;在第二次迭代求解过程中,利用第一次迭代求解过程中获得的人脸位姿和人脸表情参数,对第一线性方程进行求解,从而获得该待处理视频帧中的该用户的第二迭代过程中的3维人脸模型的人脸位姿,并利用第二迭代过程中的人脸位姿对第二线性方程进行求解,获得该待处理视频帧中的该用户的第二迭代过程中的3维人脸模型的人脸表情参数;以此类推,在迭代条件满足的情况下,停止迭代求解的过程,最终获得待处理视频帧中该用户的3维人脸模型的人脸位姿和人脸表情参数。
在另一个可选示例中,本申请可以利用人脸表情参数初始值和人脸位姿初始值对第二线性方程进行求解,从而获得该待处理视频帧中的该用户的第一迭代过程中的3维人脸模型的人脸表情参数,并利用第一迭代过程中的人脸表情参数对第一线性方程进行求解,获得该待处理视频帧中的该用户的第一迭代过程中的3维人脸模型的人脸位姿;在第二次迭代求解过程中,利用第一次迭代求解过程中获得的3维人脸模型的人脸位姿和人脸表情参数,对第二线性方程进行求解,从而获得该待处理视频帧中的该用户的第二迭代过程中的3维人脸模型的人脸表情参数,并利用第二迭代过程中的人脸表情参数对第一线性方程进行求解,获得该待处理视频帧中的该用户的第二迭代过程中的3维人脸模型的人脸位姿;以此类推,在迭代条件满足的情况下,停止迭代求解的过程,最终获得待处理视频帧中该用户的3维人脸模型的人脸位姿和人脸表情参数。
在一个可选示例中,本申请中的迭代条件可以包括:迭代次数达到预定迭代次数。该迭代条件也可以包括:迭代获得的人脸位姿和人脸表情参数的变化量小于预定变化量等。
在一个可选示例中,上述第一线性方程可以表示为如下述公式(4)所示:
在上述公式(4)中,(u',v)表示待处理视频帧中的该用户的人脸关键点的2维坐标,f为焦距,(R1,R2,R3)表示矩阵R的第一行、第二行以及第三行,[t1,t2,t3]T表示T,X=Bwexp。由于前后相邻的视频帧中的同一人脸关键点所对应的3维人脸模型中的顶点坐标中z的变化非常小,因此,本申请可以设上述公式(4)中的R3X+t3的值等于该待处理视频帧的基于人脸位姿初始值的R3X+t3的值,如果将该待处理视频帧的基于人脸位姿初始值中的R3X+t3的值近似为z0的话,上述公式(4)可以变化为下述公式(4’)的形式:
在一个可选示例中,上述第二线性方程可以表示为如下述公式(5)所示:
在上述公式(5)中,(u'j,vj)表示待处理视频帧中的该用户的第j个人脸关键点的2维坐标,f为焦距,(R1,R2,R3)表示矩阵R的第一行、第二行以及第三行,[t1,t2,t3]T表示T,B(j)wexp表示第j个人脸关键点所对应的3维人脸模型中的顶点坐标X(j)
在一个可选示例中,本申请可以在上述公式(5)中增加至少一个用于避免过拟合的正则项,例如,可以在公式(5)中增加一个基于先验参数概率分布的正则项以及一个基于时序平衡的正则项。基于先验参数概率分布的正则项的作用在于约束PCA模型的参数,使PCA模型的参数接近参数期望。基于时序平衡的正则项可以使最终获得的人脸位姿和人脸表情参数与相应的初始值相近,从而可以得到较好的时序稳定性。
在公式(5)中增加基于先验参数概率分布的正则项以及基于时序平衡的正则项之后的公式如下述公式(6)所示:
在上述公式(6)中,λ1和λ2分别表示两个正则项的权重值,wexp (0)表示PCA模型中的人脸表情参数的均值,wexp (t)表示待处理视频帧的人脸表情参数初始值,σexp表示PCA模型中的人脸表情参数的方差。
由上述公式(4)至公式(6)可知,本申请将公式(1)和公式(2)的非线性方程的求解问题,转换为两个线性方程的优化问题,由于对线性方程的优化更易于实现,因此,本申请有利于减小获得人脸表情参数所需的时间,进而有利于提高本申请的表情迁移的实时性。
S130、根据获得的人脸表情参数,驱动虚拟角色的表情。
在一个可选示例中,本申请可以根据上述迭代求解,而最终获得的人脸表情参数,驱动虚拟角色的表情。本申请可以将迭代求解最终获得的3维人脸模型的人脸表情参数映射为语义表情系数,并根据语义表情系数驱动虚拟角色的表情。一个具体的例子,本申请可以将获得的基于N1组(如53组)表情基底所对应的人脸表情参数,映射为,基于N2组(如30组)表情基底所对应的语义表情参数。其中,N1小于N2。
在本申请中的PCA先验模型为基于53组表情基底而构建的PCA先验模型,且为未经截取处理的PCA先验模型的情况下,本申请可以通过对下述公式(7)进行求解,从而可以获得待处理视频帧中的用户的语义表情系数:
在上述公式(7)中,U表示PCA先验模型SVD(Singular Value Decomposition,奇异值分解)的矩阵,W53表示53组表情基底所对应的语义表情系数,w53表示上述迭代求解最终获得的3维人脸模型的人脸表情参数。
然而,在本申请中的PCA先验模型为经过截取处理的PCA先验模型的情况下,本申请可以在将迭代求解最终获得的人脸表情参数映射为语义表情系数的过程中,增加约束条件,即本申请可以根据约束条件,将迭代求解最终获得的人脸表情参数映射为语义表情系数;本申请中的约束条件主要用于避免映射过程中由于产生多解,而导致的出现不合理的语义表情系数,例如,语义表情系数为负数。
在一个可选示例中,本申请中的约束条件可以包括:语义表情系数之和为1,且各语义表情系数均为0-1之间的数值。
在通过对基于53组表情基底而构建的PCA先验模型进行截取处理,选取构建出的PCA先验模型的张量中的前30列的情况下,本申请可以通过对下述公式(8)进行求解,从而可以获得待处理视频帧中的用户的语义表情系数:
在上述公式(8)中,表示PCA先验模型SVD的矩阵U的截取矩阵,且可以为30×53的矩阵;W53表示53组表情基底所对应的语义表情系数,w30表示上述迭代求解最终获得的3维人脸模型的人脸表情参数。
本申请可以利用多种方法对上述公式(7)或者公式(8)进行求解,如利用二次规划方法对上述公式(7)或者公式(8)进行求解,本申请不限制求解的具体实现方式。
另外,本申请可以利用上述迭代求解最终获得的3维人脸模型的人脸位姿,来设置虚拟角色的脸部位姿,从而使虚拟角色的脸部位姿随着视频帧中的用户的人脸位姿的变化而变化。
图2为本申请的表情迁移装置一个实施例的结构示意图。如图2所示,该实施例的装置主要包括:获取关键点模块200、获取初始值模块210、获取表情参数模块220以及表情驱动模块230。可选的,该实施例的装置还包括:融合模型形成模块240以及设置位姿模块250中的至少一个。
获取关键点模块200主要用于获取视频序列中用户的人脸关键点。获取关键点模块200所执行的具体操作可以参见上述方法实施方式中针对步骤S100的描述。在此不再重复说明。
获取初始值模块210主要用于基于人脸关键点的人脸形状融合模型,获取待处理视频帧中用户的人脸表情参数初始值以及人脸位姿初始值。其中的人脸形状融合模型包括:基于主成分分析PCA先验模型,根据人脸关键点而实例化的模型。上述PCA先验模型通常为利用双线性模型的组织方式,而形成的双线性PCA先验模型。另一方面,本申请中的PCA先验模型通常为利用人脸关键点,而构建的PCA先验模型。
获取初始值模块210所涉及的人脸形状融合模型由融合模型形成模块240形成。融合模型形成模块240主要用于利用视频序列中的视频帧中的用户的人脸关键点,对非线性方程进行求解,从求解结果中获得人脸形状参数,并根据人脸形状参数对PCA先验模型进行实例化,形成人脸形状融合模型。其中的非线性方程包括:3维人脸模型的相应顶点坐标的2维投影与待处理视频帧中的用户的人脸关键点的坐标的误差最小的非线性方程。该非线性方程可以具体如上述方法实施方式中的公式(1)或者公式(3)所示。
融合模型形成模块240可以具体用于利用视频序列中的首个包含有用户的视频帧中的所述用户的人脸关键点,对非线性方程进行求解,在判断出求解结果中的人脸位姿符合正脸位姿要求,且误差符合预定误差要求的情况下,将求解结果中的人脸形状参数作为视频序列中用户的人脸形状参数,从而融合模型形成模块240根据该人脸形状参数对PCA先验模型进行实例化,形成人脸形状融合模型;否则,融合模型形成模块240利用下一个视频帧中的用户的人脸关键点,对非线性方程进行求解,直到判断出求解结果中的人脸位姿符合正脸位姿要求,且误差符合预定误差要求。
在一个可选示例中,融合模型形成模块240所获得的求解结果中的人脸表情参数,可以作为,用于预测获得人脸形状参数的视频帧的下一视频帧中,用户的人脸表情参数初始值的历史人脸表情参数。融合模型形成模块240所执行的具体操作可以参见上述方法实施方式中针对步骤S110的描述。在此不再重复说明。
本申请中的获取初始值模块210可以包括:第一子模块和第二子模块(图中未示出)。其中的第一子模块主要用于根据待处理视频帧所对应的历史人脸表情参数,预测待处理视频帧中用户的人脸表情参数。第一子模块预测出的人脸表情参数被作为待处理视频帧所对应的人脸表情参数初始值。例如,第一子模块可以根据待处理视频帧所对应的历史人脸表情参数,利用卡尔曼滤波方式,预测待处理视频帧中该用户的人脸表情参数。其中的第二子模块主要用于根据预测出的人脸表情参数,基于该非线性方程,获得该用户的人脸位姿初始值。例如,第二子模块可以包括第三子模块和第四子模块(图中未示出)。第三子模块主要用于根据人脸形状参数以及人脸表情参数初始值计算出3维人脸模型的各顶点坐标。第四子模块主要用于利用多个顶点坐标以及人脸表情参数初始值,对非线性方程进行求解,以获得人脸位姿。例如,第四子模块可以利用人脸关键点中的多个不动关键点各自对应的顶点坐标以及人脸表情参数初始值,对非线性方程进行求解,以获得人脸位姿。第四子模块所获得的人脸位姿被作为待处理视频帧所对应的人脸位姿初始值。
获取初始值模块210及其所包含的第一子模块、第二子模块、第三子模块以及第四子模块所执行的具体操作可以参见上述方法实施方式中针对步骤S110的描述。在此不再重复说明。
获取表情参数模块220主要用于根据人脸表情参数初始值、人脸位姿初始值以及人脸表情参数和人脸位置的线性关系获得用户的3维人脸模型的人脸表情参数。例如,获取表情参数模块220可以针对用于根据已知人脸表情参数初始值而获得人脸位姿的第一线性方程、以及用于根据已知人脸位姿初始值而获得人脸表情参数的第二线性方程,利用人脸表情参数初始值以及人脸位姿初始值,进行求解,以获得用户的3维人脸模型的人脸位姿和人脸表情参数,并基于求解获得的人脸位姿和人脸表情参数,对第一线性方程和第二线性方程进行迭代求解。本申请中的第一线性方程和第二线性方程,是基于3维人脸模型的相应顶点坐标的2维投影与待处理视频帧中的所述用户的人脸关键点的坐标的误差最小的非线性方程,而形成。例如,第一线性方程和/或第二线性方式,是基于将非线性方程中的3维人脸模型的相应顶点坐标的投影函数展开,并将顶点坐标中的z坐标采用z初始值表示,而形成的线性方程;其中,z初始值是根据人脸表情参数初始值以及人脸位姿初始值计算获得的。本申请中的第二线性方程包括:至少一个用于避免过拟合的正则项。例如,第二线性方程可以包括:基于先验参数概率分布的正则项以及基于时序平衡的正则项中的至少一个正则项。获取表情参数模块220所执行的具体操作可以参见上述方法实施方式中针对步骤S120的描述。在此不再重复说明。
表情驱动模块230主要用于根据上述获得的人脸表情参数,驱动虚拟角色的表情。表情驱动模块230可以包括:映射子模块以及驱动子模块(图中未示出)。其中的映射子模块主要用于将获得的人脸表情参数,映射为语义表情系数。其中的驱动子模块主要用于根据语义表情系数驱动虚拟角色的表情。
在一个可选示例中,在形成人脸形状融合模型的PCA先验模型包括:被截取的PCA先验模型的情况下,本申请中的映射子模块可以将获得的基于N1组(如53组)表情基底所对应的人脸表情参数,映射为,基于N2组(如30组)表情基底所对应的语义表情参数。其中的N1小于N2。
在一个可选示例中,映射子模块在将获得的基于N1组表情基底所对应的人脸表情参数,映射为基于N2组表情基底所对应的语义表情参数过程中,所使用的约束条件包括:语义表情系数之和为1,且每个语义表情系数均为0-1之间的数值。
表情驱动模块230及其所包含的映射子模块以及驱动子模块所执行的具体操作可以参见上述方法实施方式中针对S130的描述,在此不再详细说明。
设置位姿模块250主要用于根据迭代求解最终获得的人脸位姿,设置虚拟角色的脸部位姿。
图3示出了适于实现本申请的示例性设备300,设备300可以是汽车中配置的控制系统/电子系统、移动终端(例如,智能移动电话等)、个人计算机(PC,例如,台式计算机或者笔记型计算机等)、平板电脑以及服务器等。图3中,设备300包括一个或者多个处理器、通信部等,所述一个或者多个处理器可以为:一个或者多个中央处理单元(CPU)301,和/或,一个或者多个利用神经网络进行表情迁移的图像处理器(GPU)313等,处理器可以根据存储在只读存储器(ROM)302中的可执行指令或者从存储部分308加载到随机访问存储器(RAM)303中的可执行指令而执行各种适当的动作和处理。通信部312可以包括但不限于网卡,所述网卡可以包括但不限于IB(Infiniband)网卡。处理器可与只读存储器302和/或随机访问存储器330中通信以执行可执行指令,通过总线304与通信部312相连、并经通信部312与其他目标设备通信,从而完成本申请中的相应步骤。
上述各指令所执行的操作可以参见上述方法实施例中的相关描述,在此不再详细说明。
此外,在RAM 303中,还可以存储有装置操作所需的各种程序以及数据。CPU301、ROM302以及RAM303通过总线304彼此相连。在有RAM303的情况下,ROM302为可选模块。RAM303存储可执行指令,或在运行时向ROM302中写入可执行指令,可执行指令使中央处理单元301执行上述表情迁移方法所包括的步骤。输入/输出(I/O)接口305也连接至总线304。通信部312可以集成设置,也可以设置为具有多个子模块(例如,多个IB网卡),并分别与总线连接。
以下部件连接至I/O接口305:包括键盘、鼠标等的输入部分306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分307;包括硬盘等的存储部分308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分309。通信部分309经由诸如因特网的网络执行通信处理。驱动器310也根据需要连接至I/O接口305。可拆卸介质311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器310上,以便于从其上读出的计算机程序根据需要被安装在存储部分308中。
需要特别说明的是,如图3所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图3的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如,GPU和CPU可分离设置,再如理,可将GPU集成在CPU上,通信部可分离设置,也可集成设置在CPU或GPU上等。这些可替换的实施方式均落入本申请的保护范围。
特别地,根据本申请的实施方式,下文参考流程图描述的过程可以被实现为计算机软件程序,例如,本申请实施方式包括一种计算机程序产品,其包含有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的步骤的程序代码,程序代码可包括对应执行本申请提供的方法中的步骤对应的指令。
在这样的实施方式中,该计算机程序可以通过通信部分309从网络上被下载及安装,和/或从可拆卸介质311被安装。在该计算机程序被中央处理单元(CPU)301执行时,执行本申请中记载的实现上述相应步骤的指令。
在一个或多个可选实施方式中,本公开实施例还提供了一种计算机程序程序产品,用于存储计算机可读指令,所述指令被执行时使得计算机执行上述任意实施例中所述的表情迁移方法。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选例子中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选例子中,所述计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
在一个或多个可选实施方式中,本公开实施例还提供了另一种表情迁移方法及其对应的装置和电子设备、计算机存储介质、计算机程序以及计算机程序产品,其中,该方法包括:第一装置向第二装置发送表情迁移指示,该指示使得第二装置执行上述任一可能的实施例中的表情迁移方法;第一装置接收第二装置发送的表情迁移结果。
在一些实施例中,该表情迁移指示可以具体为调用指令,第一装置可以通过调用的方式指示第二装置执行表情迁移操作,相应地,响应于接收到调用指令,第二装置可以执行上述表情迁移方法中的任意实施例中的步骤和/或流程。
应理解,本公开实施例中的“第一”、“第二”等术语仅仅是为了区分,而不应理解成对本公开实施例的限定。
还应理解,在本公开中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
可能以许多方式来实现本申请的方法和装置、电子设备以及计算机可读存储介质。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本申请的方法和装置、电子设备以及计算机可读存储介质。用于方法的步骤的上述顺序仅是为了进行说明,本申请的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施方式中,还可将本申请实施为记录在记录介质中的程序,这些程序包括用于实现根据本申请的方法的机器可读指令。因而,本申请还覆盖存储用于执行根据本申请的方法的程序的记录介质。
本申请的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本申请限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言,是显然的。选择和描述实施方式是为了更好说明本申请的原理以及实际应用,并且使本领域的普通技术人员能够理解本申请实施例可以从而设计适于特定用途的带有各种修改的各种实施方式。

Claims (10)

1.一种表情迁移方法,其特征在于,包括:
获取视频序列中用户的人脸关键点;
基于所述人脸关键点的人脸形状融合模型,获取待处理视频帧中所述用户的人脸表情参数初始值以及人脸位姿初始值;
根据所述人脸表情参数初始值、人脸位姿初始值以及人脸表情参数和人脸位置的线性关系获得所述用户的3维人脸模型的人脸表情参数;
根据所述获得的人脸表情参数,驱动虚拟角色的表情。
2.根据权利要求1所述的方法,其特征在于,所述人脸形状融合模型包括:基于主成分分析PCA先验模型,根据所述人脸关键点而实例化的模型。
3.根据权利要求2所述的方法,其特征在于,所述PCA先验模型包括:利用双线性模型的组织方式,而形成的双线性PCA先验模型。
4.根据权利要求2至3中任一项所述的方法,其特征在于,所述PCA先验模型包括:利用人脸关键点,而构建的PCA先验模型。
5.根据权利要求2至4中任一项所述的方法,其特征在于,所述人脸形状融合模型的形成方式包括:
利用所述视频序列中的视频帧中的所述用户的人脸关键点,对非线性方程进行求解,从求解结果中获得所述人脸形状参数;
根据所述人脸形状参数对所述PCA先验模型进行实例化,形成人脸形状融合模型;
其中,所述非线性方程包括:所述3维人脸模型的相应顶点坐标的2维投影与所述待处理视频帧中的所述用户的人脸关键点的坐标的误差最小的非线性方程。
6.根据权利要求5所述的方法,其特征在于,所述利用所述视频序列中的视频帧中的所述用户的人脸关键点,对所述非线性方程进行求解,从求解结果中获得所述人脸形状参数包括:
利用所述视频序列中的首个包含有所述用户的视频帧中的所述用户的人脸关键点,对所述非线性方程进行求解,在判断出求解结果中的人脸位姿符合正脸位姿要求,且所述误差符合预定误差要求的情况下,将所述求解结果中的人脸形状参数作为视频序列中用户的人脸形状参数,否则,利用下一个视频帧中的所述用户的人脸关键点,对所述非线性方程进行求解,直到判断出求解结果中的人脸位姿符合正脸位姿要求,且所述误差符合预定误差要求。
7.一种表情迁移装置,其特征在于,包括:
获取关键点模块,用于获取视频序列中用户的人脸关键点;
获取初始值模块,用于基于所述人脸关键点的人脸形状融合模型,获取待处理视频帧中所述用户的人脸表情参数初始值以及人脸位姿初始值;
获取表情参数模块,用于根据所述人脸表情参数初始值、人脸位姿初始值以及人脸表情参数和人脸位置的线性关系获得所述用户的3维人脸模型的人脸表情参数;
表情驱动模块,用于根据所述获得的人脸表情参数,驱动虚拟角色的表情。
8.一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述权利要求1-6中任一项所述的方法。
9.一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现上述权利要求1-6中任一项所述的方法。
10.一种计算机程序,包括计算机指令,当所述计算机指令在设备的处理器中运行时,实现上述权利要求1-6中任一项所述的方法。
CN201810151946.6A 2018-02-14 2018-02-14 表情迁移方法、装置存储介质及程序 Active CN108399383B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810151946.6A CN108399383B (zh) 2018-02-14 2018-02-14 表情迁移方法、装置存储介质及程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810151946.6A CN108399383B (zh) 2018-02-14 2018-02-14 表情迁移方法、装置存储介质及程序

Publications (2)

Publication Number Publication Date
CN108399383A true CN108399383A (zh) 2018-08-14
CN108399383B CN108399383B (zh) 2021-03-23

Family

ID=63096621

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810151946.6A Active CN108399383B (zh) 2018-02-14 2018-02-14 表情迁移方法、装置存储介质及程序

Country Status (1)

Country Link
CN (1) CN108399383B (zh)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109840019A (zh) * 2019-02-22 2019-06-04 网易(杭州)网络有限公司 虚拟人物的控制方法、装置及存储介质
CN109978996A (zh) * 2019-03-28 2019-07-05 北京达佳互联信息技术有限公司 生成表情三维模型的方法、装置、终端及存储介质
CN110399825A (zh) * 2019-07-22 2019-11-01 广州华多网络科技有限公司 面部表情迁移方法、装置、存储介质及计算机设备
CN110490897A (zh) * 2019-07-30 2019-11-22 维沃移动通信有限公司 模仿视频生成的方法和电子设备
CN110705094A (zh) * 2019-09-29 2020-01-17 深圳市商汤科技有限公司 柔性体仿真方法和装置、电子设备、计算机可读存储介质
CN110719415A (zh) * 2019-09-30 2020-01-21 深圳市商汤科技有限公司 一种视频图像处理方法、装置、电子设备及计算机可读介质
CN110941332A (zh) * 2019-11-06 2020-03-31 北京百度网讯科技有限公司 表情驱动方法、装置、电子设备及存储介质
CN111311712A (zh) * 2020-02-24 2020-06-19 北京百度网讯科技有限公司 视频帧处理方法和装置
CN111314627A (zh) * 2020-02-24 2020-06-19 北京百度网讯科技有限公司 用于处理视频帧的方法和装置
CN111597926A (zh) * 2020-04-29 2020-08-28 深圳市商汤智能传感科技有限公司 图像处理方法及装置、电子设备及存储介质
CN111598977A (zh) * 2020-05-21 2020-08-28 北京中科深智科技有限公司 一种表情迁移并动画化的方法及系统
CN111768479A (zh) * 2020-07-29 2020-10-13 腾讯科技(深圳)有限公司 图像处理方法、装置、计算机设备以及存储介质
CN112861780A (zh) * 2021-03-05 2021-05-28 上海有个机器人有限公司 一种行人重识别方法、装置、介质和移动机器人
CN113269700A (zh) * 2021-04-29 2021-08-17 北京达佳互联信息技术有限公司 视频生成方法、装置、电子设备及存储介质
CN113633983A (zh) * 2021-08-16 2021-11-12 上海交通大学 虚拟角色表情控制的方法、装置、电子设备及介质
CN115116106A (zh) * 2022-01-14 2022-09-27 长城汽车股份有限公司 车载虚拟形象的表情生成方法、装置、车载设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107154069A (zh) * 2017-05-11 2017-09-12 上海微漫网络科技有限公司 一种基于虚拟角色的数据处理方法及系统
CN107203961A (zh) * 2016-03-17 2017-09-26 掌赢信息科技(上海)有限公司 一种表情迁移的方法及电子设备
CN107341784A (zh) * 2016-04-29 2017-11-10 掌赢信息科技(上海)有限公司 一种表情迁移方法及电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107203961A (zh) * 2016-03-17 2017-09-26 掌赢信息科技(上海)有限公司 一种表情迁移的方法及电子设备
CN107341784A (zh) * 2016-04-29 2017-11-10 掌赢信息科技(上海)有限公司 一种表情迁移方法及电子设备
CN107154069A (zh) * 2017-05-11 2017-09-12 上海微漫网络科技有限公司 一种基于虚拟角色的数据处理方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DANIEL VLASIC等: "Face Transfer with Multilinear Models", 《ACM TRANSACTIONS ON GRAPHICS》 *
黄炎辉 等: "基于单目RGB摄像机的三维人脸表情跟踪算法", 《山东大学学报(工学版)》 *

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109840019A (zh) * 2019-02-22 2019-06-04 网易(杭州)网络有限公司 虚拟人物的控制方法、装置及存储介质
CN109978996A (zh) * 2019-03-28 2019-07-05 北京达佳互联信息技术有限公司 生成表情三维模型的方法、装置、终端及存储介质
CN109978996B (zh) * 2019-03-28 2021-06-11 北京达佳互联信息技术有限公司 生成表情三维模型的方法、装置、终端及存储介质
CN110399825A (zh) * 2019-07-22 2019-11-01 广州华多网络科技有限公司 面部表情迁移方法、装置、存储介质及计算机设备
WO2021012590A1 (zh) * 2019-07-22 2021-01-28 广州华多网络科技有限公司 面部表情迁移方法、装置、存储介质及计算机设备
CN110490897A (zh) * 2019-07-30 2019-11-22 维沃移动通信有限公司 模仿视频生成的方法和电子设备
CN110705094A (zh) * 2019-09-29 2020-01-17 深圳市商汤科技有限公司 柔性体仿真方法和装置、电子设备、计算机可读存储介质
CN110719415A (zh) * 2019-09-30 2020-01-21 深圳市商汤科技有限公司 一种视频图像处理方法、装置、电子设备及计算机可读介质
CN110719415B (zh) * 2019-09-30 2022-03-15 深圳市商汤科技有限公司 一种视频图像处理方法、装置、电子设备及计算机可读介质
CN110941332A (zh) * 2019-11-06 2020-03-31 北京百度网讯科技有限公司 表情驱动方法、装置、电子设备及存储介质
CN111314627A (zh) * 2020-02-24 2020-06-19 北京百度网讯科技有限公司 用于处理视频帧的方法和装置
CN111311712A (zh) * 2020-02-24 2020-06-19 北京百度网讯科技有限公司 视频帧处理方法和装置
CN111314627B (zh) * 2020-02-24 2022-03-11 北京百度网讯科技有限公司 用于处理视频帧的方法和装置
CN111597926A (zh) * 2020-04-29 2020-08-28 深圳市商汤智能传感科技有限公司 图像处理方法及装置、电子设备及存储介质
CN111598977A (zh) * 2020-05-21 2020-08-28 北京中科深智科技有限公司 一种表情迁移并动画化的方法及系统
CN111768479A (zh) * 2020-07-29 2020-10-13 腾讯科技(深圳)有限公司 图像处理方法、装置、计算机设备以及存储介质
CN112861780A (zh) * 2021-03-05 2021-05-28 上海有个机器人有限公司 一种行人重识别方法、装置、介质和移动机器人
CN112861780B (zh) * 2021-03-05 2024-08-06 上海有个机器人有限公司 一种行人重识别方法、装置、介质和移动机器人
CN113269700A (zh) * 2021-04-29 2021-08-17 北京达佳互联信息技术有限公司 视频生成方法、装置、电子设备及存储介质
CN113269700B (zh) * 2021-04-29 2023-12-12 北京达佳互联信息技术有限公司 视频生成方法、装置、电子设备及存储介质
CN113633983A (zh) * 2021-08-16 2021-11-12 上海交通大学 虚拟角色表情控制的方法、装置、电子设备及介质
CN113633983B (zh) * 2021-08-16 2024-03-15 上海交通大学 虚拟角色表情控制的方法、装置、电子设备及介质
CN115116106A (zh) * 2022-01-14 2022-09-27 长城汽车股份有限公司 车载虚拟形象的表情生成方法、装置、车载设备及介质

Also Published As

Publication number Publication date
CN108399383B (zh) 2021-03-23

Similar Documents

Publication Publication Date Title
CN108399383A (zh) 表情迁移方法、装置存储介质及程序
US11587300B2 (en) Method and apparatus for generating three-dimensional virtual image, and storage medium
CN109934792B (zh) 电子装置及其控制方法
CN109313490A (zh) 使用神经网络的眼睛注视跟踪
US10706205B2 (en) Detecting hotspots in physical design layout patterns utilizing hotspot detection model with data augmentation
US20190266773A1 (en) Automatic rig creation process
CN109345553A (zh) 一种手掌及其关键点检测方法、装置和终端设备
US11087517B2 (en) Sketch-based abstraction for character posing and synthesis
CN110023964A (zh) 训练和/或使用神经网络模型来生成光谱图像的中间输出
Fraley et al. Package ‘mclust’
EP3944132A1 (en) Active interaction method and apparatus, electronic device and readable storage medium
JP2023524252A (ja) 生成的非線形人間形状モデル
CN113035198B (zh) 三维人脸的唇动控制方法、设备和介质
CN107945219A (zh) 脸部图像对齐方法、计算机程序、存储介质及电子设备
JP2024507599A (ja) ラベルデータの検証のためのシステムおよびコンピュータにより実施される方法
JP7390445B2 (ja) 文字位置決めモデルのトレーニング方法及び文字位置決め方法
JP2022168167A (ja) 画像処理方法、装置、電子機器及び記憶媒体
CN114898062A (zh) 一种基于动态场景下slam的地图构建方法及装置
CN109815854A (zh) 一种用于在用户设备上呈现图标的关联信息的方法与设备
CN106406693B (zh) 图像选中方法及装置
Li The influence of digital twins on the methods of film and television creation
CN110288691A (zh) 渲染图像的方法、装置、电子设备和计算机可读存储介质
CN114913549B (zh) 图像处理方法、装置、设备及介质
Nishino et al. A virtual environment for modeling 3D objects through spatial interaction
CN116229130A (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
GR01 Patent grant
GR01 Patent grant