一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于使人体的单个图像成动画并应用效果的娱乐性移动应用程序的制作方法

2022-02-20 05:11:02 来源:中国专利 TAG:


1.本公开通常涉及数字图像处理。更具体地说,本公开涉及用于使人体的单个图像成动画并应用效果的方法、系统和移动应用程序。


背景技术:

2.身体动画可用于许多应用,如广告、娱乐节目、社交媒体网络、计算机游戏、视频、视频对话、虚拟现实、增强现实等。基于单个照片的人体动画可以在各种应用中特别有用。例如,照片上的人可以通过执行类似于真实视频的动作来“活过来”(例如,跳舞、表演杂技、打架等等)。基于一张照片的人的身体动画需要创建一个特定人的身体的真实模型,并让模型在场景中执行动作或交互。


技术实现要素:

3.以简化形式提供此部分来介绍一系列概念,一系列概念将在以下的具体实施方式部分进行进一步描述。此发明内容不旨在标识要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定要求保护的主题的范围。
4.根据本公开的一个实施例,提供了一种用于使人体的单个图像成动画并应用效果的方法。该方法可以包括由计算机装置提供运动数据库。该方法可以允许由计算装置接收输入图像。输入图像包括人的身体。该方法可以包括由计算装置接收包括从运动数据库中选择的运动的用户输入。该方法可以包括由计算装置将输入图像分割成身体部分和背景部分。身体部分包括与人的身体相对应的输入图像的像素。该方法可以包括由计算装置并基于身体部分和所选择的运动来生成以重复所选择的运动的人的身体为特征的视频。该方法可以包括由计算装置显示所生成的视频。
5.该方法还可以包括由计算装置接收另一个用户输入。另一个输入可包括至少一个社交网络的名称。该方法可以包括由计算装置在至少一个社交网络中的计算装置的用户的时间线上发布所生成的视频。
6.该方法可包括在生成视频之前,由计算装置接收另一个用户输入。另一个用户输入可以包括从列表中选择的衣服。该方法可以包括,在生成视频时,将视频的帧中的人的衣服替换为所选择的衣服。
7.该方法可包括在生成视频之前,由计算装置接收另一个用户输入。另一个用户输入可以包括从场景列表中选择的场景。该方法可以包括,在生成视频时,将视频的帧的背景替换为所选择的场景。
8.该方法可包括在生成视频之前,由计算装置接收另一个用户输入。另一个用户输入可以包括从照明效果列表中选择的照明效果。该方法可以包括,在生成视频时,将照明效果应用于视频的帧。
9.该方法可包括在生成视频之前,由计算装置接收另一个用户输入,该另一个用户
输入包括从对象列表中选择的对象。该方法可以包括,在生成视频时,将所选择的对象添加到视频的帧中。添加所选择的对象可以包括将所选择的对象附加到人的手。
10.该方法可包括在生成视频之前,将身体部分适配到头发模型。该方法可以包括,在生成视频时,检测视频的帧中与人的头部相关联的关键点的位置,并基于关键点的位置和头发模型生成人的头发的图像。该方法可以包括在帧中插入头发的图像。
11.该方法可以包括由计算装置捕获执行自定义运动的人的自定义视频。该方法可以包括基于自定义视频确定表示自定义运动的一组参数。该方法可以包括将一组参数作为新的运动添加到运动数据库中。
12.在生成视频时,该方法可包括确定已生成视频的预定数量的帧,其中,该预定数量小于所生成的视频中的帧的总数量。该方法还可以包括在生成视频的其余帧时显示视频的预定数量的帧。
13.视频的生成可以包括从所选择的运动中生成采用至少一个姿势的人的身体的图像。视频的生成可进一步包括基于背景部分和图像生成帧。视频的生成可进一步包括通过应用一个或多个视觉效果来修改帧。视觉效果可以包括照明效果、背景替换、衣服替换和环境对象的插入。
14.视频的生成可包括生成采用来自所选择的运动的姿势的人的身体的一组图像。视频的生成还可以包括将每组图像与来自一组预生成的背景场景的背景场景叠加以生成帧。可以通过将一个或多个视觉效果应用于背景场景来修改一组预生成背景场景的每个背景场景。视觉效果可以包括照明效果、背景替换、衣服替换和环境对象的插入。
15.根据另一实施例,提供了一种用于使人体的单个图像成动画并应用效果的系统。该系统可以包括至少一个处理器和存储处理器可执行代码的存储器,其中,该至少一个处理器可以被配置为实现上述方法的操作,用于使人体的单个图像成动画并在执行处理器可执行代码时应用效果。
16.根据本公开的又一个方面,提供了一种存储处理器可读指令的非瞬时处理器可读介质。当处理器可读指令由处理器执行时,它们使处理器实现上述用于使人体的单个图像成动画并应用效果的方法。
17.示例的附加目的、优点和新颖特征将部分地在下面的描述中阐述,并且通过检查以下描述和附图,对于本领域技术人员将部分变得显而易见,或者可以通过示例的生产或操作而获知。概念的目的和优点可以通过在所附权利要求中特别指出的方法、工具和组合来实现和获取。
附图说明
18.在附图的各图中以示例及非限制的方式示出实施例,其中相同的参考标记表示相似的元件。
19.图1示出了根据一些实施例的示例环境,其中,可以实践用于使人体的单个图像成动画并应用效果的方法。
20.图2是示出根据一些实施例的用于实现使人体的单个图像成动画并应用效果的方法的示例计算装置的框图。
21.图3是示出根据一些示例实施例的用于人的基于单个图像的动画和应用效果的应
用程序的模块的框图。
22.图4是示出根据示例实施例的用于使人体的单个图像成动画并应用效果的库的模块的框图。
23.图5示出了根据示例实施例的包括表示手510的关节点的骨架的一部分。
24.图6示出了输入图像、头发掩模、翘曲到输入图像的头发掩模的图像和应用到输入图像的头发掩模的图像。
25.图7示出了根据示例实施例的示例三角形网格和一组示例控制点。
26.图8至图12b示出了根据一些示例实施例的用于使人的单个图像成动画并应用效果的应用程序的示例用户界面的屏幕。
27.图13是示出根据一个示例实施例的用于使人体的单个图像成动画并应用效果的方法的流程图。
28.图14示出了可用于实现在此描述的方法的示例计算系统。
具体实施方式
29.实施例的以下详细说明包括对附图的参考,附图形成详细说明的一部分。此部分中描述的方法不是权利要求的现有技术且通过包含在此部分中而不被承认为现有技术。附图示出根据示例性实施例的例示。这些示例性实施例(在本文中也被称为“示例”)被足够详细地描述以使所属领域中的技术人员能够实践本主题。在不背离要求保护的范围的条件下,可对实施例进行组合,可利用其他实施例或者可进行结构、逻辑及操作上的改变。因此,以下详细说明不应被视为具有限制性意义且范围由所附权利要求及其等效内容界定。
30.就本专利文件的目的而言,除非另有说明或在其使用上下文中另有明确的意图,否则用语“或(or)”和“及(and)”应指“及/或(and/or)”。除非另有说明或者使用“一个或多个”明显不合适,否则用语“一个(a)”应指“一个或多个(one or more)”。用语“包括(comprise)”、“包括(comprising)”、“包括(include)”及“包括(including)”是可互换的而并非旨在进行限制。例如,用语“包括(including)”应被解释为“包括但不限于”。
31.本公开涉及用于使人体的单个图像成动画并应用效果的方法、系统和移动应用程序。本公开的方法和系统可以被设计成在移动装置(例如智能手机、平板计算机或移动电话)上实时地工作,而无需连接到互联网或需要使用服务器端计算资源,尽管实施例可以扩展到涉及web服务或基于云的资源的方法。虽然将参考移动装置的操作来描述本技术的一些实施例,但是本技术可以使用各种技术在诸如个人计算机、服务器、网络节点等的其他计算装置上实施。例如,本文所描述的方法可以通过在计算机系统上运行的软件和/或通过利用微处理器或其他特定设计的专用集成电路(asic)、可编程逻辑器件的组合或其任何组合的硬件来实现。特别地,这里描述的方法可以通过驻留在诸如磁盘驱动器或计算机可读介质的非瞬时存储介质上的一系列计算机可执行指令来实现。
32.本公开的一些实施例可以允许人的身体的单个图像的实时动画并应用效果。在一些实施例中,提供了一种应用程序。该应用程序可以接收人的图像并执行图像的分割和姿势估计。图像的分割可以包括确定表示人在图像中的区域的像素的“掩模”。可以使用第一专门训练的神经网络来执行分割。第二神经网络可以用来检测人的“骨架”,即表示头部、肩膀、胸部、腿、手等的一组关键的关键点。
33.表示图像中人的面积和骨架的像素的“掩模”可用于由应用程序生成人的近似(通用)模型。可以使用第三神经网络来执行通用模型的生成。该通用模型可以以三维(3d)网格的形式与一组姿势和形状参数的形式生成。姿势和形状参数可以进一步用于动画。
34.应用程序可以进一步调整通用模型,以获取完美适配人的轮廓和形状的重构模型。该应用程序可以从输入图像中提取纹理并生成纹理映射以对该人进行着装。或者,该应用程序可以允许用户利用表示其他所期望的衣服的另一纹理映射来替换该纹理映射。
35.应用程序可以进一步允许用户从运动数据库中选择运动。运动可以用一系列姿势参数来表示。接下来,应用程序可以通过将一系列姿势参数传递给重构模型以生成输出视频,从而基于选择的运动对重构模型进行动画处理。可以使用先前创建的纹理映射来修饰重构模型。该应用程序还可以允许选择一个特殊的场景或背景。应用程序可以在选择的场景或背景中插入重构模型。该应用程序可以允许通过社交媒体网络保存输出视频或分享输出视频。
36.现在参照附图描述示例性实施例。附图是理想化示例性实施例的示意性例示。因此,本文中所论述的示例性实施例不应被理解为限制于本文中呈现的特定例示,相反,这些示例性实施例可包括偏差且不同于本文中呈现的例示,对于所属领域中的技术人员来说应显而易见。
37.图1示出了示例环境100,其中,可以实践用于使人体的单个图像成动画并应用效果的方法。环境100可以包括计算装置105和用户130。计算装置105可以包括相机115和图形显示系统120。计算装置105可以指移动装置,例如移动电话、智能电话或平板计算机。然而,在其他实施例中,计算装置105可以指代个人计算机、膝上型计算机、上网本、机顶盒、电视装置、多媒体装置、个人数字助理、游戏控制台、娱乐系统或任何其他计算装置。
38.在某些实施例中,计算装置105可被配置为经由例如相机115捕获人130的输入图像125。输入图像125可以包括身体部分140和背景部分145。身体部分140可以包括表示输入图像中的人130的身体的输入图像125的像素。在一些其他实施例中,人的图像可以存储在计算装置105的存储器中或存储在计算装置105通信连接到的基于云的计算资源中。
39.在本公开的一些实施例中,计算装置105可被配置为允许从运动数据库中选择运动。计算装置100还可以基于所选择的运动和输入图像125生成视频155。视频155可以包括重复所选择的运动的人130的图像。视频155可以使用图形显示系统120显示,存储在计算装置105的存储器中或存储在计算装置105通信连接到的基于云的计算资源中。计算装置105可被配置为允许选择社交媒体网络的类型并经由社交媒体网络分享视频155。
40.在图2所示的示例中,计算装置105可以包括硬件组件和软件组件两者。具体地,计算装置105可以包括相机115和可选的深度相机215以获取数字图像。计算装置105还可以包括一个或多个处理器210和存储器215,用于存储软件组件和处理器可读(机器可读)指令或代码,当由处理器210执行时,这些指令或代码使计算装置105执行用于如本文所述的使人体的单个图像成动画和应用效果的方法的至少一些步骤。在一些实施例中,存储器215可以包括用于对人进行基于单个图像成动画和应用效果的应用程序220。在一些实施例中,处理器210可以包括图像处理器(例如,图形处理单元)。
41.图形显示系统120可以被配置为提供用户图形界面。在一些实施例中,与图形显示系统120相关联的触摸屏可用于接收来自用户的输入。一旦用户触摸屏幕,可以通过图标或
文本按钮将这些选项提供给用户。
42.通信模块230可包括可操作以经由数据网络在计算装置105和远程计算资源之间传送数据的模块。远程计算资源可以提供对一个或多个社交媒体网络的访问。在各种实施例中,通信模块230可包括蓝牙tm模块、红外(ir)模块、wi-fi模块等。
43.图3是示出根据一些示例实施例的应用程序220的模块的框图,该模块用于对人进行基于单个图像的成动画并应用效果。应用程序220可以包括库310,库310包括用于使人体的单个图像成动画和应用效果的模块,以及用于与用户交互的用户界面305。
44.图4是示出根据示例实施例的用于使人体的单个图像成动画并应用效果的库310的模块的框图。库310可以包括分割和姿势估计模块405、通用模型适配模块410、重构模块415、装配和蒙皮模块420、纹理模块425、运动数据库430和动画模块445。模块405、410、415、420、425、430和435在美国申请第16/434,185号中详细描述,该申请作为参考全文并入本文。库310还可以包括头发动画模块435、自定义运动捕获模块450和效果应用模块440。
45.分割和姿势估计模块405可以被配置为接收输入图像125。输入图像125可以包括表示人的身体部分140的图像的像素。模块405可被配置为生成分割掩模。分割掩模可以是显示输入图像125上的人的轮廓的图像。分割掩模可以进一步提供给重构模块415和纹理模块425。
46.模块405还可以基于输入图像125确定输入图像125中的身体姿势。姿势可以以图形的形式确定。该图形可以包括一组关键点和连接一些关键点的边缘。
47.通用模型适配模块410可被配置为基于输入图像和关键点的图形生成通用模型。通用模型可以表示一般人的外貌和该人的姿势。通用模型可以包括形状参数。形状参数可以包括表示人的身体形状的3d点的向量。该通用模型还可以包括姿势参数的向量,其中,每个姿势参数确定身体的至少一个关节的轴角旋转。身体的关节可以对应于关键点图形中的关键点。在一些实施例中,通用模型可用于生成表示人的身体的网格。
48.可将通用模型设计得足够复杂,以涵盖人的各种形状以及姿势。通用模型在计算方面并不复杂。通用模型可以是固定零模型的参数化函数、形状参数及姿势参数。通用模式可表示真人可执行的各种不同形状及姿势的人体。将通用模型表示为参数化函数可使得能够节省计算装置的存储器,且可使得能够使用优化的矩阵计算来计算运动,以提高计算速度。
49.在一些实施例中,由通用模型学习的参数可包括蒙皮权重、形状系数、姿势参数及关节回归因子。蒙皮权重可表示用于确定每一个关节如何影响与通用模型相关联的网格的每一个顶点的值。网格可表示人的身体的形状。可使用蒙皮权重对网格进行动画绘制。蒙皮权重可由n
joints
×nvertices
矩阵表示,其中,n
joints
是关节的数量,且n
vertices
是网格中的顶点的数量。形状系数可用于使用形状参数变更初始通用模型,以使通用模型在身高、体重、腰围、低臀围等方面适当成形。关节回归因子可包括用于确定人的关节相对于人的形状的初始位置的值。关节回归因子可由与蒙皮权重的矩阵相似的矩阵来表示。在训练之后,通用模型可基于一组形状参数及一组姿势参数生成人体的形状及姿势。可以使用神经网络将通用模型适配到输入图像125。可以将通用模型提供给重构模块415。
50.重构模块415可被配置为基于通用模型和分割掩模生成将在动画中使用的3d模型。该通用模型可以描述有限空间的人体形状。通用模型可能不表示人的衣服、头发和其他
特定细节。通用模型可用于创建3d模型。3d模型可以描绘特定人的形状的尽可能多的细节。具体地说,3d模型可以被构造成基本上精确地适配输入图像中的人的轮廓。换句话说,可以构造3d模型以覆盖分割掩模中的轮廓。在进一步的实施例中,3d模型可以被构造成覆盖输入图像上的头发和衣服,以使3d模型的动画看起来逼真。
51.3d模型可以包括由3d空间中的一组关节点表示的骨架。关节点可以指示身体中关节的位置。骨架可以由专业的3d装配工和动画师建造。骨架可以允许支持大范围的运动,捕获运动中的所有细微之处。骨架可以包括比在模块410中生成的通用模型的关键点的图形更多的点。例如,骨架可能包括脊椎和四肢区域的关节点,尤其是手掌。因此,骨架可以允许表达比通用模型的关键点的图形更复杂的运动。
52.图5示出了根据示例实施例的包括表示手510的关节点的骨架520的一部分。
53.返回图4,模块415可进一步基于3d模型生成重构网格。重构网格可以包括不同于通用模型的网格的3d点的3d点。重构网格的每个点都可以被分配一组蒙皮权重。每个蒙皮权重可以与至少一个关节点相关联。3d模型可进一步用于在重构网格上生成纹理。
54.装配和蒙皮模块420可以确定由模块415生成的重构网格中顶点的蒙皮权重。关节点的蒙皮权重和位置可以进一步用于使网格成动画。
55.纹理模块425可以为重构网格生成纹理映射。可以使用输入图像和分割掩模来生成纹理映射。纹理映射的生成可以包括重构网格的uv展开以获取uv纹理映射。纹理映射可以以这样的方式设计,即所有其他重构网格具有相同的uv纹理映射,即使其他重构网格因轮廓、顶点数量和面而不同。这可以允许将纹理从为输入图像和分割掩模生成的一个重构网格转移到为相同输入图像和相同分割掩模生成的另一个重构网格。这也允许修改纹理映射以改变例如输入图像中的颜色和衣服。
56.uv展开可以定义为将3d对象的表面展平为2d表面的过程。u和v是2d表面上的点的顶点的坐标(也称为纹理坐标)。
57.动画模块435可以基于一系列多组姿势参数来生成以输入图像中的人的运动为特征的输出视频的帧。一系列多组姿势参数可以存储在运动数据库430中。一系列多组姿势参数可以表示至少一个运动。一系列多组姿势参数中的每一组可用于生成输出视频的一帧。可以使用由真实演员执行的移动的运动捕获并将该移动数字化来获取一系列多组姿势参数。在一些实施例中,移动的捕获可以包括借助带有传感器的特殊手套捕获专业人员手指的移动。
58.在一些实施例中,一系列多组姿势参数可以由在编辑器中利用通用模型操作的3d运动设计器人工生成。运动数据库430可以包括表示不同预定运动的不同系列多组姿势参数。预定运动可以包括舞蹈、杂技、与环境场景和对象的交互等等。
59.输出视频的每一帧可以通过使用对应于姿势的一组姿势参数重新计算3d模型来生成。结果,可以使用纹理映射生成重构网格的顶点在3d空间中的新位置并进行纹理化,以生成采用该姿势的人的身体的图像。人的身体的图像可以插入到帧中。
60.在生成输出视频的帧之后,可以使用图形显示系统显示输出视频。在一些实施例中,可以在未完全生成输出视频时开始播放输出视频。到那个时候完全渲染的每一帧都可以在渲染输出视频的其余帧完成之前显示。这可以减少用户等待时间。
61.效果应用模块440可将一个或多个效果应用于输出视频的帧。可以在动画模块445
生成视频时将效果应用于帧。效果可以包括,例如,在输入图像中替换人的衣服、场景的改变和场景的照明、在场景中添加另一对象等。可以通过用户界面305选择效果。
62.可以使用至少两种方法来执行应用效果,包括例如照明、背景替换、衣服替换、环境对象的插入。第一种方法可以包括用人的身体的渲染图像和显示效果的背景场景渲染每一帧的整体。第二种方法可以包括与显示效果的背景场景的图像分开渲染人的身体的图像。此后,第二种方法可以继续用效果叠加人的身体的图像和背景场景的图像,以生成视频的帧。第二种方法可能是优选的,因为它允许预先计算视频中场景的某些部分,并因此生成复杂的和真实感的场景。然而,第二种方法可能需要将预处理图像下载到计算装置105。用于生成视频的第一种方法不需要向计算装置105下载额外数据,并且允许生成比第二种方法更多的与背景场景的交互。然而,第一种方法比第二种方法计算开销更大,耗时更长。
63.自定义运动捕获模块450可以允许记录具有执行自定义运动的人的视频。模块450还可以基于视频确定与人的自定义运动相对应的一系列多组姿势参数,并将一系列多组姿势参数作为新的运动添加到运动数据库430中。
64.头发动画模块435可以生成输入图像中的人的头发模型,并在输出视频的帧中使头发模型成动画。头发模型可以基于人的头部的移动和旋转来生成动画。
65.头发动画模块435可以执行以下步骤:对发型进行分类、修改头发的外观、修剪头发以及使头发成动画。当头发不完全在人的输入图像的内部时,头发的动画是很重要的。
66.头发的分类可能包括确定以下发型:“直的”、“波浪的”、“卷曲的”、“长的”和“短的”。分类是发型和头发的物理参数选择所需要的。用户界面可以允许用户修改头发颜色和发型。头发颜色和发型的改变可以通过调整颜色统计或为头发选择另一个纹理来进行。对于长发,可以通过使用翘曲变换增加发量,让头发看起来更有魅力。
67.为了在动画中获取更好的视觉头发外观,头发不应该具有任何形状伪像,如单个发丝的分离、分割错误或与其他对象或输入图像边框重叠的头发。头发可以通过适配参考掩模来修剪,以避免形状伪影。
68.图6示出了根据示例实施例的输入图像605、头发掩模610、翘曲到输入图像605的头发掩模的图像615和应用到输入图像605的头发掩模610的图像620。
69.可以从准备好的集合中选择适合用户发型的掩模。然后可以翘曲选择的掩模以调整输入图像上的头发。头发也可以变换,看起来更匀称。用户可以选择另一种发型来使头发变长或变短,或者将头发修剪或翘曲成另一种形状。对于头发的动画,三角形网格和一组控制点可以用于头发模型的动画。
70.图7示出了根据示例实施例的示例三角形网格710和一组示例控制点。控制点的移动可以使用自定义物理引擎基于头部740的移动来计算。控制点可以包括固定的控制点720和移动控制点730。固定的控制点720可以放置在面部的边界上,以防止面部附近的头发过度移动。移动控制点730可以放置在头发上。移动控制点730可以用作头发动画的输入。
71.移动控制点730的放置以及移动控制点730相对于彼此和相对于固定的控制点720的相对位置可以取决于发型。对于典型的长直发,移动控制点730可以放置在发丝上并以链的形式相互绑定。根控制点750可以绑定到头部。对于其他发型,移动控制点730可以不同地放置。移动控制点730可以以特殊的方式放置以创建复杂的效果。复杂的效果可能包括头发在风中吹动的效果。
72.在动画期间,每个移动控制点730相对于其父控制点朝向其最合适的位置移动。移动控制点a的父控制点是来自链的移动控制点b,使得移动控制点b位于比移动控制点a更靠近头部的位置。移动控制点730的最合适位置可以受重力向量和头发长度的设定参数的影响。控制点的移动向量受最合适的位置和存储的速度比例、加速度因子和头发长度压缩的设定参数的影响。
73.当头部740移动或旋转时,根控制点750与头部740一起移动,因为根控制点750固定在头部上。根控制点750的位置确定链中所有其他移动控制点730的最合适位置的变化。三角形网格710的每个点依次基于移动控制点的移动而移动。因此,移动控制点730的移动启动头发动画。
74.通过使用得到的网格对头发图像进行翘曲,可以获取用于帧的最终头发图像。用户界面可以允许用户在场景中变更物理参数,以创建不同的效果,如风、零重力或湿发效果。自定义头发动画的另一个选择是创建虚拟头部运动。在动画过程中,头发可以跟随虚拟头部移动,而视觉头部位置不变。这种效果对于生成头发比头部晃动得更快或更慢的视频是有用的。
75.图8示出了根据示例实施例的应用程序220的示例用户界面的屏幕800。屏幕800包括要被变为动画的人的输入图像125、相机图标805、运动选择图标810、衣服选择图标815、照明设置图标820、用于选择对象的图标825、背景(场景)选择图标830和视频导出图标835。
76.用户界面可以允许用户通过选择相机图标805来拍摄照片。这张照片可以用来创建一个新的3d动画模型。可选地,用户界面还可以允许用户选择基于之前拍摄的照片生成并由应用程序220保存在计算装置105的存储器中的现有3d模型中的一个。
77.在图8的示例中,选择背景选择图标830。用户界面提供背景(场景)的列表840。每个场景都可以以小图像片段或短视频的形式呈现在用户界面中。用户可以选择用于渲染视频的场景。场景可以包括背景,并且可选地包括一些周围的对象。用户可以选择生成具有与输入图像125中的背景相同的背景的视频。用户界面还可以允许用户通过上传或制作将用作背景的照片来添加自定义场景。
78.用户界面还可以允许经由衣服选择图标815、照明设置图标820、用于选择手中的对象的图标825和背景(场景)选择图标830选择设置。然后,用户界面可以调用库310的模块,以基于所选择的设置来生成和处理输出视频的帧。
79.图9示出了根据示例实施例的应用程序220的示例用户界面的屏幕900。屏幕900包括要被变为动画的人的输入图像125、相机图标805、运动选择图标810、衣服选择图标815、照明设置图标820、用于选择对象的图标825、背景(场景)选择图标830和视频导出图标835。
80.在图9的示例中,选择用于选择对象的图标825。用户界面提供了对象的列表910,这些对象可以在以执行所选择的运动的人为特征的输出视频的帧生成期间添加到人的模型的手上。每个对象都可以在用户界面中以一个小图像片段的形式呈现。
81.在生成的视频的帧中,可以将对象添加到执行运动的人的手上。对象可以以一种看起来自然的方式插入到手中。在一些实施例中,帧可能以与周围场景中的其他对象一起操作的人为特征。例如,帧可能以一个人用激光剑战斗为特征。对象的插入可以通过建立整体3d场景来进行,其中,在执行舞蹈或其他运动时放置人的模型,然后渲染整个场景。
82.图10示出了根据示例实施例的应用程序220的示例用户界面的屏幕1000。屏幕
1000包括生成的输出视频的帧1005、相机图标805、运动选择图标810、衣服选择图标815、照明设置图标820、用于选择对象的图标825、背景(场景)选择图标830、发型选择图标830和视频导出图标835。在图10的示例中,选择视频导出图标835。用户界面提供用于通过社交媒体网络保存视频或分享视频的选项列表1010。
83.社交媒体网络可以是目前市场上可用的社交媒体网络之一。然而,对于本领域的技术人员来说应该是显而易见的,图2和图3中所示的应用程序220可以被实现为独立的社交媒体平台,用于生成和分享视频、场景、自定义移动、自定义背景场景、场景照明的自定义效果、衣服和发型、背景和消息等。
84.图11示出了根据示例实施例的应用程序220的示例用户界面的屏幕1100。屏幕1100包括生成的输出视频的帧1105、相机图标805、运动选择图标810、衣服选择图标815、照明设置图标820、用于选择对象的图标825、背景(场景)选择图标830、视频导出图标835和发型选择图标1110。在图11的示例中,选择发型选择图标1110。用户界面提供用于为视频中的人的模型选择发型的选项列表1115。帧1105还示出将人的衣服替换为用户选择的其他衣服。此外,照明效果和动态被添加到输出视频的帧中。
85.用户界面可以允许用户将输入图像中的人穿着的衣服替换为来自集合的任何其他衣服或服装。改变衣服的选项通过衣服选择图标815提供。服装的集合可以包括传统服装、铁人的服装、圣诞老人服装等。用户可以为所选择的场景或所选择的运动场景选择适当的衣服。可以通过改变图4中描述的纹理模块425中的纹理映射来执行衣服的替换。改变衣服的选项可用作虚拟衣柜;也就是说,用户可以选择并检查特定服装是否适合视频中的人的模型。
86.帧1105还显示了场景上的照明发生了变化并且动态被添加到视频中。用户界面可以允许用户从预定效果的集合中选择用于照明和动态的效果。可以通过照明设置图标820提供用于选择照明和动态效果的选项。
87.选择适当的照明效果可以允许生成以发生在黄昏或迪斯科闪电中的场景为特征的视频,同时该人表演舞蹈。通过为输出视频中的每一帧设置光点和光强度,可以通过适当的渲染器调整来实现这种效果。此外,通过对渲染器应用调整,可以针对每一帧改变相机的位置,以向动画添加动态效果。
88.图12a示出了根据示例实施例的应用程序220的示例用户界面的屏幕1210。屏幕1210包括生成的输出视频的帧1205、相机图标805、运动选择图标810、衣服选择图标815、照明设置图标820、用于选择手中对象的图标825、背景(场景)选择图标830、视频导出图标835和发型选择图标1110。
89.在图12a的示例中,选择运动选择图标810。用户界面提供了通过图标1210浏览运动、通过图标1215选择运动和通过图标1220捕获自定义运动的附加选项。用户界面还提供来自图4所示的运动数据库430的预定运动的列表1225。
90.图12b示出了根据示例实施例的应用程序220的示例用户界面的屏幕1210。应用程序220包括自定义运动捕获模块450(在图4中示出),允许用户界面捕获自定义运动。自定义运动捕获模块450可以确定由计算装置的相机捕获的图像中的人的轮廓1230的边界。然后,用户可以触摸“捕获运动”按钮1235以记录执行自定义运动的人的视频。自定义运动捕获模块450还可以确定与自定义运动相对应的一系列多组姿势参数,并将一系列多组姿势参数
作为新的运动添加到运动数据库430。用户可以与运动数据库中的其他预定运动相同的方式进一步使用新的运动来使不同的输入图像成动画(即,将它们应用于不同的模型)。新的运动可以与其他用户分享(例如,通过社交媒体网络),因此其他用户可以将新的运动应用于他们的输入图像。
91.图13是示出根据一个示例实施例的用于使人体的单个图像成动画并应用效果的方法1300的流程图。方法1300可以由计算装置105执行。
92.在框1305中,方法1300可以开始于由计算机装置提供运动数据库。
93.在框1310中,方法1300可包括由计算装置接收输入图像,该输入图像包括人的身体。
94.在框1315中,方法1300可包括由计算装置接收用户输入,该用户输入包括从运动数据库中选择的运动。
95.在框1320中,方法1300可包括由计算装置将输入图像分割成身体部分和背景部分。身体部分可以包括对应于人的身体的像素。
96.在框1325中,方法1300可包括由计算装置并基于身体部分和所选择的运动来生成以重复所选择的运动的人的身体为特征的视频。生成视频可包括基于身体部分生成人的身体的3d模型,以及基于一系列姿势参数渲染3d模型。一系列姿势参数由所选择的运动来定义。
97.在框1330中,方法1300可包括由计算装置显示所生成的视频。
98.图14示出了可用于实现在此描述的方法的示例计算系统1400。计算系统1400可以在诸如计算装置105的上下文中实现。
99.如图14所示,计算系统1400的硬件组件可以包括一个或多个处理器1410和存储器1420。存储器1420部分存储由处理器1410执行的指令和数据。当系统1400在操作中时,存储器1420可以存储可执行代码。系统1400还可以包括可选的大容量存储装置1430、可选的便携式存储介质驱动器1440、一个或多个可选的输出装置1450、一个或多个可选的输入装置1460、可选的网络接口1470和一个或多个可选的外围装置1480。计算系统1400还可以包括一个或多个软件组件1495(例如,可以实现如本文所述的用于肖像动画的方法的软件组件)。
100.图14中所示的组件被描绘为经由单个总线1490连接。组件可以通过一个或多个数据传输装置或数据网络连接。处理器1410和存储器1420可以经由本地微处理器总线连接,并且大容量存储装置1430、外围装置1480、便携式存储装置1440和网络接口1470可以经由一个或多个输入/输出(i/o)总线连接。
101.可以用磁盘驱动器、固态磁盘驱动器或光盘驱动器实现的大容量存储装置1430是用于存储供处理器1410使用的数据和指令的非易失性存储装置。大容量存储装置1430可以存储用于实现本文描述的实施例的系统软件(例如,软件组件1495)。
102.便携式存储介质驱动器1440与便携式非易失性存储介质(例如压缩盘(cd)或数字视频盘(dvd))结合操作,以向计算系统1400输入和输出数据和代码。用于实现本文描述的实施例的系统软件(例如,软件组件1495)可以存储在这样的便携式介质上,并经由便携式存储介质驱动器1440输入到计算系统600。
103.可选的输入装置1460提供用户界面的一部分。输入装置1460可以包括用于输入字
母数字和其他信息的字母数字小键盘,例如键盘,或者指向装置,例如鼠标、轨迹球、触笔或光标方向键。输入装置1460还可以包括相机或扫描仪。另外,如图14所示的系统1400包括可选的输出装置1450。合适的输出装置包括扬声器、打印机、网络接口和监视器。
104.网络接口1470可用于经由一个或多个通信网络(诸如一个或多个有线、无线或光学网络,包括例如因特网、内联网、lan、wan、蜂窝电话网络、蓝牙无线电和基于ieee 802.11的射频网络等)与外部装置、外部计算装置、服务器和联网系统通信。网络接口1470可以是网络接口卡,例如以太网卡、光收发器、射频收发器或任何其他类型的能够发送和接收信息的装置。可选的外围装置1480可以包括任何类型的计算机支持装置,以向计算机系统添加附加功能。
105.包含在计算系统1400中的组件旨在表示计算机组件的广泛类别。因此,计算系统1400可以是服务器、个人计算机、手持计算装置、电话、移动计算装置、工作站、小型机、大型计算机、网络节点或任何其他计算装置。计算系统1400还可以包括不同的总线配置、联网平台、多处理器平台等。可以使用各种操作系统(os),包括unix、linux、windows、macintosh os、palm os和其他合适的操作系统。
106.上述功能中的一些功能可由存储在存储介质(例如,计算机可读介质或处理器可读介质)上的指令组成。指令可由处理器检索及执行。存储介质的一些示例是存储器装置、磁带、磁盘等。当由处理器执行时,指令可进行操作以指导处理器根据本发明进行操作。所属领域中的技术人员熟悉指令、处理器及存储介质。
107.值得注意的是,适合执行本文中描述的处理的任何硬件平台均合适与本发明一起使用。本文中使用的用语“计算机可读存储介质(computer-readable storage medium)”及“计算机可读存储介质(computer-readable storage media)”是指参与向处理器提供指令以供执行的任何介质。此种介质可采取多种形式,包括但不限于非易失性介质、易失性介质及传输介质。非易失性介质包括例如光盘或磁盘,例如固定盘。易失性介质包括动态存储器,例如系统随机存取存储器(ram)。传输介质包括同轴电缆、铜配线及光纤等,包括包含总线的一个实施例的配线。传输介质也可采用声波或光波的形式,例如在射频(rf)及红外(ir)数据通信期间生成的声波或光波。计算机可读介质的常见形式包括例如软磁盘、软盘、硬盘、磁带、任何其他磁介质、光盘只读存储器(rom)盘、dvd、任何其他光学介质、具有标记或孔图案的任何其他物理介质、ram、可编程只读存储器(prom)、电可编程只读存储器(eprom)、电可擦可编程只读存储器(eeprom)、任何其他存储芯片或盒式磁盘、载波或计算机可读取的任何其他介质。
108.在将一个或多个指令的一个或多个序列传送到处理器以供执行时,可涉及各种形式的计算机可读介质。总线将数据传送到系统ram,处理器从系统ram检索并执行指令。系统处理器接收到的指令可在处理器执行之前或之后可选地存储在固定磁盘上。
109.因此,已描述用于基于单个图像的实时身体动画的方法及系统。尽管已参照具体的示例性实施例描述了实施例,然而显而易见的是,在不背离本技术的更广泛的精神及范围的条件下,可对这些示例性实施例进行各种修改及改变。因此,说明书及附图被认为是示例性的而不是限制性的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献