CN116391209A - 现实的音频驱动的3d化身生成 - Google Patents

现实的音频驱动的3d化身生成 Download PDF

Info

Publication number
CN116391209A
CN116391209A CN202180073104.3A CN202180073104A CN116391209A CN 116391209 A CN116391209 A CN 116391209A CN 202180073104 A CN202180073104 A CN 202180073104A CN 116391209 A CN116391209 A CN 116391209A
Authority
CN
China
Prior art keywords
parameters
facial
audio
image
training
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
Application number
CN202180073104.3A
Other languages
English (en)
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.)
Innopeak Technology Inc
Original Assignee
Innopeak Technology Inc
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 Innopeak Technology Inc filed Critical Innopeak Technology Inc
Publication of CN116391209A publication Critical patent/CN116391209A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/2053D [Three Dimensional] animation driven by audio data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)

Abstract

本申请针对生成与音频数据同步动画化的3D化身。计算机系统从图像生成与人物相关联的面部的面部参数。面部参数包括描述面部的形状的形状参数和描述面部的表情的表情参数。计算机系统基于面部参数生成与人物相关联的面部的3D面部模型的颜色纹理图和位移图。此外,独立于图像从音频数据中提取基于音频的面部参数。计算机系统根据形状参数、表情参数、颜色纹理图、位移图、以及基于音频的面部参数在视频片段中渲染人物的3D化身,在视频片段中,针对与音频数据同步的音频活动将3D化身动画化。

Description

现实的音频驱动的3D化身生成
相关申请的交叉引用
本申请要求2020年11月13日提交的申请号为63/113,746、发明名称为“现实的音频驱动的3D头部生成”的美国临时专利申请的优先权,其全部内容通过引用并入本文。
技术领域
本申请一般涉及数据处理技术,包括但不限于使用深度学习技术与音频数据同步地将三维(3)化身动画化的方法、系统、以及非暂时性计算机可读介质。
背景技术
深度学习技术已应用于从单个图像生成3D个性化头部。模板3D面部模型被拟合到相关面部的关键点,并与3D个性化头部结合。这种3D个性化头部通常是静态的并且没有被动画化,而且3D个性化头部缺少面部细节(例如皱纹)。在一些情况下,3D个性化头部可以由音频序列驱动。然而,3D个性化头部上只合成了嘴部动作,而没有涉及任何面部表情。通过音频数据将3D个性化化身动画化将是有益的。
发明内容
因此,需要一种高效3D化身驱动机制用于从二维(two-dimensional,2D)图像创建3D个性化化身,并与独立的音频数据同步驱动3D个性化化身。3D化身驱动机制从包括个性化面部的单个图像自动生成3D头部模型。3D头部模型具有高分辨率的纹理图和高分辨率的几何细节,并且可以根据一组动画参数进行驱动或动画化。这组动画参数是从人声说话或唱歌的音频序列中预测的,并应用于驱动和动画化3D头部模型。此外,3D头部模型被渲染成具有照片般现实的面部特征。在一些实施例中,这种3D化身驱动机制由针对具有有限计算资源的移动设备优化的神经网络模型实现。
在一方面,在计算机系统实现了一种用于渲染动画化的3D化身的方法。该方法包括获取包括人物的2D图像。该方法包括获取音频数据,该音频数据独立于2D图像。该方法还包括从2D图像中生成与该人物相关联的面部的多个面部参数。该多个面部参数包括描述面部的形状的第一组形状参数和描述面部的表情的第二组表情参数。该方法还包括基于该多个面部参数,从2D图像生成与人物相关联的面部的3D面部模型的颜色纹理图和位移图。该方法还包括独立于2D图像从音频数据生成多个基于音频的面部参数。该方法还包括根据第一组形状参数、第二组表情参数、颜色纹理图、位移图、以及基于音频的面部参数,在视频片段中渲染人物的3D化身,在该视频片段中,针对与音频数据同步的音频活动将3D化身动画化。该音频活动至少包括唇部运动(简称为唇动)。应注意,3D化身的动画不限于嘴部区域,还涉及头部、面部表情、嘴部、头发、或3D化身的其他区域中的一个或多个的运动。
在另一方面,一些实施例包括计算机系统,该计算机系统包括一个或多个处理器和存储有指令的存储器,这些指令在由一个或多个处理器执行时,使处理器执行上述任何方法。
在另一方面,一些实施例包括非暂时性计算机可读介质,非暂时性计算机可读介质存储有指令,这些指令在由一个或多个处理器执行时,使处理器执行上述任何方法。
提到这些说明性实施例和实施方式并非为了限制或定义本公开,而是为了提供示例以帮助理解。在具体实施方式中讨论了其他实施例并提供了进一步的描述。
附图说明
为了更好理解各种描述的实施方式,应结合以下附图参考下面的具体实施方式,在附图中,在整个附图中,类似的参考标号指代相应部分。
图1是根据一些实施例的具有通信耦合到一个或多个客户端设备的一个或多个服务器的示例数据处理环境。
图2是示出了根据一些实施例的数据处理系统的框图。
图3是根据一些实施例的用于训练和应用用于处理视觉和/或音频数据的基于神经网络的数据处理模型的数据处理环境。
图4A是根据一些实施例的应用于处理基于NN的数据处理模型中的内容数据的示例神经网络,图4B是根据一些实施例的神经网络中的示例节点。
图5是根据一些实施例的用于基于2D图像与音频数据同步渲染3D化身的化身生成模型的框图。
图6A、图6B、以及图6C分别是根据一些实施例的训练用于生成3D化身的粗重建网络(CRN)的三个过程的流程图。
图7是根据一些实施例的细重建网络(FRN)的框图。
图8是根据一些实施例的音频面部神经网络的框图。
图9是根据一些实施例的生成或驱动3D化身的方法的流程图。
在整个附图的几个视图中,类似的参考标号指代相应部分。
具体实施方式
现详细参考具体的实施例,附图中示出了这些实施例的示例。以下具体实施方式中阐述了许多非限制性的具体细节,以帮助理解本文提出的主题。但对于本领域普通技术人员来说显而易见的是,可以在不脱离权利要求范围的情况下使用各种替代方案,并且该主题可以在没有这些具体细节的情况下实践。例如,对于本领域普通技术人员来说显而易见的是,本文提出的主题可以在具有数字视频功能的多种类型的电子设备实现。
在本申请的各种实施例中,使用人声(例如说话或唱歌)的音频序列将人物头部的3D数字模型动画化。人物头部的3D数字模型是从输入图像重建的,该输入图像包括人物的眼睛、头发和牙齿。生成人物头部的3D数字模型的纹理并将其用于渲染3D数字模型。在通过一组参数动画化并通过给定的音频数据驱动人物头部的3D数字模型时,形成一个装配好的头部模型。3D数字模型应用于基于用户的照片为用户生成个性化虚拟化身。该化身可以应用于许多不同的用户应用程序,包括涉及增强现实或虚拟现实的社交网络应用程序。这种个性化化身与用户的标识(identity)相关联,并代表用户说话和表达情感。
图1是根据一些实施例的具有通信耦合到一个或多个客户端设备104的一个或多个服务器102的示例数据处理环境100。一个或多个客户端设备104可以例如是台式电脑104A、平板电脑104B、移动电话104C、头戴式显示器(head-mounted display,HMD)(也称为增强现实(augmented reality,AR)眼镜)104D,或智能多感知联网家庭设备(例如,监控摄像头104E、智能电视设备、无人机)。每个客户端设备104可以收集数据或用户输入,执行用户应用程序,并在其用户界面上呈现输出。收集的数据或用户输入可以在客户端设备104本地处理和/或由服务器102远程处理。一个或多个服务器102向客户端设备104提供系统数据(例如启动文件、操作系统图像、用户应用程序),并且在一些实施例中,用户应用程序在客户端设备104上执行时,处理从客户端设备104接收的数据和用户输入。在一些实施例中,数据处理环境100还包括存储器106,存储器106用于存储与服务器102、客户端设备104、以及在客户端设备104上执行的应用程序相关的数据。
一个或多个服务器102用于与彼此相距较远或距一个或多个服务器102较远的客户端设备104进行实时数据通信。此外,在一些实施例中,一个或多个服务器102用于执行客户端设备104无法本地完成或最好不由客户端设备104本地完成的数据处理任务。例如,客户端设备104包括游戏控制台(例如HMD 104D),该游戏控制台执行交互式在线游戏应用程序。游戏控制台接收用户指令并将用户指令与用户数据一起发送到游戏服务器102。游戏服务器102基于用户指令和用户数据生成视频数据流,并提供视频数据流以显示在游戏控制台和与游戏控制台进行同一游戏会话的其他客户端设备上。在另一示例中,客户端设备104包括联网监控摄像头104E和移动电话104C。联网监控摄像头104E收集视频数据,并将视频数据实时地流式传输到监控摄像头服务器102。当视频数据可选地在监控摄像头104E上预处理时,监控摄像头服务器102处理视频数据以识别视频数据中的运动事件或音频事件,并与移动电话104C共享这些事件的信息,从而使移动电话104的用户能够实时远程监控发生在联网监控摄像头104E附近的事件。
一个或多个服务器102、一个或多个客户端设备104、以及存储器106通过一个或多个通信网络108相互通信耦合,通信网络108是用于为数据处理环境100内的这些设备和连接在一起的计算机之间提供通信链路的介质。一个或多个通信网络108可以包括连接,例如电线、无线通信链路、或光缆。一个或多个通信网络108的示例包括局域网(local areanetwork,LAN)、广域网(wide area network,WAN)(例如互联网)、或其组合。一个或多个通信网络108可选地使用任何已知的网络协议实现,上述网络协议包括各种有线或无线协议,如以太网、通用串行总线(universal serial bus,USB)、火线(FIREWIRE)、长期演进(longterm evolution,LTE)、全球移动通信系统(global system for mobile communications,GSM)、增强型数据GSM环境(enhanced data GSM environment,EDGE)、码分多址(codedivision multiple access,CDMA)、时分多址(time division multiple access,TDMA)、蓝牙、Wi-Fi、互联网语音协议(voice over internet protocol,VoIP)、Wi-MAX、或任何其他合适的通信协议。与一个或多个通信网络108的连接可以(例如使用与无线运营商的3G/4G连接)直接建立,或通过网络接口110(例如路由器、交换机、网关、集线器、或智能专用全屋控制节点)建立,或通过其任何组合建立。因此,一个或多个通信网络108可以表示使用传输控制协议(transmission control protocol,TCP)/互联网协议(internet protocol,IP)协议组相互通信的网络和网关的全球互联网集合。互联网的核心是主要节点或主机之间的高速数据通信线路的主干,由成千上万的商业、政府、教育和路由数据和消息的其他计算机系统组成。
在一些实施例中,在数据处理环境100中应用深度学习技术来处理在客户端设备104执行的应用程序获取的内容数据(例如视频数据、视觉数据、音频数据),以识别内容数据中包含的信息,将内容数据与其他数据匹配,对内容数据进行分类,或合成相关内容数据。内容数据可以广泛地包括客户端设备104的惯性传感器捕获的惯性传感器数据。在这些深度学习技术中,基于一个或多个神经网络创建数据处理模型来处理内容数据。这些数据处理模型在应用于处理内容数据之前,用训练数据进行训练。在模型训练之后,移动电话104C或HMD 104D获取内容数据(例如通过内部摄像头捕获视频数据),并在本地使用数据处理模型处理内容数据。
在一些实施例中,模型训练和数据处理都是在每个单独的客户端设备104(例如移动电话104C和HMD 104D)上本地实现的。客户端设备104从一个或多个服务器102或存储器106获取训练数据,并应用训练数据来训练数据处理模型。或者,在一些实施例中,模型训练和数据处理都是在与客户端设备104(例如客户端设备104A和HMD 104D)相关联的服务器102(例如服务器102A)上远程实现的。服务器102A从其自身、另一服务器102、或存储器106获取训练数据,并应用训练数据来训练数据处理模型。客户端设备104获取内容数据,将内容数据发送到服务器102A(例如在应用程序中)以使用训练后的数据处理模型进行数据处理,从服务器102A接收数据处理结果(例如识别的手势),在例如与应用程序相关联的用户界面上呈现结果,基于姿势在视场中渲染虚拟对象,或基于结果实现一些其他功能。客户端设备104在将内容数据发送到服务器102A之前,本身不对或很少对内容数据进行数据处理。此外,在一些实施例中,数据处理在客户端设备104(例如客户端设备104B和HMD 104D)本地实现,而模型训练在与客户端设备104相关联的服务器102(例如,服务器102B)远程实现。服务器102B从其自身、另一服务器102、或存储器106获取训练数据,并应用训练数据来训练数据处理模型。训练后的数据处理模型可选地存储在服务器102B或存储器106中。客户端设备104从服务器102B或存储器106导入训练后的数据处理模型,使用数据处理模型处理内容数据,并生成数据处理结果,以呈现在用户界面上或用于在本地启动一些功能(例如基于设备姿势渲染虚拟对象)。
在一些实施例中,一对AR眼镜104D(也称为HMD)在数据处理环境100中通信耦合。AR眼镜104D包括摄像头、麦克风、扬声器、一个或多个惯性传感器(例如陀螺仪、加速计)、以及显示器。摄像头和麦克风用于从AR眼镜104D的场景中捕获视频和音频数据,而一个或多个惯性传感器用于捕获惯性传感器数据。在一些情况下,摄像头捕获佩戴AR眼镜104D的用户的手势,并使用两级手势识别模型在本地实时识别手势。在一些情况下,麦克风记录环境声音,包括用户的语音命令。在一些情况下,由摄像头捕获的视频或静态视觉数据和由一个或多个惯性传感器测量的惯性传感器数据应用于确定和预测设备姿势。AR眼镜104D和/或服务器102处理由AR眼镜104D捕获的视频、静态图像、音频、或惯性传感器数据以识别设备姿势。可选地,服务器102和AR眼镜104D共同应用深度学习技术来识别和预测设备姿势。设备姿势用于控制AR眼镜104D本身,或与AR眼镜104D执行的应用程序(例如游戏应用程序)交互。在一些实施例中,AR眼镜104D的显示器显示用户界面,识别或预测的设备姿势用于在用户界面上渲染用户可选择的显示项(例如化身),或与用户界面上用户可选择的显示项交互。
如上所述,在一些实施例中,在数据处理环境100中应用深度学习技术来处理由AR眼镜104D捕获的视频数据、静态图像数据、或惯性传感器数据。基于这种视频、静态图像、和/或惯性传感器数据,使用第一数据处理模型识别和预测2D或3D设备姿势。可选地,使用第二数据处理模型生成视觉内容。第一数据处理模型和第二数据处理模型的训练可选地由服务器102或AR眼镜104D实现。设备姿势和视觉内容的推断由服务器102和AR眼镜104D中的每个独立实现,或由服务器102和AR眼镜104D共同实现。
图2是示出了根据一些实施例的数据处理系统200的框图。数据处理系统200包括服务器102、客户端设备104(例如图1中的AR眼镜104D)、存储器106、或其组合。数据处理系统200通常包括一个或多个处理单元(CPU)202,一个或多个网络接口204、存储器206、以及用于互连这些组件(有时称为芯片组)的一个或多个通信总线208。数据处理系统200包括便于用户输入的一个或多个输入设备210,例如键盘、鼠标、语音指令输入单元或麦克风、触摸屏显示器、触摸感应输入板、手势捕获摄像头、或其他输入按钮或控件。此外,在一些实施例中,数据处理系统200的客户端设备104使用麦克风和语音识别或摄像头和手势识别来补充或替代键盘。在一些实施例中,客户端设备104包括一个或多个摄像头、扫描仪、或照片传感器单元用于捕获图像,例如,印在电子设备上的图形序列码。数据处理系统200还包括能够呈现用户界面和显示内容的一个或多个输出设备212,包括一个或多个扬声器和/或一个或多个视觉显示器。可选地,客户端设备104包括位置检测设备,如全球定位卫星(globalpositioning satellite,GPS)或其他地理定位接收器,用于确定客户端设备104的位置。
存储器206包括高速随机存取存储器,例如DRAM、SRAM、DDR RAM、或其他随机存取固态存储器设备;并且可选地,包括非易失性存储器,例如一个或多个磁盘存储设备、一个或多个光盘存储设备、一个或多个闪存设备、或一个或多个其他非易失性固态存储设备。可选地,存储器206包括远离一个或多个处理单元202的一个或多个存储设备。存储器206或存储器206内的非易失性存储器包括非暂时性计算机可读存储介质。在一些实施例中,存储器206或存储器206的非暂时性计算机可读存储介质存储以下程序、模块、以及数据结构、或其子集或超集:
·操作系统214,包括用于处理各种基本系统服务和执行硬件相关任务的程序;
·网络通信模块216,用于通过一个或多个网络接口204(有线或无线)和一个或多个通信网络108(例如互联网、其他广域网、局域网、城域网等)将每个服务器102或客户端设备104连接到其他设备(例如服务器102、客户端设备104、或存储器106);
·用户界面模块218,用于通过一个或多个输出设备212(例如显示器、扬声器等)在每个客户端设备104上呈现信息(例如应用程序224的图形用户界面、小部件、网站及其网页、和/或游戏、音频和/或视频内容、文本等);
·输入处理模块220,用于从一个或多个输入设备210之一检测一个或多个用户输入或交互,并解释检测到的输入或交互;
·网络浏览器模块222,用于导航、请求(例如通过HTTP)、以及显示网站及其网页(包括用于登录与客户端设备104或另一电子设备相关联的用户账户的网络界面),控制客户端或电子设备(如果与用户账户相关联),以及编辑和查看与用户账户相关联的设置和数据;
·一个或多个用户应用程序224,用于由数据处理系统200执行(例如游戏、社交网络应用程序、智能家居应用程序、和/或用于控制另一电子设备和查看由这种设备捕获的数据的其他基于网络或非基于网络的应用程序);
·模型训练模块226,用于接收训练数据并建立用于处理将由客户端设备104收集或获取的内容数据(例如视频、图像、音频、或文本数据)的数据处理模型;
·数据处理模块228(例如应用于实现图5中的化身生成模型500),用于使用数据处理模型240(例如化身生成模型500)处理内容数据,从而识别内容数据中包含的信息,将内容数据与其他数据匹配,对内容数据进行分类,或合成相关内容数据,其中,在一些实施例中,数据处理模块228与用户应用程序224之一相关联,以响应于从用户应用程序224接收到的用户指令来处理内容数据;
·一个或多个数据库230,用于存储至少包括以下中的一个或多个的数据:
ο设备设置232,包括一个或多个服务器102或客户端设备104的常用设备设置(例如服务层级、设备型号、存储容量、处理能力、通信能力等);
ο一个或多个用户应用程序224的用户账户信息234,例如用户名、安全问题、账户历史数据、用户偏好、以及预定账户设置;
ο一个或多个通信网络108的网络参数236,例如IP地址、子网掩码、默认网关、DNS服务器、以及主机名;
ο训练数据238,用于训练一个或多个数据处理模型240;
ο数据处理模型240,用于使用深度学习技术处理内容数据(例如视频、图像、音频、或文本数据),其中数据处理模型240是化身生成模型500,化身生成模型500包括重建网络508和510、音频面部神经网络512、以及音频驱动的3D化身头部网络514,并应用于在视频片段中渲染人物的3D化身,在视频片段中针对与音频数据同步的音频活动将3D化身动画化(例如图5中);以及
ο分别由数据处理系统200的客户端设备104获取的和输出到数据处理系统200的客户端设备104的内容数据和结果242,其中,内容数据由数据处理模型240在客户端设备104本地处理或在服务器102远程处理,以提供将在客户端设备104上呈现的相关联的结果242。
可选地,一个或多个数据库230存储在数据处理系统200的服务器102、客户端设备104、以及存储器106中的一个上。可选地,一个或多个数据库230分布在数据处理系统200的服务器102、客户端设备104和存储器106中多个中。在一些实施例中,上述数据的多个副本被存储在不同的设备上,例如,数据处理模型240的两个副本分别存储在服务器102和存储器106上。
上述每个元素可以存储在一个或多个前面提到的存储设备中,并对应于用于执行上述功能的一组指令。上述模块或程序(即指令集)不需要作为单独的软件程序、程序、模块、或数据结构来实现,因此这些模块的各种子集可以在各种实施例中组合或以其他方式重新排列。在一些实施例中,可选地,存储器206存储上述模块和数据结构的子集。此外,可选地,存储器206存储上面没有描述的其他模块和数据结构。
图3是根据一些实施例的用于训练和应用用于处理内容数据(例如视频、图像、音频、或文本数据)的基于神经网络(neural network based,NN-based)的数据处理模型240的另一数据处理系统300。数据处理系统300包括用于建立数据处理模型240的模型训练模块226和用于使用数据处理模型240处理内容数据的数据处理模块228。在一些实施例中,模型训练模块226和数据处理模块228都位于数据处理系统300的客户端设备104上,而不同于客户端设备104的训练数据源304向客户端设备104提供训练数据306。可选地,训练数据源304是服务器102或存储器106。或者,在一些实施例中,模型训练模块226和数据处理模块228都位于数据处理系统300的服务器102上。可选地,提供训练数据306的训练数据源304是服务器102本身、另一服务器102、或存储器106。另外,在一些实施例中,模型训练模块226和数据处理模块228分别位于服务器102和客户端设备104上,服务器102向客户端设备104提供训练后的数据处理模型240。
模型训练模块226包括一个或多个数据预处理模块308、模型训练引擎310、以及损失控制模块312。根据待处理的内容数据的类型训练数据处理模型240。训练数据306与内容数据的类型一致,所以应用数据预处理模块308处理与内容数据的类型一致的训练数据306。例如,图像预处理模块308A用于将图像训练数据306处理成预定图像格式,例如,在每个训练图像中提取感兴趣区域(region of interest,ROI),并将每个训练图像裁剪成预定图像尺寸。或者,音频预处理模块308B用于将音频训练数据306处理成预定音频格式,例如,使用傅里叶变换将每个训练序列转换到频域。模型训练引擎310接收由数据预处理模块308提供的预处理训练数据,使用现有的数据处理模型240进一步处理预处理训练数据,并从每个训练数据项生成输出。在这个过程中,损失控制模块312可以监测损失函数,该损失函数比较与各训练数据项相关联的输出和各训练数据项的地面真值(ground truth)。模型训练引擎310修改数据处理模型240以减小损失函数,直到损失函数满足损失标准(例如损失函数的比较结果被最小化或减小到损失阈值以下)。修改后的数据处理模型240被提供给数据处理模块228以处理内容数据。
在一些实施例中,模型训练模块226提供监督学习,其中训练数据被完全标记并且包括每个训练数据项的所需输出(在一些情况下也称为地面真值)。相反,在一些实施例中,模型训练模块226提供无监督学习,其中训练数据没有被标记。模型训练模块226用于在没有预先存在的标签并且没有或很少有人监督的情况下识别训练数据中先前未检测到的模式。此外,在一些实施例中,模型训练模块226提供部分监督学习,其中训练数据被部分标记。
数据处理模块228包括数据预处理模块314、基于模型的处理模块316、以及数据后处理模块318。数据预处理模块314基于内容数据的类型对内容数据进行预处理。数据预处理模块314的功能与预处理模块308的功能一致,并将内容数据转换成基于模型的处理模块316的输入可接受的预定内容格式。内容数据的示例包括以下中的一个或多个:视频、图像、音频、文本、以及其他类型的数据。例如,对每个图像进行预处理以提取ROI,或裁剪成预定图像尺寸,音频片段使用傅里叶变换进行预处理以转换到频域。在一些情况下,内容数据包括两种或两种以上的类型,例如,视频数据和文本数据。基于模型的处理模块316应用由模型训练模块226提供的训练后的数据处理模型240处理预处理的内容数据。基于模型的处理模块316还可以监测错误指示器,以确定内容数据是否已在数据处理模型240中被正确处理。在一些实施例中,处理的内容数据由数据后处理模块318进一步处理,从而以优选格式呈现处理的内容数据,或提供可从处理的内容数据得出的其他相关信息。
图4A是根据一些实施例的应用于处理基于NN的数据处理模型240中的内容数据的示例神经网络(neural network,NN)400,图4B是根据一些实施例的神经网络(NN)400中的示例节点420。数据处理模型240是基于神经网络400建立的。相应的基于模型的处理模块316应用包括神经网络400的数据处理模型240处理已转换成预定内容格式的内容数据。神经网络400包括由链路412连接的节点420的集合。每个节点420接收一个或多个节点输入,并应用传播函数从一个或多个节点输入生成节点输出。当通过一个或多个链路412将节点输出提供给一个或多个其他节点420时,对节点输出应用与每个链路412相关联的权重w。同样,根据传播函数基于相应的权重w1、w2、w3和w4组合一个或多个节点输入。在示例中,传播函数是非线性激活函数与一个或多个节点输入的线性加权组合的乘积。
节点420的集合被组织成神经网络400中的一个或多个层。可选地,一个或多个层包括既作为输入层又作为输出层的单个层。可选地,一个或多个层包括用于接收输入的输入层402、用于提供输出的输出层406、以及输入层402和输出层406之间的零个或多个隐藏层404(例如404A和404B)。深度神经网络在输入层402和输出层406之间有多个隐藏层404。在神经网络400中,每一层仅与其紧邻的前一层和/或紧邻的后一层连接。在一些实施例中,因为层402或404B中的每个节点420与紧邻其后的一层中的每个节点420连接,所以层402或404B是全连接层。在一些实施例中,一个或多个隐藏层404中的一个隐藏层包括两个或两个以上的节点,这些节点与紧邻其后的一层中的相同节点相连,以对这两个层之间的节点420进行下采样或池化。特别地,最大池化使用层404B中的两个或两个以上的节点的最大值生成连接到这两个或两个以上的节点的紧邻的后一层406的节点。
在一些实施例中,卷积神经网络(convolutional neural network,CNN)应用于数据处理模型240中,以处理内容数据(特别是视频数据和图像数据)。CNN采用卷积运算,并且属于一类深度神经网络400,即只将数据从输入层402通过隐藏层向前移动到输出层406的前馈神经网络。CNN的一个或多个隐藏层是用乘法或点积进行卷积的卷积层。卷积层中的每个节点接收来自与前一层(例如五个节点)相关联的接受区(receptive area)的输入,接受区比整个前一层小,并且可以基于卷积神经网络中卷积层的位置而变化。视频或图像数据被预处理成对应于CNN的输入的预定视频/图像格式。预处理的视频或图像数据由CNN的每一层抽象为相应的特征图。通过这些方法,视频和图像数据可以由CNN处理来用于视频和图像识别、分类、分析、印记、或合成。
替代或附加地,在一些实施例中,在数据处理模型240中应用递归神经网络(recurrent neural network,RNN)处理内容数据(特别是文本和音频数据)。RNN的连续层中的节点遵循时间序列,因此RNN表现出时间动态行为。在示例中,RNN的每个节点420具有时变实值激活。RNN的示例包括但不限于长短期记忆(long short-term memory,LSTM)网络、完全递归网络、Elman网络、Jordan网络、Hopfield网络、双向联想记忆(bidirectionalassociative memory,BAM)网络、回声状态网络、独立RNN(independently RNN,IndRNN)、递归神经网络、以及神经历史压缩器。在一些实施例中,RNN可用于手写或语音识别。应注意,在一些实施例中,数据处理模块228处理两类或两类以上的内容数据,并应用两类或两类以上的神经网络(例如CNN和RNN)共同处理内容数据。
训练过程是使用输入层402中提供的训练数据集校准学习模型的每一层的所有权重wi的过程。训练过程通常包括两个步骤,前向传播和后向传播,前向传播和后向传播重复多次,直到满足预定收敛条件。在前向传播中,不同层的权重集被应用于输入数据和前几层产生的中间结果。在后向传播中,测量输出的误差范围(例如损失函数),并相应地调整权重以减小误差。可选地,激活函数为线性的、整流线性单元、S型函数(sigmoid)、双曲正切函数、或其他类型。在一些实施例中,在应用激活函数之前,网络偏置项b被添加到前一层的加权输出之和中。网络偏置b提供扰动以帮助NN 400避免过度拟合训练数据。训练的结果包括每一层的网络偏置参数b。
图5是根据一些实施例的用于基于2D图像504与音频数据506同步渲染3D化身502的化身生成模型500的框图。化身生成模型500接收图像504和音频数据506,并输出动画化的3D化身502。图像504包括人物并记录了该人物的面部特征。可选地,音频数据506包括不在2D图像504中的另一人物做出的语音记录消息。可选地,音频数据506包括2D图像504中的同一人物的语音记录消息,2D图像504是在与该人物何时发表音频数据506的讲话无关的时刻捕获的。可选地,音频数据506包括从文本消息合成的语音记录消息。可选地,音频数据506包括未转换成任何语音记录消息的文本消息。化身生成模型500包括粗重建网络(coarse reconstruction network,CRN)508、细重建网络(fine reconstructionnetwork,FRN)510、音频面部神经网络512、以及音频驱动的3D化身头部网络514。这些网络508至514用于共同处理图像504和音频数据506以个性化3D化身502,并与音频数据506同步地将3D化身502动画化。具体地,通过头部、嘴部、眼睛、和/或面部肌肉运动将3D化身502动画化。这些运动与音频数据506同步,并基于音频数据506进行动态控制,即每个运动随着音频数据506的一个或多个内容、音量和音调、语速、以及其他特征动态实时地变化。例如,瞬间的声音增加对应于头部运动范围的增加和图像504捕获的人物的嘴部的张大,这表明与3D化身502相关联的人物很兴奋。
CRN 508用于基于人物的面部的3D数字扫描将输入图像拟合到参数化3D面部模型,例如,从2D图像504生成与人物相关联的面部的多个面部参数516。该多个面部参数516包括第一组形状参数518和第二组表情参数520。第一组形状参数518描述2D图像504中的人物的面部形状,并且不随时间变化。第二组表情参数520描述面部的表情,并且随着人物的活动而随时间变化。形状参数518和表情参数520应用于控制待渲染的化身502的标识和面部的表情。在一些实施例中,面部参数516的子集提供了用于控制唇动的嘴部区域的信息。面部参数516的子集中的面部参数516的数量大于控制阈值。在示例中,控制阈值是20,面部参数子集516有30个面部参数516。从不同的角度来看,第一组面部参数516具有总数(例如50)个面部参数,其中,第一数量(例如22)的面部参数描述人物的嘴部区域。第一数量与总数的比率超过预定阈值比率(例如2/5)。通过这些方法,3D面部模型适合于针对音频活动(例如说话、唱歌、笑)将3D化身502动画化,而音频活动包括3D化身502的不同运动(例如头部、面部肌肉、眼睛、以及嘴部的运动),这些运动与音频数据506同步。
在图5中未示出的一些实施例中,CRN 508包括卷积神经网络(CNN),该CNN用于从2D图像504中回归面部参数516。面部可微模块(face differentiable module)可选地耦合到CNN并且用于利用2D图像504的像素颜色分布来调整CNN。此外,在一些实施例中,3D面部模型包括网格,并且假定网格的拓扑结构是恒定的。CRN 508还包括图卷积网络(graphconvolutional network,GCN),以预测3D面部模型的网格的每个顶点的逐顶点颜色。
FRN 510用于从2D图像504和多个面部参数516重建3D面部模型,即,生成与人物相关联的面部的3D面部模型的多个颜色纹理图522和多个位移图524。使用3D面部扫描数据集共同训练CRN 508和FRN 510,该数据集包括地面真值3D面部模型和相应的多视图训练图像,这些图像可选地为真人的面部的3D扫描。对于训练图像中的每个3D训练面部模型,CRN508以多个训练面部参数516的形式生成参数化训练面部模型。在一些实施例中,3D面部扫描数据集包括形状数据库和纹理数据库。形状数据集包括可用于训练CRN 508的多个成对的训练图像和面部参数。在一些实施例中,CRN 508使用形状数据库单独训练。在纹理方面,从每个训练图像中得出颜色纹理图522,各训练图像的3D面部精细细节被转换成位移图524。这种纹理数据集包括可用于训练FRN 510的多个相关的训练图像、颜色纹理图522、以及位移图524。在一些实施例中,使用纹理数据库单独训练FRN 510。
在一些实施例中,FRN 510使用面部参数516展开3D面部模型的网格,以确定具有第一纹理分辨率的部分低分辨率颜色纹理图。FRN 510包括第一生成对抗网络(generativeadversarial network,GAN),第一GAN用于从部分低分辨率颜色纹理图生成完整的高分辨率颜色纹理图522。高分辨率颜色纹理图522具有大于第一纹理分辨率的第二纹理分辨率。在一些实施例中,第一训练数据集包括低分辨率训练颜色纹理图和高分辨率训练颜色纹理图的第一训练数据对,并且应用于训练FRN 510的第一GAN。在每个第一数据对中,低分辨率训练颜色纹理图用作第一GAN的输入,高分辨率训练颜色纹理图用作训练第一GAN的地面真值。此外,在一些实施例中,FRN 510还包括第二GAN,第二GAN用于从颜色纹理图522与面部参数516一起生成位移图524。使用第二训练数据集训练第二GAN,第二训练数据集包括高分辨率训练颜色纹理图和训练位移图的第二训练数据对。在每个第二数据对中,高分辨率训练颜色纹理图用作第二GAN的输入,训练位移图用作训练第二GAN的地面真值。
音频面部神经网络512用于接收音频数据506(例如音频数据序列),并独立于2D图像生成多个基于音频的面部参数526(也称为细化的面部参数)。音频数据506用于从音频数据预测多个面部关键点。在训练音频面部神经网络512的过程中,第三训练数据集包括训练音频数据和相关训练面部参数的第三数据对,并且用于训练音频面部神经网络512。训练后,音频面部神经网络512直接从音频数据506预测面部参数,基于预测的面部关键点(特别是嘴部周围的关键点)将这些预测的面部参数细化为基于音频的面部参数526。关于面部参数526的生成的更多细节将参照图8描述。
音频驱动的3D化身头部网络514根据第一组形状参数518、第二组表情参数520、颜色纹理图522、位移图524、以及基于音频的面部参数526确定化身驱动参数528,并且化身渲染器530在视频片段中渲染人物的3D化身,在视频片段中,针对与音频数据506同步的音频活动将3D化身动画化。该音频活动至少包括唇动。音频驱动的3D化身头部网络514应用于获取化身驱动参数集,化身渲染器应用于渲染多个与人物头部相关的视觉效果,例如半透明眼球、皮肤细节、发丝、软阴影、全局照明、以及次表面散射。在一些实施例中,这些效果由图形处理单元(graphics processing unit,GPU)生成。在本申请的各种实施例中,化身渲染器530用于减少多个与人物头部相关的视觉效果的计算成本,并在移动设备(例如移动电话104C)上实现多个人物头部视觉效果的子集或全部。具体地,对于人物的皮肤,位移图524用于增强皮肤的凹凸细节。在一些实施例中,使用亚表面散射(sub-surface scattering,SSS)方法模仿类似皮肤的材料。应用一种或多种类型的光(例如点光和定向光),使人物头部更加现实。在一些实施例中,使用百分比接近软阴影(percentage closer soft shadow,PCSS)方法模拟根据光类型柔和边缘的现实世界中的阴影。在一些实施例中,使用基于纹理的发丝方法模拟人物的头发以减少计算成本。上述大多数方法被自适应地应用于实时渲染化身502。
图6A、图6B、以及图6C分别是根据一些实施例的训练用于生成3D化身502的粗重建网络(CRN)508的三个过程的流程图600、620、以及640。参照图6A,CRN 508被训练成基于形状损失LSP(604)生成描述面部的形状的第一组形状参数518。形状数据集602包括一个或多个训练图像和地面真值形状参数。形状参数518是从CRN 508预测的。形状损失LSP(604)等于预测的形状参数518与地面真值形状参数的差异。在一些情况下,在训练期间,通过调整CRN508的过滤器的权重,对形状损失LSP(604)进行优化(例如最小化)。
参照图6B,CRN 508被训练成基于表情损失LEP(614)和LT(616)生成描述面部的表情的第二组表情参数520。表情数据集606包括包含不同的面部表情的多个训练图像。CRN508被训练成使用该数据集606和损失函数提供不同面部表情的表情参数520。这种CRN 508使化身生成模型500能够用不同的面部表情产生更准确的化身502。在示例中,每个数据样本包括一组三个训练图像606A、606B、606C。训练图像606A和606B具有第一面部表情,图像606C具有不同的第二面部表情。CRN 508生成对应于训练图像606A的第一表情参数520A和对应于训练图像606B的第二表情参数520B。鉴于训练图像606A和606B具有相同的第一面部表情,第一表情参数520A和第二表情参数520B之间的第一表情损失LEP(614)基本上等于零(例如小于阈值表情差异)。相反,第二表情损失LT(616)的定义如下:
Figure BDA0004199220830000101
其中EP1、EP2、EP3分别是520A、520B、520C的表情参数。鉴于训练图像606C具有与606A和606B不同的面部表情,差异LT应该较大。因此,化身生成模型500用于为前两个训练图像606A和606B预测基本相似的表情参数520A和520B,并对第三训练图像606C预测不同的表情参数520C(由第一表情损失LT(616)测量,该损失基于L2距离)。在训练过程中,迭代细化CRN 508,以最小化第一表情损失LEP(614),并最大化第二表情损失LT(616)。
在一些实施例中,应用面部动作编码系统(face action coding system,FACS)标准将表情参数520与人物的多个面部动作相关联,从而更准确地描述不同的面部表情。例如,预定数量(例如50)的表情参数520被组织成表情参数520的有序序列,每个表情参数520对应于表示人物的面部的一个或多个肌肉控制的FACS名称的动作单元编号。每个表情参数520指示对应于相应的FACS名称的一个或多个肌肉控制的强度水平。
参照图6C,在一些实施例中,训练数据集608包括一些采访视频,从这些采访视频中提取包含唇动的图像帧。在每个提取的图像帧中,检测嘴部区域周围的关键点作为地面真值的关键点,并且还使用计算机视觉技术对嘴部区域进行分割。在用这个数据集608对CRN 508进行微调时,相应的嘴部损失610是两个损失(包括嘴部关键点损失610A和嘴部渲染损失610B)的组合。嘴部关键点损失610A指示预测的嘴部关键点612与地面真值关键点之间的物理位置差异,嘴部渲染损失610B指示预测的面部的渲染嘴部区域618与地面真值嘴部区域之间的颜色差异。通过优化这两个嘴部损失610A和610B来调整CRN 508,从而迭代细化嘴部区域周围的面部参数516,所得的面部参数516可以应用于重建人物头部模型上的复杂唇动。
图7是根据一些实施例的细重建网络(FRN)510的框图。FRN 510包括展开模块(unwarp module)702、第一生成对抗网络(GAN)704,以及第二GAN 706。FRN 510用于从CRN508接收图像504和面部参数516,并使用展开模块702将图像504展开为部分低分辨率颜色纹理图708。第一GAN 704用于从部分低分辨率颜色纹理图708生成完整的高分辨率颜色纹理图522。第二GAN 706用于从颜色纹理图522和从CRN 508接收的面部参数516生成位移图524。在一些实施例中,在训练期间,第一训练数据集包括低分辨率训练颜色纹理图和高分辨率训练颜色纹理图的第一训练数据对,并且应用于训练第一GAN 704。第二训练数据集包括高分辨率训练颜色纹理图和训练位移图的第二数据对,并且应用于单独训练第二GAN706。或者,在一些实施例中,纹理训练数据集710包括一组面部网格712、高分辨率训练颜色纹理图、以及训练位移图,并且应用于以端到端的方式训练FRN 510。
图8是根据一些实施例的音频面部神经网络512的框图。音频面部神经网络512包括第一音频面部神经网络802、第二音频面部神经网络804、以及面部细化网络806。第一音频面部神经网络802用于接收音频数据506并基于音频数据506生成多个面部关键点808,包括与嘴部区域相关联的嘴部关键点子集。第二音频面部神经网络804用于从音频数据506生成多个面部参数810。多个面部参数810包括描述面部的形状的一个或多个形状参数或描述生成音频数据506时面部的表情的一个或多个表情参数。面部细化网络806用于从面部关键点808和面部参数810生成细化的面部参数526。细化的面部参数526应用于驱动3D化身502。在一些实施例中,第三训练数据集包括训练音频数据和相关的训练面部参数的第三对,并且应用于训练至少第二音频面部神经网络804。第二音频面部神经网络804生成的面部参数810通过例如嘴部区域周围的预测的面部关键点808进一步细化。
图9是根据一些实施例的生成或驱动3D化身的方法900的流程图。为方便起见,该方法900被描述为由计算机系统(例如客户端设备104、服务器102、或其组合)实现。在一些实施例中,客户端设备104是移动电话104C、AR眼镜104D、智能电视设备、或无人机。方法900可选地由存储在非暂时性计算机可读存储介质中并由计算机系统的一个或多个处理器执行的指令支配。图6所示的每个操作可以对应于存储在计算机存储器或非暂时性计算机可读存储介质(例如图2中的计算机系统200的存储器206)中的指令。该计算机可读存储介质可以包括磁性或光学磁盘存储设备、固态存储设备,例如闪存,或其他非易失性存储设备或装置。存储在计算机可读存储介质上的指令可以包括以下中的一个或多个:源代码、汇编语言代码、目标代码、或由一个或多个处理器解释的其他指令格式。可以组合方法900中的一些操作和/或可以改变一些操作的顺序。
计算机系统获取(902)二维(2D)图像504,2D图像504包括人物。计算机系统获取(904)音频数据506,音频数据506独立于2D图像504。可选地,音频数据506是由与2D图像504中的人物不同的第二人物做出的。音频数据506的内容独立于2D图像504的内容,例如与2D图像504的内容无关。可选地,音频数据506是由2D图像504中的同一人物做出的。音频数据506的内容独立于2D图像504的内容,例如与2D图像504的内容无关。
计算机系统从2D图像504生成(906)与该人物相关联的面部的多个面部参数516。上述多个面部参数516包括(908)描述面部的形状的第一组形状参数518和描述面部的表情的第二组表情参数520。在一些实施例中,上述多个面部参数516具有(910)总数个面部参数,其中,第一数量的面部参数描述人物的嘴部区域,第一数量与总数的比率超过预定阈值比率。在一些实施例中,使用第一重建网络(例如CRN 508)从2D图像生成面部的多个面部参数516,并且第一重建网络包括卷积神经网络(CNN)。此外,在一些实施例中,3D面部模型包括多个顶点,并且第一重建网络包括用于预测3D面部模型的每个顶点的颜色的图卷积网络(GCN)。
计算机系统基于多个面部参数516,从2D图像504生成(912)与该人物相关联的面部的三维(three-dimensional,3D)面部模型的颜色纹理图522和位移图524。在一些实施例中,使用第二重建网络(例如FRN 510)从2D图像504生成3D面部模型的颜色纹理图522和位移图524,并且第二重建网络包括第一生成对抗网络(GAN)704和第二GAN 706。第一GAN 704用于将低分辨率颜色纹理图708转换成高分辨率颜色纹理图522,第二GAN 706用于将高分辨率颜色纹理图522转换成位移图524。
计算机系统例如使用音频面部神经网络512,独立于2D图像504从音频数据506生成(914)多个基于音频的面部参数526。在一些实施例中,音频面部神经网络512包括第一音频面部神经网络802、第二音频面部神经网络804、以及面部细化网络806,第一音频面部神经网络802用于从音频数据506预测多个面部关键点808,第二音频面部神经网络804用于从音频数据506生成多个面部参数810,面部细化网络806用于通过嘴部区域周围的多个面部关键点808细化多个面部参数810,以生成多个基于音频的面部参数526(也称为细化的面部参数)。
计算机系统根据第一组形状参数518、第二组表情参数520、颜色纹理图522、位移图524、以及基于音频的面部参数526,在视频片段中渲染(916)人物的3D化身502,在视频片段中,针对与音频数据506同步的音频活动将3D化身502动画化。该音频活动包括唇动。在一些实施例中,基于音频驱动的3D化身头部网络514,从第一组形状参数518、第二组表情参数520、颜色纹理图522、位移图524、以及基于音频的面部参数526生成(918)多个化身驱动参数528。计算机系统基于多个化身驱动参数528创建(920)包括人物的3D化身502的视频片段。在一些实施例中,将视频片段中的人物的3D化身502渲染为具有以下中的一个或多个:半透明眼球、皮肤细节、发丝、软阴影、全局照明、以及次表面散射。
在一些实施例中,计算机系统获取包括多个形状训练图像和对应于多个形状训练图像的多个形状地面真值的形状数据集602。将多个形状训练图像的子集反馈到第一重建网络(例如CRN 508)以生成多个形状参数518。识别生成的多个形状参数与多个形状地面真值之间的形状参数损失LSP 604。基于形状参数损失LSP 604,使用形状数据集中的多个形状训练图像迭代训练第一重建网络。
在一些实施例中,应用第一训练图像606A、第二训练图像606B、以及第三训练图像606C来训练第一重建网络。第一训练图像606A和第二训练图像606B对应于第一面部表情,第三训练图像606C对应于不同于第一面部表情的第二面部表情。将第一训练图像、第二训练图像、以及第三训练图像606A-606C反馈到第一重建网络,以分别生成第一组表情参数520A、第二组表情参数520B、以及第三组表情参数520C。第一表情损失614(例如LEP)等于第一组表情参数520A与第二组表情参数520B之间的差异。相对于第一训练图像606A和第二训练图像606B,识别第三训练图像606C的第二表情损失616(例如LT)。基于第一表情损失614和第二表情损失616迭代训练第一重建网络。具体地,第一重建网络被训练成使第一表情损失614基本上接近于零,并最大化第二表情损失616。
在一些实施例中,应用多个训练唇部图像(例如采访视频608的训练唇部图像),每个训练唇部图像包括唇部和多个嘴部地面真值关键点。将多个训练唇部图像反馈到第一重建网络以生成第一组嘴部关键点612和第二组面部参数516。识别第一组嘴部关键点612与多个嘴部地面真值关键点之间的嘴部关键点损失610A。对于每个训练唇部图像,使用第二组面部参数516渲染嘴部区域618,并且识别渲染的嘴部区域618与训练唇部图像之间的嘴部渲染损失610B。基于嘴部关键点损失610A和嘴部渲染损失610B迭代训练第一重建网络。
在一些实施例中,使用第一重建网络(例如CRN 508)从2D图像504生成面部的多个面部参数516,使用第二重建网络(例如FRN 510)从2D图像504生成3D面部模型的颜色纹理图522和位移图524。使用音频面部神经网络512从音频数据506生成多个基于音频的面部参数526。训练第一重建网络、第二重建网络、以及音频面部神经网络512。该方法900在服务器102实现,将视频片段流式传输到通信耦合到服务器102的电子设备104。
或者,在一些实施例中,使用第一重建网络从2D图像504生成面部的多个面部参数516。使用第二重建网络从2D图像504生成3D面部模型的颜色纹理图522和位移图524。使用音频面部神经网络512从音频数据506生成多个基于音频的面部参数526。第一重建网络、第二重建网络、以及音频面部神经网络512在服务器102被训练,并被提供给通信耦合到服务器102的电子设备104。在电子设备实现该方法900。
在本申请的各种实施例中,应用参数化面部模型来实现对化身的3D人物模型的嘴部区域的精细控制。这使得特别是在化身说话时,可以用复杂的唇部动作将化身动画化。面部参数516、颜色纹理图522、位移图524、以及细化的面部参数526易于应用于化身渲染,而无需任何进一步的人工增强。在3D头部重建中的可微渲染(differentiable rendering)过程中利用输入图像的颜色信息。来自音频数据506的唇动预测易于使用且效果自然。面部渲染中的复杂渲染效果可在功率资源、计算资源、或存储资源有限的移动电话上实现。因此,高分辨率的3D面部可以在移动电话上实时渲染,并且不损失视觉性能。
应理解,图7中描述的操作的特定顺序只是示例性的,并不意味着描述的顺序是可以执行这些操作的唯一顺序。本领域普通技术人员将认识到各种方法来呈现如本文所述的与音频数据同步的3D化身。此外应注意,上面关于图5至图8描述的其他过程的细节也以类似的方式适用于上面关于图9描述的方法900。为了简洁起见,这里不再赘述这些细节。
在本文对各种描述的实施方式的描述中使用的术语只是为了描述特定的实施例,而非出于限制性的目的。在对各种描述的实施方式和所附权利要求的描述中,单数形式的“一”、“一个”和“该”旨在也包括复数形式,除非上下文另有明确说明。还应理解,本文使用的术语“和/或”是指并包括一个或多个相关联的列出的项的任何和所有可能的组合。还应理解,术语“包括”和/或“包含”在本说明书中使用时,指定存在所陈述的特征、整数、步骤、操作、元素、和/或组件,但不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、组件、和/或其组。此外,可以理解,尽管术语“第一”、“第二”等在本文可用于描述各种元素,但这些元素不应受这些术语的限制。这些术语只是用于区分一个元素和另一元素。
如本文所用,术语“如果”根据上下文可选地解释为“当”或“在”或“响应于确定”或“响应于检测”或“根据确定”。同样,短语“如果确定”或“如果检测到[所述条件或事件]”根据上下文可选地解释为“在确定时”或“响应于确定”或“在检测到[所述条件或事件]时”或“响应于检测到[所述条件或事件]”或“根据检测到[所述条件或事件]的确定”。
前面的描述,出于解释的目的,已经参照具体实施例进行了描述。然而,上面的说明性讨论无意详尽或将权利要求限制在所公开的精确形式。鉴于上述教导,许多修改和变型是可能的。选择和描述这些实施例是为了最好地解释操作原理和实际应用,从而使本领域的其他人能够理解。
尽管各种附图以特定顺序示出了一些逻辑级,但可以将不依赖于顺序的级重新排序,其他级可以合并或拆分。虽然具体提到了一些重新排序或其他分组,但其他排序或分组对于本领域的普通技术人员来说显而易见,因此本文介绍的排序和分组不是替代方案的详尽列表。此外,应认识到这些级可以通过硬件、固件、软件、或其任何组合来实现。

Claims (16)

1.一种化身渲染方法,包括:
获取二维(2D)图像,所述2D图像包括人物;
获取音频数据,所述音频数据独立于所述2D图像;
从所述2D图像生成与所述人物相关联的面部的多个面部参数,所述多个面部参数包括描述所述面部的形状的第一组形状参数和描述所述面部的表情的第二组表情参数;
基于所述多个面部参数,从所述2D图像生成与所述人物相关联的所述面部的三维(3D)面部模型的颜色纹理图和位移图;
独立于所述2D图像从所述音频数据生成多个基于音频的面部参数;以及
根据所述第一组形状参数、所述第二组表情参数、所述颜色纹理图、所述位移图、以及所述基于音频的面部参数,在视频片段中渲染所述人物的3D化身,在所述视频片段中,针对与所述音频数据同步的音频活动将所述3D化身动画化,所述音频活动包括唇动。
2.根据权利要求1所述的方法,其中,在所述视频片段中渲染所述人物的所述3D化身还包括:
基于音频驱动的3D化身头部网络,从所述第一组形状参数、所述第二组表情参数、所述颜色纹理图、所述位移图、以及所述基于音频的面部参数生成多个化身驱动参数;以及
基于所述多个化身驱动参数创建包括所述人物的所述3D化身的所述视频片段。
3.根据权利要求1所述的方法,其中,使用第一重建网络从所述2D图像生成所述面部的所述多个面部参数,并且所述第一重建网络包括卷积神经网络(CNN)。
4.根据权利要求3所述的方法,其中,所述3D面部模型包括多个顶点,并且所述第一重建网络包括用于预测所述3D面部模型的每个顶点的颜色的图卷积网络(GCN)。
5.根据权利要求3或4所述的方法,还包括:
获取包括多个形状训练图像和对应于所述多个形状训练图像的多个形状地面真值的形状数据集;
将所述多个形状训练图像的子集反馈到所述第一重建网络以生成多个形状参数;
识别生成的所述多个形状参数与所述多个形状地面真值之间的形状参数损失;以及
基于所述形状参数损失,使用所述形状数据集中的所述多个形状训练图像和所述形状地面真值迭代训练所述第一重建网络。
6.根据权利要求3至5中任一项所述的方法,还包括:
获取第一训练图像、第二训练图像、以及第三训练图像,所述第一训练图像和所述第二训练图像对应于第一面部表情,所述第三训练图像对应于不同于所述第一面部表情的第二面部表情;
将所述第一训练图像、所述第二训练图像、以及所述第三训练图像反馈到所述第一重建网络以生成第一组表情参数、第二组表情参数、以及第三组表情参数;
识别等于所述第一组表情参数与所述第二组表情参数之间的差异的第一表情损失;
识别所述第三训练图像相对于所述第一训练图像和所述第二训练图像的第二表情损失;以及
基于所述第一表情损失和所述第二表情损失迭代训练所述第一重建网络。
7.根据权利要求3至6中任一项所述的方法,还包括:
获取多个训练唇部图像,每个训练唇部图像包括唇部和多个嘴部地面真值关键点;
将所述多个训练唇部图像反馈到所述第一重建网络以生成第一组嘴部关键点和第二组面部参数;
识别所述第一组嘴部关键点与所述多个嘴部地面真值关键点之间的嘴部关键点损失;
对于每个训练唇部图像,使用所述第二组面部参数渲染嘴部区域,并且识别渲染的所述嘴部区域与所述训练唇部图像之间的嘴部渲染损失;以及
基于所述嘴部关键点损失和所述嘴部渲染损失迭代训练所述第一重建网络。
8.根据权利要求1所述的方法,其中,使用第二重建网络从所述2D图像生成所述3D面部模型的所述颜色纹理图和所述位移图,并且所述第二重建网络包括第一生成对抗网络(GAN)和第二GAN,所述第一GAN用于将低分辨率颜色纹理图转换成高分辨率颜色纹理图,所述第二GAN用于将所述高分辨率颜色纹理图转换成所述位移图。
9.根据前述权利要求中任一项所述的方法,其中,使用音频面部神经网络从所述音频数据生成所述多个基于音频的面部参数,并且所述音频面部神经网络还包括:
第一音频面部神经网络,用于从所述音频数据预测多个面部关键点;
第二音频面部神经网络,用于从所述音频数据生成多个面部参数;以及
面部细化网络,用于通过嘴部区域周围的所述多个面部关键点细化所述多个面部参数,以生成所述多个基于音频的面部参数。
10.根据前述权利要求中任一项所述的方法,其中,所述2D图像中的所述人物是第一人物,并且所述音频数据是从不同于所述第一人物的第二人物记录的。
11.根据前述权利要求中任一项所述的方法,其中,在所述视频片段中渲染所述人物的所述3D化身还包括渲染以下中的一个或多个:半透明眼球、皮肤细节、发丝、软阴影、全局照明、以及次表面散射。
12.根据前述权利要求中任一项所述的方法,其中,所述多个面部参数具有总数个面部参数,其中,第一数量的面部参数描述所述人物的嘴部区域,所述第一数量与所述总数的比率超过预定阈值比率。
13.根据权利要求1所述的方法,其中:
使用第一重建网络从所述2D图像生成所述面部的所述多个面部参数;
使用第二重建网络从所述2D图像生成所述3D面部模型的所述颜色纹理图和所述位移图;
使用音频面部神经网络从所述音频数据生成所述多个基于音频的面部参数;
训练所述第一重建网络、所述第二重建网络、以及所述音频面部神经网络,并在服务器实现根据权利要求1所述的方法,以及
将所述视频片段流式传输到通信耦合到所述服务器的电子设备。
14.根据权利要求1所述的方法,其中:
使用第一重建网络从所述2D图像生成所述面部的所述多个面部参数;
使用第二重建网络从所述2D图像生成所述3D面部模型的所述颜色纹理图和所述位移图;
使用音频面部神经网络从所述音频数据生成所述多个基于音频的面部参数;
所述第一重建网络、所述第二重建网络、以及所述音频面部神经网络在服务器被训练,并被提供给通信耦合到所述服务器的电子设备;以及
在所述电子设备实现根据权利要求1所述的方法。
15.一种计算机系统,包括:
一个或多个处理器;以及
存储器,存储有指令,所述指令在由所述一个或多个处理器执行时,使所述处理器执行根据权利要求1至14中任一项所述的方法。
16.一种非暂时性计算机可读介质,存储有指令,所述指令在由一个或多个处理器执行时,使所述处理器执行根据权利要求1至14中任一项所述的方法。
CN202180073104.3A 2020-11-13 2021-11-10 现实的音频驱动的3d化身生成 Pending CN116391209A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063113746P 2020-11-13 2020-11-13
US63/113,746 2020-11-13
PCT/US2021/058838 WO2022103877A1 (en) 2020-11-13 2021-11-10 Realistic audio driven 3d avatar generation

Publications (1)

Publication Number Publication Date
CN116391209A true CN116391209A (zh) 2023-07-04

Family

ID=81602547

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180073104.3A Pending CN116391209A (zh) 2020-11-13 2021-11-10 现实的音频驱动的3d化身生成

Country Status (2)

Country Link
CN (1) CN116391209A (zh)
WO (1) WO2022103877A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118096961A (zh) * 2024-03-22 2024-05-28 腾讯科技(深圳)有限公司 图像处理方法和装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2625557A (en) * 2022-12-20 2024-06-26 Sony Interactive Entertainment Inc An information processing method, apparatus and computer program
CN116233567B (zh) * 2023-05-05 2023-07-25 山东建筑大学 一种基于音频情感感知的说话人脸视频生成方法及系统
CN116862869B (zh) * 2023-07-07 2024-04-19 东北大学 基于标志点检测的下颌骨骨折自动检测方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10559111B2 (en) * 2016-06-23 2020-02-11 LoomAi, Inc. Systems and methods for generating computer ready animation models of a human head from captured data images
US11455790B2 (en) * 2018-11-14 2022-09-27 Nvidia Corporation Style-based architecture for generative neural networks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118096961A (zh) * 2024-03-22 2024-05-28 腾讯科技(深圳)有限公司 图像处理方法和装置

Also Published As

Publication number Publication date
WO2022103877A1 (en) 2022-05-19

Similar Documents

Publication Publication Date Title
Olszewski et al. High-fidelity facial and speech animation for VR HMDs
CN108961369B (zh) 生成3d动画的方法和装置
CN116391209A (zh) 现实的音频驱动的3d化身生成
KR20210119438A (ko) 얼굴 재연을 위한 시스템 및 방법
JP2016218999A (ja) ターゲット環境の画像内に表現されたオブジェクトを検出するように分類器をトレーニングする方法およびシステム
WO2021077140A2 (en) Systems and methods for prior knowledge transfer for image inpainting
CN112562045B (zh) 生成模型和生成3d动画的方法、装置、设备和存储介质
US20230082715A1 (en) Method for training image processing model, image processing method, apparatus, electronic device, and computer program product
WO2023102223A1 (en) Cross-coupled multi-task learning for depth mapping and semantic segmentation
US20160086365A1 (en) Systems and methods for the conversion of images into personalized animations
CN115049016A (zh) 基于情绪识别的模型驱动方法及设备
US11734888B2 (en) Real-time 3D facial animation from binocular video
CN112634413B (zh) 生成模型和生成3d动画的方法、装置、设备和存储介质
Ekmen et al. From 2D to 3D real-time expression transfer for facial animation
CN113542758A (zh) 生成对抗神经网络辅助的视频压缩和广播
WO2023133285A1 (en) Anti-aliasing of object borders with alpha blending of multiple segmented 3d surfaces
WO2023086398A1 (en) 3d rendering networks based on refractive neural radiance fields
CN116405724A (zh) 图像生成方法、系统、电子设备及存储介质
WO2023277877A1 (en) 3d semantic plane detection and reconstruction
WO2023027712A1 (en) Methods and systems for simultaneously reconstructing pose and parametric 3d human models in mobile devices
WO2023069086A1 (en) System and method for dynamic portrait relighting
WO2023069085A1 (en) Systems and methods for hand image synthesis
CN113542759A (zh) 生成对抗神经网络辅助的视频重建
WO2023172257A1 (en) Photometic stereo for dynamic surface with motion field
Yao et al. Neural Radiance Field-based Visual Rendering: A Comprehensive Review

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