基于人体姿势和体型估计的三维试穿系统和方法与流程
未命名
08-25
阅读:194
评论:0

基于人体姿势和体型估计的三维试穿系统和方法
1.交叉引用
2.本公开要求于2020年12月30日提交的美国专利申请17/138,213的优先权,其全部内容通过引用并入本文。
3.在本公开的描述中引用并讨论了一些参考文献,其包括专利、专利申请、以及各种出版物。提供这些参考文献的引用和/或讨论仅仅是为了使本公开的描述清楚,而不是承认任何此类参考文献是本文所述公开的“现有技术”。本说明书中引用和讨论的所有参考文献的全部内容通过引用并入本文,其程度与每个参考文献通过引用单独并入的程度相同。
技术领域
4.本公开总体上涉及三维(3d,three dimensional)人体重建领域。更具体地,本公开涉及用于基于人体姿势和体型估计的实时服装试穿的系统和方法。
背景技术:
5.本文提供的背景描述是为了总体上呈现本公开的上下文。在本背景技术部分描述的范围内,当前署名的发明人的工作,以及在提交申请时不符合现有技术的描述方面,均未明示或暗示地被承认为针对本公开的现有技术。
6.随着电子商务的快速发展,服装的虚拟试穿应运而生。电子商务平台可以提供人体模型,并在该模型上放置虚拟服装或套装以查看效果。客户根据穿着该服装或套装的模特的外观,可以很好地决定是否购买该服装或套装。还可以使用客户的体形来代替人体模型。然而,客户体型的估计精度是有限的,并且很难实时地显示穿着服装的客户的动作。
7.因此,本领域存在解决上述缺陷和不足的未解决的需要。
技术实现要素:
8.在某些方面,本公开涉及一种用于服装试穿的方法。在某些实施例中,该方法包括:
9.通过相机捕获客户的三维3d图像;
10.通过计算设备获得所述3d图像中的所述客户的第一3d姿势;
11.通过所述计算设备对所述第一3d姿势执行机器学习模型,生成第一蒙皮多人线性模型smpl姿势,其中,所述第一smpl姿势包括表示所述客户的关节的旋转的多个旋转矩阵,以及表示所述客户的整个身体旋转的全局旋转矩阵;
12.由所述计算设备基于所述全局旋转矩阵计算所述客户的整个身体旋转的角度;
13.当所述整个身体旋转的角度相对于所述客户的前方方向在预定范围内时:使用所述第一smpl姿势构建smpl模型;以及
14.当所述整个身体旋转的角度超出所述预定范围时:使用所述3d图像的二维2d分量生成第二smpl姿势,并使用所述第二smpl姿势构建所述smpl模型。
15.在某些实施例中,该方法还包括将服装模型装扮到所述smpl模型上,并且在连接
到所述计算设备的显示器上显示装扮着所述服装模型的所述smpl模型。在某些实施例中,该方法还包括根据来自客户的指示购买服装。在某些实施例中,该方法还包括使用客户的图像来渲染smpl模型。
16.在某些实施例中,机器学习模型包括:非残差块、第一残差块、第二残差块、多个关节自注意力块和全局自注意力块。非残差块包括第一全连接层、第一批规范层和第一整流线性单元relu层。第一残差块连接到非残差块,第一残差块包括第二全连接层、第二批规范层和第二relu层。第二残差块连接到第一残差块,第二残差块包括第三全连接层、第三批规范层和第三relu层。多个关节自注意力块连接到第二残差块,多个关节自注意力块中的每一个自注意力块预测与客户的多个关节中的一个关节对应的特征。全局自注意力块连接到第二残差块,全局自注意力块预测与客户的多个关节中的所有关节相对应的整体特征。
17.在某些实施例中,预定范围相对于客户的前方方向为-70至70度。在某些实施例中,预定范围相对于客户的前方方向为-80至80度。在某些实施例中,预定范围相对于客户的前方方向为-85度至85度。在某些实施例中,预定范围相对于客户的前方方向为-90度至90度。
18.在某些实施例中,相机是3d orbbec相机,并且通过orbbec 3d姿势模型执行获得客户的第一3d姿势的步骤。
19.在某些实施例中,生成用户的第二smpl姿势的步骤包括:从3d图像的2d分量估计客户的2d姿势;使用时域膨胀卷积模型将2d姿势转换为第二3d姿势;以及使用机器学习模型从第二3d姿势生成第二smpl姿势。
20.在某些实施例中,第一3d姿势或第二3d姿势包括客户的12个点的3d坐标,12个关节包括:左肩、右肩、左肘、右肘、左腕、右腕、左髋、右髋、左膝、右膝、左踝、以及右踝。
21.在某些实施例中,使用端到端姿势和形状估计模型来执行获得用户的第二smpl姿势的步骤。在某些实施例中,端到端和形状估计模型是图卷积网格回归cmr。
22.在某些方面,本公开涉及一种用于服装试穿的系统。在某些实施例中,该系统包括计算设备以及连接到计算设备的相机。计算设备具有处理器和存储计算机可执行代码的存储设备。计算机可执行代码在处理器处执行时,用于:
23.指示相机捕获客户的3d图像;
24.在3d图像中获得客户的第一3d姿势;
25.通过对第一3d姿势执行机器学习模型,生成第一蒙皮多人线性模型smpl姿势,其中,第一smpl姿势包括表示客户的关节的旋转的多个旋转矩阵和表示客户的整个身体旋转的全局旋转矩阵;
26.基于全局旋转矩阵计算客户的整个身体旋转的角度;
27.当整个身体旋转的角度相对于客户的前方方向在预定范围内时:使用第一smpl姿势构建smpl模型;以及
28.当整个身体旋转的角度超出预定范围时:使用3d图像的二维2d分量生成第二smpl姿势,并使用第二smpl姿势构建smpl模型。
29.在某些实施例中,计算机可执行代码还被配置为:将服装模型装扮到smpl模型上,并在连接到计算设备的显示器上显示装扮着服装模型的smpl模型。
30.在某些实施例中,机器学习模型包括:非残差块、第一残差块、第二残差块、多个关
节自注意力块、以及全局自注意力块。非残差块包括第一全连接层、第一批规范层和第一整流线性单元relu层。第一残差块连接到非残差块,第一残差块包括第二全连接层、第二批规范层和第二relu层。第二残差块连接到第一残差块,第二残差块包括第三全连接层、第三批规范层和第三relu层。多个关节自注意力块连接到第二残差块,多个关节自注意力块中的每一个自注意力块预测与客户的多个关节中的一个关节对应的特征。全局自注意力块连接到第二残差块,全局自注意力块预测与客户的多个关节中的所有关节相对应的整体特征。
31.在某些实施例中,预定范围相对于客户的前方方向为-70至70度。在某些实施例中,预定范围相对于客户的前方方向为-80至80度。在某些实施例中,预定范围相对于客户的前方方向为-85至85度。在某些实施例中,预定范围相对于客户的前方方向为-90至90度。
32.在某些实施例中,相机是3d orbbec相机,计算机可执行代码被配置为使用orbbec公司提供的orbbec 3d姿势模型来获得客户的第一3d姿势。
33.在某些实施例中,计算机可执行代码被配置为通过以下步骤生成用户的第二smpl姿势:从3d图像的2d分量估计客户的2d姿势,使用时域膨胀卷积模型将2d姿势转换为第二3d姿势,以及使用机器学习模型从第二3d姿势生成第二smpl姿势。
34.在某些实施例中,第一3d姿势或第二3d姿势包括客户的12个点的3d坐标,并且12个关节包括:左肩、右肩、左肘、右肘、左腕、右腕、左髋、右髋、左膝、右膝、左踝、以及右踝。
35.在某些实施例中,计算机可执行代码被配置为:使用端到端姿势和形状估计模型来获得用户的第二smpl姿势。在某些实施例中,端到端和形状估计模型是图卷积网格回归cmr。
36.在某些方面,本公开涉及存储计算机可执行代码的非暂时性计算机可读介质。在某些实施例中,当计算机可执行代码在计算设备的处理器处执行时,计算机可执行代码用于执行上述方法。
37.从下面结合附图和其说明对优选实施例的描述中,本公开的这些和其它方面将变得显而易见,尽管其中的变化和修改在不背离本公开的新颖概念的精神和范围的情况下会受到影响。
附图说明
38.本公开将从具体实施方式以及附图中得到更充分的理解。这些附图示出了本公开的一个或多个实施例,并与书面描述一起用于解释本公开的原理。在可能的情况下,在所有附图中使用相同的附图标记来表示实施例的相同或类似元件。
39.图1示意性地描绘了根据本公开的某些实施例的用于实时服装试穿的流程。
40.图2示意性地描绘了根据本公开的某些实施例的用于实时服装试穿的系统。
41.图3a和图3b示意性地描绘了根据本公开的某些实施例的3d人体姿势。
42.图3c示意性地描绘了对应于图3a和图3b中的3d人体姿势的smpl模型。
43.图4示意性地描绘了根据本公开的某些实施例的3d姿势到smpl姿势转换器的模型架构。
44.图5示意性地描绘了根据本公开的某些实施例的相机和显示器的布置。
45.图6示意性地描绘了客户相对于图5所示的相机和显示器的全局角度。
46.图7示意性地描绘了根据本公开的某些实施例的用于试穿服装的方法。
47.图8示意性地描绘了根据本公开的某些实施例的第一路径和第二路径之间的切换机制。
48.图9示意性地描绘了根据本公开的某些实施例的第一路径和备选路径之间的切换机制。
具体实施方式
49.本公开在以下示例中被更具体地描述,这些示例仅用于说明,因为其中的许多修改和变化对于本领域技术人员来说是显而易见的。现在详细描述本公开的各种实施例。参考附图,在所有视图中,相同的数字(如果存在)表示相同的部件。
50.在本公开的上下文以及使用每个术语的特定上下文中,本说明书中使用的术语通常具有它们在本领域中的普通含义。用于描述本公开的某些术语在下文或说明书中的其他地方讨论,以向从业者提供关于本公开的描述的附加指导。可以理解,同样的事情可以用不止一种方式来表达。因此,替代语言和同义词可以用于本文所讨论的任何一个或多个术语,术语是否在本文中详细阐述或讨论也没有任何特殊意义。本说明书中任何地方的示例的使用,包括本文讨论的任何术语的示例,仅是说明性的,并且绝不限制本公开或任何示例性术语的范围和含义。同样,本公开不限于本说明书中给出的各种实施例。
51.如在本文的描述以及随后的权利要求书中所使用的,除非上下文另有明确规定,否则“一”、“一个”和“该”的含义包括复数引用。此外,如在本文的描述以及在随后的权利要求中所使用的,除非上下文另有明确规定,否则“在
…
中”的含义包括“在
…
中”和“在
…
上”。
52.如本文所述,术语“包括”、“包含”、“带有”、“具有”、“含有”、“涉及”等应理解为开放式的,即意指包括但不限于。
53.如本文所述,短语a、b和c中的至少一个应被解释为使用非排他逻辑or的逻辑(a或b或c)。应当理解,在不改变本公开的原理的情况下,方法内的一个或多个步骤可以以不同的顺序(或同时)执行。
54.如本文所述,术语“模块”或“单元”可以指示属于或包括专用集成电路(asic,application specific integrated circuit),电子线路;组合逻辑电路;现场可编程门阵列(fpga,field programmable gate array);执行代码的处理器(共享的、专用的,或组);提供所描述功能的其他合适的硬件组件;或上述部分或全部的组合,例如在片上系统中。术语模块或单元可以包括存储由处理器执行的代码的存储器(共享的、专用的或组)。
55.如本文所述,术语“代码”可以包括软件、固件和/或微代码,并且可以指程序、例程、函数、类和/或对象。如上所使用的术语共享意味着可以使用单个(共享)处理器执行来自多个模块的部分或全部代码。此外,来自多个模块的部分或全部代码可以存储在单个(共享)存储器。上面使用的术语组意味着可以使用一组处理器执行来自单个模块的部分或全部代码。此外,可以使用一组存储器存储来自单个模块的部分或全部代码。
56.如本文所述,术语“接口”通常指在组件之间的交互点处用于执行组件之间的数据通信的通信工具或装置。一般而言,接口可以在硬件和软件层面都适用,可以是单向或双向接口。物理硬件接口的示例可以包括电连接器、总线、端口、电缆、端子和其他i/o设备或组件。与接口通信的组件可以是例如计算机系统的多个组件或外围设备。
57.本公开涉及计算机系统。如附图中所示,计算机组件可以包括物理硬件组件,其显
示为实线块,以及虚拟软件组件,其显示为虚线块。本领域普通技术人员将理解,除非另有说明,否则这些计算机组件可以以软件、固件或硬件组件或其组合的形式来实现,但不限于这些形式。
58.本文所述的装置、系统和方法可以由一个或多个处理器执行的一个或多个计算机程序来实现。计算机程序包括存储在非暂时性有形计算机可读介质上的处理器可执行指令。计算机程序还可以包括存储的数据。非暂时性有形计算机可读介质的非限制性示例是非易失性存储器、磁存储器和光存储器。
59.现在将在下文中参考附图更全面地描述本公开,其中示出了本公开的实施例。然而,本公开可以以许多不同的形式体现并且不应被解释为限于这里阐述的实施例;相反,提供这些实施例是为了使本公开彻底和完整,并将本公开的范围充分传达给本领域技术人员。
60.在某些方面,本公开的目的是以实时速度估计3d人体姿势并重建人体。在某些实施例中,该技术用于离线商店中的3d虚拟试穿系统。试穿系统需要实时3d人体姿势估计和体型重建,以帮助创建逼真的试穿场景。预测结果可用于各种应用。例如,一种应用是为用户生成3d姿势估计结果,并使用预测结果来控制用于许多娱乐目的的预构建的3d动画。
61.在某些方面,本公开通过设计一种新的流程来实现上述目的,该流程包括:(1)时域膨胀卷积模型和3d姿势关键点到smpl(skinned multi-person linear model)转换模型的组合,(2)3d姿势关键点到smpl转换模型,以及(3)端到端人体姿势和形状估计模型。
62.图1示意性地描绘了根据本公开的某些实施例的用于服装试穿的流程100。如图1所示,当3d相机102捕获客户的3d图像104时,第一路径是使用3d图像104作为输入以使用3d姿势模型106获得3d姿势坐标,使用3d坐标到smpl模型114以将3d姿势坐标对应于smpl模型参数,使用smpl模型参数通过smpl模型120构建人体模型,并使用试穿模型122来试穿服装。
63.第二路径是使用3d图像104的2d图像分量108作为输入,以通过2d姿势估计器110估计2d姿势坐标,使用时域膨胀卷积模型112将2d姿势坐标转换为3d姿势坐标,使用3d坐标到smpl模型114以将3d姿势坐标对应于smpl模型参数,使用smpl模型参数通过smpl模型120构建人体模型,并使用试穿模型122来试穿服装。
64.第二路径的备选路径是使用3d图像104的2d图像分量108作为端到端姿势和形状估计模型116的输入。端到端姿势和形状估计模型116使用2d图像分量108来生成smpl模型参数。smpl模型120使用生成的smpl模型参数来构建人体模型,然后试穿模型122使用构建的人体模型来试穿虚拟服装。
65.在某些实施例中,系统100包括第一路径和第二路径。在某些实施例中,系统100包括第一路径和备选路径。流程还包括决策模型118,决策模型118决定流程对于特定图像输入应该采取哪条路径。当系统100包括第一路径和第二路径时,端到端姿势和形状估计模型116不是必需的。在这种情况下,第一路径是主要路径,3d坐标到smpl模型114从3d姿势模型106的输出生成smpl模型参数。smpl模型参数中的一个表示客户的全局旋转,如果全局旋转在预定范围内,则决策模型118将决定使用该smpl模型参数继续进行smpl模型构建,试穿模型122将执行试穿动作,并且对于下一个图像,该过程将通过第一路径继续。
66.如果决策模型118确定全局旋转超出预定范围,则决策模型118将切换到第二路径,依次执行模块108、模块110、模块112和模块114的功能以获得smpl模型参数,通过模块
120构建smpl模型,通过模块122执行试穿过程,并通过第二路径继续处理下一图像。模块108、模块110、模块112和模块114顺序地处理下一图像以获得smpl模型参数,并且决策模型118将基于smpl模型参数中客户的全局旋转来做出决策。如果全局旋转超出预定范围,则决策模型118将决定使用该smpl模型参数继续进行smpl模型构建,试穿模型122将执行试穿动作,并且该过程使用下一图像之后的新图像时将继续执行第二路径。如果全局旋转在预定范围内,则决策模型118将决定切换回第一路径。
67.当系统100包括第一路径和备选路径时,模块110和模块112不是必需的。在这种情况下,除了端到端姿势和形状估计模型116将提供smpl模型参数之外,决策过程与上述基本相同,smpl模型参数包括客户的全局旋转,并且全局旋转可用于决定是否在第一路径和备选路径之间切换路径。
68.请注意,当客户的全局旋转在预定角度之外或大于预定角度时,客户面向后或几乎面向其侧面。在这种情况下执行第二路径或备选路径,因为3d模型106的直接3d姿势估计会不准确。
69.在某些实施例中,3d相机102是orbbec 3d相机,3d姿势模型106是orbbee公司提供的orbbec三维姿势模型。在某些实施例中,2d姿势估计器110、时域膨胀卷积模型112、3d坐标到smpl模型114、以及端到端姿势和形状估计模型116是预先训练好的模型。
70.通过捕捉客户在相机前的动作,客户的转身或举手可以实时显示在显示器上。显示器上显示的客户是smpl人体模型,虚拟服装模型装扮在smpl人体模型上。
71.图2示意性地描绘了根据本公开的某些实施例的用于实时服装试穿的系统。如图2所示,系统200包括计算设备210、相机250、显示器270、以及产品数据库290。在某些实施例中,计算设备210可以是服务器计算机、集群、云计算机、通用计算机、无头计算机或专用计算机。相机250直接连接到计算设备210,与计算设备210一体形成,或者经由网络连接到计算设备210。相机250可以是诸如orbbec相机的3d相机。显示器270直接连接到计算设备210,与计算设备210一体形成,或者经由网络连接到计算设备210。显示器270可以是大屏幕监视器。产品数据库290经由网络280连接到计算设备210或存储在计算设备210中。产品数据库290包括服装的虚拟模型,服装的虚拟模型可由计算设备210访问,从而计算设备210可以将服装的虚拟模型放置在由计算设备210生成的人体模型上。在某些实施例中,网络280可以是有线或无线网络,并且可以是各种形式。网络的示例可以包括但不限于局域网(lan,local area network)、广域网(wan,wide area network,包括因特网)或任何其他类型的网络。最著名的计算机网络是因特网。在某些实施例中,网络280可以是除网络之外的诸如系统接口或usb接口之类的接口,或者通信地连接计算设备210和产品数据库290的任何其他类型的接口。
72.计算设备210、相机250和显示器270被布置在一起,使得当客户站在预定区域并面对相机250和显示屏270时,相机250将捕捉客户的图像或视频帧并将捕获的图像发送给计算设备210,计算设备210将基于捕获的图像生成人体模型,从产品数据库290检索虚拟服装模型,将虚拟服装模型放置在人体模型上,并在显示器270上显示组合模型。在某些实施例中,计算设备210还可以渲染人体模型并且可选地渲染服装模型。
73.计算设备210可以包括但不限于处理器212、存储器214和存储设备216。在某些实施例中,计算设备210可以包括其他硬件组件和软件组件(未示出)以执行其相应的任务。这
些硬件和软件组件的示例可以包括但不限于其他所需的存储器、接口、总线、输入/输出(i/o)模块或设备、网络接口和外围设备。
74.处理器212可以是被配置为控制计算设备210的操作的中央处理单元(cpu,central processing unit)。在某些实施例中,处理器212可以执行计算设备210的操作系统(os,operating system)或其他应用。在某些实施例中,计算设备210可以具有多于一个的cpu作为处理器,例如两个cpu、四个cpu、八个cpu或任何适当数量的cpu。在某些实施例中,处理器212还包括图形处理单元(gpu,graphics processing unit),以加速图像的处理。存储器214可以是易失性存储器,例如随机存取存储器(ram,random-access memory),用于在计算设备210的操作期间存储数据和信息。在某些实施例中,存储器214可以是易失性存储器阵列。在某些实施例中,计算设备210可以在多于一个的处理器212和/或多于一个的存储器214上运行。存储设备216是非易失性数据存储介质或设备。存储设备216的示例可以包括闪存、存储卡、usb驱动器、固态驱动器、或其他类型的非易失性存储设备,例如硬盘驱动器、软盘、光盘驱动器或任何其他类型的数据存储设备。在某些实施例中,计算设备210可以具有多于一个的存储设备216。在某些实施例中,计算设备210还可以包括远程存储设备216。
75.存储设备216存储计算机可执行代码。计算机可执行代码包括3d服装试穿应用218。3d服装试穿应用218包括代码或指令,当代码或指令在处理器212处执行时,该代码或指令可以为客户执行服装试穿。在某些实施例中,3d服装试穿应用218可以不是可执行代码,而是与可执行代码的功能相对应的电路形式。通过提供电路而不是可执行代码,可以大大提高3d服装试穿应用218的操作速度。在某些实施例中,如图2所示,除其他外,3d服装试穿应用218包括图像捕获模块220、2d姿势估计器222、2d-3d姿势转换器224、3d姿势估计器226、3d姿势到smpl参数转换器228、图像到smpl姿势转换器230、smpl切换模块232、smpl模型构造器234、试穿模块236、以及用户接口238。请注意,2d姿势估计器222和2d-3d姿势转换器224对应于上述第二路径,2d图像到smpl姿势转换器230对应于上述备选路径。因此,当在第一路径和第二路径之间切换时,3d服装试穿应用218可以不包括2d图像到smpl姿势转换器230,当在第一路径和备选路径之间切换时,3d服装试穿应用218可以不包括2d姿势估计器222和2d-3d姿势转换器224。
76.图像捕获模块220被配置为指示相机250捕获客户的图像或视频帧,并将图像发送到3d姿势估计器226,以及发送到2d姿势估计器222或将2d图像发送到smpl姿势转换器230。请注意,图像通过模块逐一处理。在某些实施例中,相机250可以是诸如orbbec 3d相机的3d相机,或者可以包括深度相机和红-绿-蓝(rgb,red-green-blue)相机。图像捕获模块220被配置为将3d图像或将2d图像和深度图像发送到3d姿势估计器226,但仅将3d图像的2d图像分量或2d图像发送到2d姿势估计器222或将2d图像发送到smpl姿势转换器230。
77.2d姿势估计器222被配置为在从图像捕获模块220接收到2d图像时,估计图像中的客户的2d姿势,并将2d姿势发送到2d-3d姿势转换器224。在某些实施例中,2d姿势估计器222是轻量级的2d人体姿势估计模型,并且所估计的客户的2d姿势由2d关键点坐标表示。2d关键点坐标采用(x,y)的形式,用于指示2d图像中人体关键点的位置。x和y的值可以是像素值。关键点的数量根据所使用估计器的不同而不同,例如12个关键点、13个关键点,利兹运动姿势数据集(lsp,leeds sports pose)中定义的14个关键点、以及coco中定义的17个关
键点。例如,17个关键点可以包括鼻子、左眼、右眼、左耳、右耳、左肩、右肩、左肘、右肘、左腕、右腕、左髋、右髋、左膝、右膝、左踝、以及右踝。在某些实施例中,考虑到应用中不同模型之间的速度和一致性,本公开使用12个关键点模型,其包括左肩、右肩、左肘、右肘、左腕、右腕、左髋、右髋、左膝、右膝、左踝、以及右踝的关键点。在某些实施例中,本公开还可以使用13个关键点模型,其中头部关键点被添加到12个关键点模型中。在某些实施例中,2d姿势估计器222是深度学习模型,例如基于卷积神经网络(cnn,convolutional neural networks)的模型。在某些实施例中,2d姿势估计器222使用自上向下的方法。在某些实施例中,2d姿势估计器222是单个姿势估计模型,以检测并且可选地跟踪一个人。在某些实施例中,2d姿势估计器222可以是卷积姿势机(cpm,convolutional pose machine)、hourglasss、openpose、多级姿势估计网络(mspn,multi-stage pose estimation network)、高分辨率网络(hrnet,high-resolution net)、用于人类姿势估计的级联特征聚合(cfa,cascade feature aggregation)、软门控跳跃连接等。在某些实施例中,2d姿势估计器222是xiao等人在eccv 2018(arxiv:1804.06208)的“用于人体姿势估计和跟踪的简单基线(simple baseline for human pose estimation and tracking)”中描述的2d姿势估计器,其全部内容通过引用并入本文。在某些实施例中,2d姿势估计器222是快速和简单的,并且是预先训练好的。
78.2d-3d姿势转换器224被配置为在接收到2d姿势时,将2d姿势转换为3d姿势,并将3d姿势发送至3d姿势到smpl姿势转换器228。2d姿势可以由12个关键点的2d坐标以(x,y)的形式表示,3d姿势可以由12个关键点的3d坐标以(x,x,z)的形式表示。在某些实施例中,2d-3d姿势转换器224是时域膨胀卷积模型。在某些实施例中,时域膨胀卷积模型采用dario pavllo等人在cvpr 2019的“具有时域卷积和半监督训练的视频中的3d人体姿势估计(3d human pose estimation in video with temporal convolution and semi-supervised training)”中所示的基本结构,其全部内容通过引用并入本文。例如,使用序列图像对2d-3d姿势转换器224进行预训练。然而,在使用期间,2d-3d姿势转换器224可以处理一个单个图像。
79.3d姿势估计器226被配置为在从图像捕获模块220接收到3d图像时,估计3d姿势,并将3d姿势发送至3d姿势到smpl姿势转换器228。在某些实施例中,3d姿势由3d关键点的3d坐标(x,y,z)表示,例如12个关键点,其中,12个关键点包括:左肩、右肩、左肘、右肘、左腕、右腕、左髋、右髋、左膝、右膝、左踝、以及右踝。在某些实施例中,当相机250是orbbec 3d相机时,从配备有3d相机的orbbec软件中可以容易地提取到3d关键点坐标。在某些实施例中,使用orbbec astra sdk对3d姿势估计器226进行编码。在某些实施例中,即使头部关键点被添加为第13个关键点,本公开也可以在以下由3d姿势到smpl姿势转换器228进行的转换过程中不使用头部关键点,因为3d姿势估计对头部关键点的定义不同于smpl模型中头部的定义。
80.3d姿势到smpl姿势转换器228被配置为:在从3d姿势估计器226或从2d-3d姿势转换器224接收到3d关键点坐标时,获得与3d关键点坐标相对应的smpl姿势参数,并将smpl姿势参数发送到smpl切换模块232。转换器的输入是(x,y,z)形式的12个关键点坐标,如果包括头部坐标,则为13个关键点坐标,输出的smpl姿势参数包括24个矩阵。24个矩阵中的每一个矩阵可以是3
×
3的形式,其中,23个矩阵定义关节(关键点)之间的关节角度,一个矩阵
定义全局参数。每个关节角度表示两个相邻关节之间的相对角度和旋转,全局参数表示人体的整体角度,例如人体的朝向方向。姿势参数很重要,包含比3d关键点坐标更多的信息。例如,如果一个人保持姿势静止,但只旋转他的手腕,则3d关键点坐标保持不变,但姿势参数,尤其是手腕和相应肘部之间的关节角度,会发生变化。因此,两个关键点的相同3d坐标可以给出不同的关节角度。可以学习3d关键点坐标和smpl姿势参数之间的对应关系。
81.3d姿势到smpl姿势网络是一个不适定但有用的问题,用于从3d人体姿势预测smpl姿势参数,因为3d人体姿势不具有smpl姿势所需的所有信息,即存在无限数量的解。但是基于大数据,本公开可以找到最符合生理知识的解。图3a-3c示意性地描绘了根据本公开的某些实施例的3d姿势到smpl姿势转换器228的输入和输出。图3a和图3b示出了从3d姿势估计器226获得的3d人体姿势(或3d骨架、人体关键点/关节的3d位置)。图3a和图3b分别示出了从不同角度观看的客户的相同姿势,使得图3a和3b在组合时表示姿势的3d效果。图3c示出了使用输出的smpl姿势参数所生成的smpl模型。在某些实施例中,3d姿势到smpl姿势转换器228在被部署到服装试穿应用之前已训练好。
82.图4示意性地描绘了根据本公开的某些实施例的3d姿势到smpl姿势转换器228的模型结构。3d姿势到smpl姿势转换器228的输入是由12个人体关节的3d位置所组成的一个3d人体姿势,输出是smpl姿势参数(24个3
×
3旋转矩阵,23个用于人体关节,1个用于全局旋转矩阵)。
83.如图4所示,3d姿势到smpl姿势转换器228的主干是由块组成的网络,每个块由全连接层、批规范层和relu层构成。总共有三个块,包括一个非残差块402,随后是两个残差块404和406。本公开主要涉及跟随主干的自注意力块408-0至408-22以及自注意力块410。首先,生成主干特征的24个(23个人体关节+1个全局旋转)副本。然后,将每个主干特征的注意力掩码(由408-0至408-22以及410中所示的全连接层产生,以主干特征为输入)与主干特征相乘,以产生每个预测任务的特定特征。最后,这些特征被馈送到24个解码器(408-0至408-22以及410中所示的全连接层)以产生24个预测。
84.该网络设计用于预测23个人体关节的旋转矩阵以及整个身体的旋转矩阵,其可以认为是多任务(24个任务)学习。主干将整个3d人体姿势作为输入并生成特征。该特征可以很好地捕获全局信息,但会丢失每个任务的焦点。例如,手腕预测需要与臀部预测不同的焦点(注意力)。与经典架构相比,自注意力块可以为每个任务生成注意力掩码,并进一步提高准确性。
85.有两种矩阵可以测量定量准确性:一个是平均旋转距离,另一个是平均3d姿势距离。旋转距离是基准(ground truth)旋转矩阵和预测旋转矩阵之间的l2距离,并且3d姿势距离是基准3d关节位置(输入3d关节位置会有噪声)和由预测的smpl参数生成的3d关节位置之间的l2距离。通过使用自注意力块,平均旋转距离减少约1%,3d关节距离减少约20%。
86.如上所述,从3d人体姿势预测smpl姿势参数是一个不适定问题。无法从3d人体姿势预测精确的smpl姿势参数。但是,预测的smpl参数应该生成与基准一致的3d人体姿势。从本公开的实验结果中,我们可以看到,使用自注意力块的模型在3d姿势对齐方面的表现比没有自注意块的相同模型要好得多。
87.请注意,3d姿势到smpl姿势转换优选地是逐个图像处理,并且可以不考虑相邻图像之间的时域关系。在某些实施例中,由于收集和标记真实图片的困难,3d姿势到smpl姿势
转换器228的训练是低效的。为了改进3d姿势到smpl姿势转换器228的训练,本公开使用姿势作为输入,其中,人的姿势由附着到人的标记的位置来定义。在某些实施例中,本公开向训练数据添加噪声,这改善了训练结果。在某些实施例中,使用surreal数据集执行训练,该数据集可以在训练之前进行定制。
88.返回参考图2,图像到smpl姿势转换器230被配置为:在从图像捕获模块220接收到3d图像的2d图像分量时,处理图像以获得smpl姿势,并将smpl姿势发送到smpl切换模块232。在某些实施例中,smpl姿势转换器230是深度学习模型,其使用2d图像作为输入以输出smpl姿势参数。训练图像到smpl姿势转换器230需要基准。然而,很难对训练数据进行标记从而覆盖不同的人体以及不同的人体动作。因此,图像到smpl姿势转换器230可以覆盖的情况是有限的。此外,在图像到smpl姿势转换器230中不考虑时域,如果连续使用图像到smpl姿势转换器230来进行服装试穿的smpl预测,则抖动是常见的。因此,图像到smpl姿势转换器230仅被视为3d姿势到smpl姿势转换器228的补充。
89.在某些实施例中,图像到smpl姿势转换器230还可以被配置为:例如从客户的第一2d图像或第一3d图像的2d分量获得客户的形状,并将形状参数发送到smpl模型构造器234。备选地,可以存在另一特定模块被配置为提取或检索形状参数。形状参数的数量可以是十个,并且十个形状参数中的部分形状参数与客户的身高和体重有关。在某些实施例中,客户的部分形状参数或全部形状参数也可以由客户经由用户接口238输入。
90.在某些实施例中,图像到smpl姿势转换器230是图卷积网格回归(cmr,convolutional mesh regression)模型。在某些实施例中,cmr模型具有如nikos kolotouros等人在cvpr 2019的“用于单图像人形重建的卷积网格回归(convolutional mesh regression for single-image human shape reconstruction)”中所述的基本架构,其全部内容通过引用并入本文。cmr模型将人体的图像作为输入,并输出人体的smpl姿势参数。在某些实施例中,其他合适的模型可以用作图像到smpl姿势转换器230。例如,kolotouros等人在iccv 2019的“通过环路中的模型拟合学习重建3d人体姿势和形状(learning to reconstruct 3d human pose and shape via model-fitting in the loop)”中所述的spin(smpl optimization in the loop),其全部内容通过引用并入本文。
91.在主要第一路径的过程中,smpl切换模块232被配置为:在从3d姿势到smpl姿势转换器228接收到smpl姿势时,确定客户相对于前方方向的全局旋转角度,如果全局旋转角度等于或小于预定角度,将来自3d姿势到smpl姿势转换器228的smpl姿势发送到smpl模型构造器234。如果全局角度大于预定角度,则smpl切换模块232被配置为:将基于来自2d-3d姿势转换器224的3d姿势的smpl姿势或将来自图像到smpl姿势转换器230的smpl姿势发送到smpl模型构造器234。图5和图6示意性地描绘了根据本公开的某些实施例的全局角度。如图5所示,相机550放置在显示器570的顶部,相机550和显示器570连接到计算设备。相机550和显示器570对应于图2中所示的相机250和显示器270。如图6所示,当客户502站在显示器570正前方的预定区域中时,其垂直于显示器570的面向前方的方向504被定义为起始位置,其中客户的全局旋转角为0。当客户向右旋转时,其旋转角度α是从0到180的正值。当α等于90度时,他完全向右旋转,当α等于180度,他完全向后旋转。当客户向左旋转时,其旋转角度β是从0到-180的负值。当β等于-90度时,他完全向左旋转,当β等于-180度,他完全向后旋转。在某些实施例中,预定全局角度或全局角度阈值在-70度至70度、或-80度至80度、或-85度
至85度、或-90度至90度的范围内。当客户向侧面或向后转向过多时,他的手腕和/或其他关节通常在图像的视野之外。因为相机不能检测某些关节,所以3d姿势到smpl姿势转换器228(从3d姿势估计器226导出)的smpl姿势预测会不准确。在这种情况下通过将smpl姿势预测切换到图像到smpl姿势转换器230,或切换到3d姿势到smpl姿势转换器228(从2d-3d姿势转换器224导出),可以确保总体smpl姿势预测的准确性。
92.在某些实施例中,不需要图像到smpl姿势转换器230(或2d姿势估计器222和2d-3d姿势转换器224)和3d姿势估计器226并行运行。相反,当smpl切换模块232确定来自3d姿势到smpl姿势转换器228(从3d姿势估计器226导出)的smpl姿势的全局旋转角度大于预定角度时,smpl切换模块232被配置为触发图像到smpl姿势转换器230(或2d姿势估计器222和2d-3d姿势转换器224),以从3d图像的2d图像分量获得对应的smpl姿势,并将获得的smpl姿势发送到smpl模型构造器234。换言之,图像到smpl姿势转换器230(或2d姿势估计器222和2d-3d姿势转换器224)在大部分时间处于非活动状态,它仅在极少数条件下用于补偿3d姿势到smpl姿势转换器228的功能。备选地,第二路径或备选路径也可以与第一路径并行地执行。
93.smpl模型构造器234被配置为:在从smpl切换模块232接收到smpl姿势以及从图像到smpl转换器230(或从2d姿势估计器222-2d-3d姿势转换器224-3d姿势到smpl姿势转换器228、或从客户的输入接收到)接收到smpl形状参数时,使用smpl姿势和smpl形状参数构建人体模型(smpl模型),并将人体模型发送到试穿模块236。在某些实施例中,存在对应于男性和女性以及可选的儿童的标准smpl模型,通过从客户接收输入,例如指示客户是男性还是女性,来预先确定标准smpl模型之一,或者通过从图像中的对象检测来预先确定。然后smpl模型构造器234使用从图像测量的smpl形状参数,或者使用经由用户接口238从客户接收的smpl形状参数,来调整预定的标准smpl模型,以获得调整后的smpl模型。调整后的smpl模型与客户相对应,当从捕获的图像测量3d姿势时,调整后的smpl模型可以被移动到测量的3d姿势。从图像测量的形状参数或从客户接收的形状参数可以包括:例如客户的身高、体重、手臂长度、以及胸部/腰部周长。在某些实施例中,smpl模型构造器234还可以包括一组smpl形状参数作为默认值。在某些实施例中,smpl模型构造器234可以进一步使用纹理来渲染人体模型。在某些实施例中,通过uv映射来执行渲染,其将2d图像投影到3d模型表面。在某些实施例中,smpl人体模型包括6980个3d表面点以表示人体。
94.试穿模块236被配置为,在从smpl模型构造器234接收到人体模型以及接收到输入服装时,从产品数据库290检索服装的虚拟模型,用服装模型装扮人体模型,并在显示器270上显示装扮后人体模型。该应用还可以包括渲染功能,以向服装添加纹理,并向人体模型添加客户的面部特征或模型的面部特征。当客户移动时,他的动作被实时地反映在显示器270中。在某些实施例中,试穿模块236还可以预先定义一组动作,并且当人体模型和虚拟服装模型可用时,试穿模块230在显示器270上显示装扮后的人体模型的该组动作。3d服装试穿模块218还可以包括订单模块。如果客户对显示器270中所示的穿着的服装满意,他可以使用订单模块购买服装。
95.用户接口238被配置为为计算设备210提供用户接口或图形用户接口。在某些实施例中,系统的用户或管理员能够使用接口238为计算设备210配置参数,特别是配置在3d服装试穿应用218中使用的参数。在某些实施例中,显示器270是触摸屏,用户接口被提供在触
摸屏上。用户可以选择要试穿的服装,并通过触摸屏上的接口输入其身体特征。利用客户的输入和对客户图像的捕获,3d服装试穿应用218能够向客户提供在与客户形状相对应的人体模型上装扮着所选服装的外观。在某些实施例中,客户可以选择包括若干兼容服装的套装,并且兼容服装可以装扮到人体模型上。在某些实施例中,当客户选择一件或几件服装时,3d服装试穿应用218可以添加与所选服装兼容的一件或数件服装,从而将具有推荐服装的套装装扮在在人体模型上。
96.在某些实施例中,计算设备是服务器计算机,并且相机250和显示器270连接到属于客户的远程计算设备。通过这种类型的布置,客户可以在家中从远程计算设备进行服装试穿。
97.在某些实施例中,3d服装试穿应用218也可以被修改并用于其他应用中。例如,经修改的应用可提供切换机制从而从3d姿势到smpl姿势转换器路径或图像到smpl姿势转换器路径构建smpl模型,并且所构建的smpl模型可被结合到视频游戏中,使得客户的动作可以实时地反映在游戏中。
98.图7示意性地描绘了根据本公开的某些实施例的用于试穿服装的方法。在某些实施例中,如图7所示的方法700可以在如图2所示的计算设备210上实现。应当特别注意,除非本公开中另有说明,否则该方法的步骤可以以不同的顺序排列,因此并不限于图7所示的顺序。当客户站在相机250和显示器270前面的限定区域上时,计算设备210可以启动方法700。在本实施例中,使用诸如orbbec 3d相机的3d相机作为示例,所有相关的机器学习模型都预先训练好。
99.在步骤702,图像捕获模块220指示3d相机250捕获客户的3d图像,将3d图像发送到3d姿势估计器226,并将3d图像的2d分量发送到2d图像到smpl姿势转换器230。所捕获的图像可以是具有深度信息的rgb图像。
100.在步骤704,当从图像捕获模块220接收到3d图像时,3d姿势估计器226从捕获的图像中提取3d姿势,并将3d姿势发送到3d姿势到smpl姿势转换器228。3d姿势可以由12个关键点坐标(x,y,z)表示。在某些实施例中,3d姿势估计器226是机器学习模型。在某些实施例中,如shotton等人在ieee模式分析和机器智能学报,2013,第35(12)卷,第2821-2840页(ieee transactions on pattern analysis and machine intelligence,2013,v35(12),2821-2840)的“基于单深度图像有效人体姿势估计(efficient human pose estimation from singledepth images)”中所述的那样执行机器学习,其全部内容通过引用并入本文。
101.在步骤706,当从3d姿势估计器226接收到3d姿势时,3d姿势到smpl姿势转换器228处理3d姿势以获得第一smpl姿势,并将第一smpl姿势发送到smpl切换模块232。在某些实施例中,第一smpl姿势包括24个矩阵。24个矩阵中的23个对应于23个关键点之间的旋转,24个矩阵中的1个是指示客户人体的整体旋转的全局矩阵。在某些实施例中,3d姿势到smpl姿势转换器228具有图4所示的模型结构。
102.在步骤708,当从图像捕获模块220接收到3d图像的2d分量时,2d图像到smpl姿势转换器230学习第二smpl姿势,并将第二smpl姿势发送到smpl切换模块232。第二smpl姿势具有与第一smpl姿势相同的格式。在某些实施例中,2d图像到smpl姿势转换器230是端到端姿势和形状估计模型。在某些实施例中,2d图像到smpl姿势转换器230是图cmr。在某些实施例中,2d图像到smpl姿势转换器230进一步从例如第一捕获图像中提取客户的smpl形状参
数,并将smpl形状参数发送到smpl模型构造器234。
103.在步骤710,当从3d姿势到smpl姿势转换器228接收到第一smpl姿势时,smpl切换模块232使用全局矩阵计算客户的正面角度。当正面角度在阈值角度范围内时,切换模块232将第一smpl姿势发送到smpl模型构造器234,当正面角度大于阈值角度时,切换模块232将第二smpl姿势发送到smpl模块构造器234。在某些实施例中,阈值例如可以是-80度到80度。
104.在步骤712,smpl模型构造器234在接收到smpl形状参数以及第一和第二smpl姿势之一后,使用smpl形状参数和smpl姿势来构造smpl人体模型,并将smpl人体模型发送到试穿模块236。
105.在步骤714,在接收到smpl人体模型时,试穿模块236检索虚拟服装模型,将服装模型装扮到smpl人体模型上,并在显示器270上显示装扮后的smpl人体模型。在某些实施例中,客户可以通过用户接口38输入要试穿的服装,使得试穿模块236可以相应地检索所输入服装的虚拟模型。虚拟服装模型可以从产品数据库290中检索。
106.在某些实施例中,可以不默认执行步骤708。相反,当smpl切换模块232确定从第一smpl姿势计算的正面角度大于阈值时,它会触发步骤708的执行从而获得第二smpl姿势。
107.在某些实施例中,备选地,方法700可以使用2d姿势估计器222、2d-3d姿势转换器224、以及3d姿势到smpl姿势转换器228来使用2d图像分量获得第二smpl姿势,而不是使用2d图像到smpl转换器230获得第二smpl姿势。
108.图8示意性地描绘了根据本公开的某些实施例的第一路径和第二路径之间的切换机制,其中,预定范围示例为-85度到85度,但不限于-85度到85度。如图8所示,切换机制从自客户的3d图像开始的默认第一路径开始。3d姿势估计器226处理3d图像以获得3d姿势,3d姿势到smpl姿势转换器228处理3d姿势以获得smpl参数。smpl参数包括客户的全局旋转。当全局旋转在预定范围内时,过程继续,smpl模型构造器234使用smpl参数构建smpl模型,试穿模块235将smpl模型与渲染的服装一起显示。该过程以迭代方式执行。当客户的全局旋转超出预定范围时,过程切换到第二路径。2d姿势估计器使用2d图像分量估计客户的2d姿势,2d-3d姿势转换器224将2d姿势转换为3d姿势,并且3d姿势到smpl姿势转换器228从3d姿势生成smpl参数。smpl参数包括客户的全局旋转。当全局旋转超出预定范围时,过程继续,smpl模型构造器234使用smpl参数构建smpl模型,试穿模块235将smpl模型与渲染的服装一起显示。该过程以迭代方式执行。当客户的全局旋转在预定范围内时,过程切换回第一路径。在某些实施例中,在切换后的紧接的一轮,第二路径或第一路径可以跳过全局旋转与预定范围的比较。
109.图9示意性地描绘了根据本公开的某些实施例的第一路径和备选路径之间的切换机制,其中,预定范围示例为-85度到85度。如图9所示,切换机制从自客户的3d图像开始的默认第一路径开始。3d姿势估计器226处理3d图像以获得3d姿势,3d姿势到smpl姿势转换器228处理3d姿势以获得smpl参数。smpl参数包括客户的全局旋转。当全局旋转在预定范围内时,过程继续,smpl模型构造器234使用smpl参数构建smpl模型,试穿模块235将smpl模型与渲染的服装一起显示。该过程以迭代方式执行。当客户的全局旋转超出预定范围时,过程切换到备选路径。2d图像到smpl姿势转换器230使用2d图像分量生成smpl参数。smpl参数包括客户的全局旋转。当全局旋转超出预定范围时,过程继续,smpl模型构造器234使用smpl参
数构建smpl模型,试穿模块235将smpl模型与渲染的服装一起显示。该过程以迭代方式执行。当客户的全局旋转在预定范围内时,过程切换回第一路径。在某些实施例中,在切换后的紧接的一轮,备选路径或第一路径可以跳过全局旋转与预定范围的比较。
110.在另一方面,本公开涉及一种存储有计算机可执行代码的非暂时性计算机可读介质。当该代码在计算设备210的处理器212处执行时,该代码可以执行如上所述的方法。在某些实施例中,非暂时性计算机可读介质可以包括但不限于任何物理或虚拟存储介质。在某些实施例中,非暂时性计算机可读介质可以被实现为如图2所示的计算设备210的存储设备216。
111.在某些实施例中,备选解决方案可以是使用多路匹配算法来对所有视图中检测到的2d姿势进行聚类。每个生成的聚类对同一个人在不同视图中的2d姿势以及关键点之间的一致对应进行编码,从中可以推断出每个人的3d姿势。但是,解决方案的效率不太好,而且还会增加成本。
112.综上所述,除其他外,本公开的某些实施例具有以下优点:(1)从3d图像生成3d姿势。然后从3d姿势生成人体模型的smpl姿势。因为3d姿势由精确的三维关键点坐标定义,所以生成的smpl姿势是准确的,且由此方式生成的连续smpl模型是平滑的。(2)提供端到端人体姿势和形状估计模型作为3d姿势到smpl姿势转换的调节器,其中,3d图像的2d分量被直接用于生成smpl姿势而无需3d信息。当客户从前方方向转向过多时,这一点至关重要。通过提供3d姿势到smpl姿势路径和端到端人体姿势和形状估计路径之间的切换机制,本公开保证了在任何情况下的结果都是合乎逻辑的。(3)作为端到端人体姿势和形状估计的备选,本公开还可以从3d图像的2d分量中提取2d姿势,使用时域膨胀卷积模型将2d姿势投影到3d姿势,并从投影的3d姿势预测smpl姿势。如上所述,(1)是试穿应用的优选路径,当客户向其侧面转向过多或向后转向时,可以使用(2)或(3)。在某些条件下,(2)优于(3),因为它考虑了时域信息。
113.通过上述设计,本公开可以以实时速度获得smpl人体模型。它有助于试穿系统创建逼真的试穿场景。它还可以用于一些其他娱乐应用,例如控制预先构建的3d动画。
114.本公开的示例性实施例的前述描述仅出于说明和描述的目的而呈现,并不旨在是穷举的或将本公开限于所公开的精确形式。根据上述教导,可以进行许多修改和变化。
115.选择和描述实施例是为了解释本公开的原理及其实际应用,以便使本领域的其他技术人员能够利用本公开和各种实施例,并根据所设想的特定用途进行各种修改。在不脱离本公开的精神和范围的情况下,替代实施例对于本公开所属领域的技术人员将变得显而易见。因此,本公开的范围由所附权利要求而不是前述描述和其中描述的示例性实施例限定。
技术特征:
1.一种方法,包括:通过相机捕获客户的三维3d图像;通过计算设备获得所述3d图像中的所述客户的第一3d姿势;通过所述计算设备对所述第一3d姿势执行机器学习模型,生成第一蒙皮多人线性模型smpl姿势,其中,所述第一smpl姿势包括表示所述客户的关节的旋转的多个旋转矩阵,以及表示所述客户的整个身体旋转的全局旋转矩阵;由所述计算设备基于所述全局旋转矩阵计算所述客户的整个身体旋转的角度;当所述整个身体旋转的角度相对于所述客户的前方方向在预定范围内时:使用所述第一smpl姿势构建smpl模型;以及当所述整个身体旋转的角度超出所述预定范围时:使用所述3d图像的二维2d分量生成第二smpl姿势,并使用所述第二smpl姿势构建所述smpl模型。2.根据权利要求1所述的方法,还包括:将服装模型装扮到所述smpl模型上,并且在连接到所述计算设备的显示器上显示装扮着所述服装模型的所述smpl模型。3.根据权利要求2所述的方法,还包括:根据来自所述客户的指示购买所述服装。4.根据权利要求2所述的方法,还包括:使用所述客户的所述图像来渲染所述smpl模型。5.根据权利要求2所述的方法,还包括:在构造所述smpl模型的步骤之前从所述客户的所述图像获得smpl形状,并且使用所述smpl形状以及所述第一smpl姿势和所述第二smpl姿势之一来构造所述smpl模型。6.根据权利要求1所述的方法,其中,所述机器学习模型包括:非残差块,所述非残差块包括第一全连接层、第一批规范层和第一整流线性单元relu层;第一残差块,所述第一残差块连接到所述非残差块,所述第一残差块包括第二全连接层、第二批规范层和第二relu层;第二残差块,所述第二残差块连接到所述第一残差块,所述第二残差块包括第三全连接层、第三批规范层和第三relu层;多个关节自注意力块,所述多个关节自注意力块连接到所述第二残差块,所述多个关节自注意力块中的每一个自注意力块预测与所述客户的多个关节中的一个关节对应的特征;以及全局自注意力块,所述全局自注意力块连接到所述第二残差块,所述全局自注意力块预测与所述客户的所述多个关节中的所有关节相对应的整体特征。7.根据权利要求1所述的方法,其中,所述预定范围相对于所述客户的前方方向为-80度至80度。8.根据权利要求1所述的方法,其中,所述相机是3d orbbec相机,并且通过orbbec 3d姿势模型执行获得所述客户的所述第一3d姿势的步骤。9.根据权利要求1所述的方法,其中,生成所述用户的所述第二smpl姿势的步骤包括:从所述3d图像的2d分量估计所述客户的2d姿势;使用时域膨胀卷积模型将所述2d姿势转换为第二3d姿势;以及使用所述机器学习模型从所述第二3d姿势生成所述第二smpl姿势。
10.根据权利要求9所述的方法,其中,所述第一3d姿势或所述第二3d姿势包括所述客户的12个关节的3d坐标,所述12个关节包括:左肩、右肩、左肘、右肘、左腕、右腕、左髋、右髋、左膝、右膝、左踝、以及右踝。11.根据权利要求1所述的方法,其中,使用端到端姿势和形状估计模型来执行获得所述用户的所述第二smpl姿势的步骤。12.根据权利要求11所述的方法,其中,所述端到端姿势和形状估计模型是图卷积网格回归cmr。13.一种系统,所述系统包括计算设备以及连接到所述计算设备的相机,其中,所述计算设备包括处理器和存储计算机可执行代码的存储设备,所述计算机可执行码在所述处理器处执行时,用于:指示所述相机捕获客户的三维3d图像;在所述3d图像中获得所述客户的第一3d姿势;通过对所述第一3d姿势执行机器学习模型,生成第一蒙皮多人线性模型smpl姿势,其中,所述第一smpl姿势包括表示所述客户的关节的旋转的多个旋转矩阵和表示所述客户的整个身体旋转的全局旋转矩阵;基于所述全局旋转矩阵计算所述客户的整个身体旋转的角度;当所述整个身体旋转的角度相对于所述客户的前方方向在预定范围内时:使用所述第一smpl姿势构建smpl模型;以及当所述整个身体旋转的角度超出所述预定范围时:使用所述3d图像的二维2d分量生成第二smpl姿势,并使用所述第二smpl姿势构建所述smpl模型。14.根据权利要求13所述的系统,其中,所述计算机可执行代码还被配置为:将服装模型装扮到所述smpl模型上,并在连接到所述计算设备的显示器上显示装扮着所述服装模型的所述smpl模型。15.根据权利要求13所述的系统,其中,所述机器学习模型包括:非残差块,所述非残差块包括第一全连接层、第一批规范层和第一整流线性单元relu层;第一残差块,所述第一残差块连接到所述非残差块,所述第一残差块包括第二全连接层、第二批规范层和第二relu层;第二残差块,所述第二残差块连接到所述第一残差块,所述第二残差块包括第三全连接层、第三批规范层和第三relu层;多个关节自注意力块,所述多个关节自注意力块连接到所述第二残差块,所述多个关节自注意力块中的每一个自注意力块预测与所述客户的多个关节中的一个关节对应的特征;以及全局自注意力块,所述全局自注意力块连接到所述第二残差块,所述全局自注意力块预测与所述客户的所述多个关节中的所有关节相对应的整体特征。16.根据权利要求13所述的系统,其中,所述预定范围相对于所述客户的前方方向为-80至80度。17.根据权利要求13所述的系统,其中,所述计算机可执行代码被配置为通过以下步骤生成所述第二smpl姿势:
从所述3d图像的2d分量估计所述客户的2d姿势;以及使用时域膨胀卷积模型将所述2d姿势转换为第二3d姿势;以及使用所述机器学习模型从所述第二3d姿势生成所述第二smpl姿势。18.根据权利要求13所述的系统,其中所述计算机可执行代码被配置为:使用端到端姿势和形状估计模型来生成所述第二smpl姿势。19.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质存储有计算机可执行代码,其中,当所述计算机可执行码在计算设备的处理器处执行时,用于:指示相机捕获客户的三维3d图像;在所述3d图像中获得所述客户的第一3d姿势;通过对所述第一3d姿势执行机器学习模型,生成第一蒙皮多人线性模型smpl姿势,其中,所述第一smpl姿势包括表示所述客户的关节的旋转的多个旋转矩阵和表示所述客户的整个身体旋转的全局旋转矩阵;基于所述全局旋转矩阵计算所述客户的整个身体旋转的角度;当所述整个身体旋转的角度相对于所述客户的前方方向在预定范围内时:使用所述第一smpl姿势构建smpl模型;以及当所述整个身体旋转的角度超出所述预定范围时:使用所述3d图像的二维2d分量生成第二smpl姿势,并使用所述第二smpl姿势构建所述smpl模型。20.根据权利要求19所述的非暂时性计算机可读介质,其中,所述机器学习模型包括:非残差块,所述非残差块包括第一全连接层、第一批规范层和第一整流线性单元relu层;第一残差块,所述第一残差块连接到所述非残差块,所述第一残差块包括第二全连接层、第二批规范层和第二relu层;第二残差块,所述第二残差块连接到所述第一残差块,所述第二残差块包括第三全连接层、第三批规范层和第三relu层;多个关节自注意力块,所述多个关节自注意力块连接到所述第二残差块,所述多个关节自注意力块中的每一个自注意力块预测与所述客户的多个关节中的一个关节对应的特征;以及全局自注意力块,所述全局自注意力块连接到所述第二残差块,所述全局自注意力块预测与所述客户的所述多个关节中的所有关节相对应的整体特征。
技术总结
提供了一种用于服装试穿的方法和系统。该方法包括:捕获客户的三维3D图像;获取3D图像中的客户的第一3D姿势;对3D姿势执行机器学习模型以生成第一蒙皮多人线性模型SMPL姿势;基于第一SMPL姿势计算客户的整个身体旋转的角度;当该角度相对于客户的前方方向在预定范围内时:使用第一SMPL姿势构建SMPL模型;以及当该角度超出预定范围时:使用3D图像的二维2D分量生成第二SMPL姿势,并使用第二SMPL姿势构建SMPL模型。SMPL模型。SMPL模型。
技术研发人员:樊晓川 苗丹 吕楚梦
受保护的技术使用者:京东美国科技公司
技术研发日:2021.12.23
技术公布日:2023/8/24
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/