科技魔方

Meta专利分享用机器学习模型改进Avatar面部重投影

AR/VR

2022年04月21日

  由于头显遮挡的原因,系统一般难以映射用户完整的面部并重建被遮挡的面部区域。对于这个问题,行业一直在进行探索。实际上,如果你曾阅读《Meta 50年征途:Codec Avatars,创造逼真虚拟角色》一文,你就会知道这家公司一直在积极探索所述问题。

  日前,美国专利商标局又公布了与前面所述相关的又一份的Meta专利申请。简单来说,名为“Camera reprojection for faces”的发明主要描述了利用机器学习模型来改进重投影面部的方法。

  在一个实施例中,人造现实系统可以搭载一个或多个用于捕获用户面部特征的朝内摄像头。图像中的landmark可用于变形面部模型,并且用于为面部模型的相应部分创建纹理。作为一个示例,可以提供一个平均面部模型。当用户穿戴头显时,朝内摄像头可以捕获用户嘴唇区域的图像。可以检测图像中的landmark并与面部模型匹配,以确定摄像头相对于面部模型的姿态(位置和方向)。捕获的图像可以从摄像头重新投影到面部模型,以确定图像与面部模型几何体之间的映射。通过面部模型、用户整体面部的静态纹理和基于捕获的图像生成的动态纹理,人造现实系统可以从期望的视点渲染虚拟化身的完整面部模型。

  在一个实施例中,机器学习模型可用于合成用户面部的图像。可以将摄像头捕获的图像输入至机器学习模型,以生成代表用户面部的图像。作为一个示例,一个摄像头可以从一个角度捕获用户的眼睛,另一个摄像头可以从不同角度捕获用户的眼睛。然后,所述单独的图像可以组合在一起,以生成从正向的合成图像。

  在一个实施例中,计算系统可以访问代表用户面部的三维面部模型。计算系统可从存储器检索三维面部模型,或从另一计算系统请求三维面部模型。计算系统可以基于用户选择三维面部模型。作为一个示例,计算系统可以识别用户的特征,例如请求用户输入,并基于用户输入选择最能代表用户的三维面部模型。

  例如,如果用户输入自己是六英尺高、身材苗条的非裔美国人,这时计算系统可以基于用户输入检索最准确地代表用户的三维面部模型。

  在一个实施例中,计算系统可以识别摄像头图像中的一个或多个面部特征,并可以执行面部特征检测过程,以识别图像中捕获的面部特征。作为一个示例,计算系统可以使用机器学习模型来识别图像中捕获的脸颊和鼻子。

  如前面所述,由于头显遮挡问题,朝内摄像头无法捕获完整的面部图像。例如,特定的朝内摄像头可能无法识别眼睛。这时,计算系统可以基于图像中已识别的面部特征来变形代表预定的三维面部模型。作为一个示例,计算系统可以基于所识别的面部特征判断用户的面部比预定三维面部模型稍窄,所以可以相应地对三维面部模型进行变形,使得三维面部模型代表属于所述用户的面部模型。

  在一个实施例中,计算系统可以请求用户面部的图像,并可以识别用户的隐私设置,以确定是否可以访问用户面部的图像。如果用户允许,则计算系统可以通过在线社交网络访问与用户相关联的照片,以检索代表用户面部的图像。

  接下来,可以分析检索到的图像以确定代表用户面部的静态纹理。作为一个示例,可以分析一个或多个检索到的图像以确定面部特征通常位于用户面部的位置。然后,可以将分析的图像与三维面部模型进行比较,并且可以基于分析的图像对三维面部模型进行变形。

  在一个实施例中,计算系统可以确定相对于三维面部模型的摄像头姿态,并将已识别面部特征的位置与预定特征位置进行比较。作为一个示例,计算系统可以识别用户的下巴位置和嘴巴位置。所识别的下巴和嘴相对于摄像头的位置,以及彼此的位置可用于与三维面部模型的预定特征位置进行比较。

  例如,对于给定的摄像头姿态,下巴和嘴巴可能位于捕获图像中的特定位置。给定面部特征的识别位置,计算系统可基于识别位置与预定特征位置的比较来确定摄像头姿态。作为一个示例,如果捕获图像包含距捕获图像底部30像素、距捕获图像左侧50像素的下巴,以及距捕获图像顶部60像素、距捕获图像右侧40像素的嘴巴,则计算系统可以确定捕获图像的摄像头相对于用户面部和三维面部模型的特定摄像头姿态。

  鉴于用户的头部将因人而异,将所识别的面部特征与三维面部模型进行比较可允许计算系统大致确定相对于三维面部模型拍摄图像的摄像头姿态。

  在一个实施例中,计算系统可以确定捕获图像和三维面部模型之间的映射关系。计算系统可以通过将用户面部图像从确定的摄像头姿态投影到三维面部模型,以确定图像和三维面部模型之间的映射关系。作为一个示例,计算系统可以捕获用户面部的一部分,例如用户的嘴巴。由于摄像头的摄像头姿态不容易知道,所以计算系统可以以上文介绍的方式确定摄像头姿态。通过确定摄像头姿态,计算系统可以将捕获的图像投影到三维面部模型,从而确定映射关系。

  在一个实施例中,计算系统可提供呈现用户面部表征的输出图像。计算系统可以至少使用三维面部模型,以及捕获图像和三维面部模型之间的映射关系,以致使呈现用户面部表示的输出图像。其中,计算系统可以向另一计算系统发送指令,以呈现用户面部表示的输出图像。例如,计算系统可以向第一用户的人造现实系统发送指令,以呈现第二用户的面部表示的输出图像。

  计算系统最初可以从第二用户的人造现实系统接收第二用户面部的一个或多个捕获图像。如前文所述,计算系统可确定图像与代表第二用户面部的三维面部模型之间的映射关系。计算系统可以将捕获的图像与三维面部模型之间的映射关系发送给第一用户的人造现实系统。第一用户的人造现实系统可以基于接收到的映射关系来呈现第二用户的面部表示。

  在一个实施例中,计算系统可以生成与用户面部一部分相对应的合成图像。计算系统可以接收对应于用户面部的一部分的多个图像。例如,计算系统可以接收用户的眼睛、嘴巴、鼻子、脸颊、额头和下巴等的图像。所述图像中的每一个可用于识别用户面部的各种面部特征,并确定对应于所述图像和用户的3D面部模型的映射关系。映射关系可用于将用户的整个面部投影到三维面部模型。

  考虑到极端角度,映射到3D面部模型的捕获图像的直接重投影可能不是准确的面部表示,并且可能在重投影过程中引入伪影。所以,机器学习模型可用于生成与用户面部的一个或多个部分相对应的合成图像。

  作为一个示例,鉴于眼睛部分通常被头显遮挡,所以可以编辑用户眼睛在不同角度的多个图像,以生成用户眼睛的合成图像。

  在一个实施例中,机器学习模型可以基于摄像头在预定角度拍摄的ground-truth图像进行训练。在训练过程中,合成多个图像以生成纹理或确定合成图像和三维面部模型之间的映射关系。

  计算系统可以将纹理图像与预定纹理混合。在一个实施例中,纹理图像可以是用户面部一部分的捕获图像与用户3D面部模型之间的映射关系。纹理图像可以由投影到三维面部模型的图像来表示,以表示用户面部中与纹理图像相对应的部分。如果捕获的图像是用户嘴巴的右侧,则纹理图像可以代表用户嘴巴的右侧,并投影到三维面部模型。

  图5A-5C举例说明了摄像头的重投影区。给定角度502a,摄像头的重投影504区域可以包括用户脸颊之间的区域。给定角度502b,摄像头的重投影506区域可以包括稍微包围用户鼻子的区域。给定角度502c,摄像头的重投影508区域可以包括从用户前额到用户鼻尖的区域。

  重投影区域504、506、508可全部对应于相同的重投影区域,但重投影区域以不同角度502a-502c示出。在确定捕获的图像之间的映射关系之后,计算系统可以致使人造现实系统通过将纹理图像投影到与捕获所述图像的设想图对应的重投影区域504、506、508,以呈现用户的面部表示。

  图6示出了从不同角度呈现的3D模型的示例性二维图像。图像602可以表示用户面部的真实世界视图。多个摄像头可以捕获用户面部的不同部分的图像。捕获的图像可用于确定映射关系或图像604中所示的纹理图像。

  图7A-7B示出了将面部表示重新投影到三维模型的示例过程700。参考图7A,过程700可以从根据捕获的图像确定的纹理图像702或纹理图像704,以及三维面部模型710开始。在一个实施例中,纹理图像702或704可与预定纹理706混合。可以基于用户面部的图像来生成预定纹理706。纹理图像702或704与预定纹理706的混合可以生成新的纹理708。

  参考图7B,过程700可以将新纹理708投影到三维面部模型710。在一个实施例中,将新纹理708投影到三维面部模型710的结果可以是图像712,其使用投影到三维面部模型710的新纹理708来显示用户的面部表示。

  名为“Camera reprojection for faces”的Meta专利申请最初在2020年9月提交,并在日前由美国专利商标局公布。

+1

来源:映维网

推荐文章