服饰三维建模的方法、三维换装方法及对应装置与流程

未命名 09-29 阅读:73 评论:0


1.本技术涉及计算机视觉技术领域,特别是涉及一种服饰三维建模的方法、三维换装方法及对应装置。


背景技术:

2.人体三维建模是计算机视觉技术的研究热点之一。现在越来越多的应用涉及到人体三维模型,其中越来越多的应用也涉及到服饰三维模型的建立,例如利用服饰三维模型实现三维换装。人体三维模型目前已经能够通过多种方式建立,但服饰三维模型的建立一直是学术界和业界比较关注的难点。因此,如何低成本、高质量地进行服饰三维建模成为亟待解决的问题。


技术实现要素:

3.有鉴于此,本技术提供了一种人体服饰三维建模的方法、三维换装方法及对应装置,从而低成本、高质量地进行服饰三维建模。
4.本技术提供了如下方案:
5.第一方面,提供了一种服饰三维建模的方法,所述方法包括:
6.获取身着服饰的人体三维模型;
7.环绕所述人体三维模型进行n个视角的渲染,得到n个二维图像并存储各二维图像的渲染参数,所述n为大于1的正整数;
8.分别对所述n个二维图像进行图像分割,得到所述n个二维图像中各像素点的分割结果;
9.利用各二维图像的渲染参数,将所述n个二维图像中各像素点的分割结果向所述人体三维模型映射;
10.利用所述映射的结果,确定所述人体三维模型上对应分割结果为服饰的点构成的服饰点集;
11.利用所述服饰点集,得到服饰三维模型。
12.根据本技术实施例中一可实现的方式,环绕所述人体三维模型进行n个视角的渲染,得到n个二维图像包括:
13.利用可微分渲染工具将所述人体三维模型的脊柱线与y轴重合,设置相机模型绕所述y轴旋转一周,在所述旋转过程中每隔预设角度采集并渲染二维图像,得到所述n个二维图像。
14.根据本技术实施例中一可实现的方式,所述渲染参数包括:相机参数;
15.利用各二维图像的渲染参数,将所述n个二维图像中各像素点的分割结果向所述人体三维模型映射包括:利用相机参数将二维图像中各像素点映射至所述人体三维模型,将各像素点的分割结果记录为所映射至人体三维模型上各点的分割结果。
16.根据本技术实施例中一可实现的方式,所述分割结果包括服饰类别、人体类别和
背景类别;
17.利用所述映射的结果,确定所述人体三维模型上对应分割结果为服饰的点构成的服饰点集包括:
18.统计所述人体三维模型上的点被映射为各类别的次数,依据被映射为各类别的次数确定对应分割结果为服饰类别的点构成服饰点集。
19.根据本技术实施例中一可实现的方式,在所述映射过程中,将人体三维模型上除了映射点之外的其他点确定为对应不可视类别,所述映射点为所述n个二维图像上各像素点映射在所述人体三维模型上的点;
20.所述依据被映射为各类别的次数确定对应分割结果为服饰的点构成的服饰点集包括:
21.针对所述人体三维模型上的各点分别执行:除了不可视类别之外,如果该点被映射为其中一个类别上的次数最多且比其他类别多预设次数以上,则确定该点对应所述其中一个类别;否则确定该点对应不可视类别;
22.针对所述人体三维模型上对应不可视类别的点分别执行:确定距离该对应不可视类别的点最近的且对应除不可视类别之外的其他类别的点,利用确定出的点对应的类别更新该对应不可视类别的点;
23.确定对应服饰类别的点构成所述服饰点集。
24.根据本技术实施例中一可实现的方式,所述人体三维模型包括所述身着服饰的人体的轮廓信息和纹理信息;
25.利用所述服饰点集,得到服饰三维模型包括:确定所述服饰点集对应的面片和纹理信息,利用所述面片和纹理信息得到服饰三维模型。
26.根据本技术实施例中一可实现的方式,所述方法还包括:
27.将所述服饰三维模型存入服饰库,并在所述服饰库中存储所述服饰三维模型对应的服饰信息。
28.第二方面,提供了一种三维换装的方法,所述方法包括:
29.接收换装指令,所述换装指令包含目标服饰信息;
30.利用所述目标服饰信息从服饰库中获取对应的服饰三维模型;
31.将获取的服饰三维模型与目标人体三维模型进行融合,得到换装后的目标人体三维模型;
32.其中,所述服饰库包含的服饰三维模型是采用如上第一方面所述的方式预先建立的。
33.第三方面,提供了一种三维换装的方法,由云端服务器执行,所述方法包括:
34.接收终端设备发送的换装指令,所述换装指令包含目标服饰的信息;
35.利用所述目标服饰的信息从服饰库中获取对应的服饰三维模型;
36.将获取的服饰三维模型与目标人体三维模型进行融合,得到换装后的目标人体三维模型;
37.将换装后的目标人体三维模型发送给所述终端设备;
38.其中,所述服饰库包含的服饰三维模型是采用如上第一方面所述的方式预先建立的。
39.第四方面,提供了一种三维换装的方法,所述方法包括:
40.在虚拟现实vr或增强显示ar设备的呈现画面上展示目标人体三维模型;
41.获取换装指令,所述换装指令包含目标服饰的信息;
42.利用所述目标服饰的信息从服饰库中获取对应的服饰三维模型;
43.将获取的服饰三维模型与目标人体三维模型进行融合,得到换装后的目标人体三维模型;
44.驱动所述vr设备或所述ar设备渲染展示所述换装后的目标人体三维模型;
45.其中,所述服饰库包含的服饰三维模型是采用如上第一方面所述的方式预先建立的。
46.第五方面,提供了一种服饰三维建模的装置,所述装置包括:
47.人体模型获取单元,被配置为获取身着服饰的人体三维模型;
48.图像渲染单元,被配置为环绕所述人体三维模型进行n个视角的渲染,得到n个二维图像并存储各二维图像的渲染参数,所述n为大于1的正整数;
49.图像分割单元,被配置为分别对所述n个二维图像进行图像分割,得到所述n个二维图像中各像素点的分割结果;
50.模型映射单元,被配置为利用各二维图像的渲染参数,将所述n个二维图像中各像素点的分割结果向所述人体三维模型映射;
51.服饰点集确定单元,被配置为利用所述映射的结果,确定所述人体三维模型上对应分割结果为服饰的点构成的服饰点集;
52.服饰模型确定单元,被配置为利用所述服饰点集,得到服饰三维模型。
53.第六方面,提供了一种三维换装的装置,所述装置包括:
54.指令获取单元,被配置为接收换装指令,所述换装指令包含目标服饰信息;
55.服饰获取单元,被配置为利用所述目标服饰信息从服饰库中获取对应的服饰三维模型;
56.换装处理单元,被配置为将获取的服饰三维模型与目标人体三维模型进行融合,得到换装后的目标人体三维模型;
57.其中,所述服饰库包含的服饰三维模型是由如上第五方面所述的装置预先建立的。
58.根据第七方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面至第四方面中任一项所述的方法的步骤。
59.根据第八方面,提供了一种电子设备,包括:
60.一个或多个处理器;以及
61.与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行上述第一方面至第四方面中任一项所述的方法的步骤。
62.根据本技术提供的具体实施例,本技术公开了以下技术效果:
63.1)通过对已有的身着服饰的人体三维模型进行多个视角的渲染,得到n个二维图像,通过对二维图像进行图像分割并向人体三维模型映射后,确定人体三维模型上的服饰点集,从而实现从身着服饰的人体三维模型上分离出服饰三维模型。这种新颖的思路打破
了传统由设计师专门利用一些服饰元素和素材针对服饰建模的思路,大大节约了人工成本。
64.2)本技术中图像分割是在二维图像上进行并映射到人体三维模型上的,由于高分辨率二维图像的渲染和分割技术的成熟度保证了在三维模型上分割的精确度,因此能够实现高质量的服饰三维建模。
65.3)本技术中采用的图像分割在二维图像上进行,仅需要使用二维的图像分割模型即可,因此在模型训练过程中仅需要对二维图像进行标注,而无需进行任何三维模型的标注,大大降低了标注难度,更进一步节约了人工成本。
66.4)本技术中涉及的图像渲染、分割和映射均基于同一人体三维模型,并且对于渲染图像时无法展示出来的点被分割为不可视类别,利用距离不可视点最近的其他类别的点的类别来更新该不可视类别的点,从而保证人体三维模型上所有的点都没有遗漏,进而保证提取的服饰三维模型的完整性。
67.5)通过本技术提供的服饰三维建模方法能够低成本、高质量地建立服饰三维模型,并能够进行大规模推广以生成服饰库,从而供诸如三维换装等应用使用。
68.当然,实施本技术的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
69.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
70.图1为是本技术实施例所适用的系统架构图;
71.图2为本技术实施例提供的服饰三维建模的方法流程图;
72.图3为本技术实施例提供的分离服饰三维模型的实例图;
73.图4为本技术实施例提供的三维换装方法流程图;
74.图5为本技术实施例提供的服饰三维建模装置的示意性框图;
75.图6为本技术实施例提供的三维换装装置的示意性框图;
76.图7为本技术实施例提供的电子设备的示意性框图。
具体实施方式
77.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本技术保护的范围。
78.在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
79.应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种
情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
80.取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
81.传统的服饰三维建模大多由设计师利用一些服饰元素和素材专门针对服饰进行建模,这种方式人工成本很高,不利于大规模的推广。
82.有鉴于此,本技术提出了一种全新的思路,打破了传统专门针对服饰建模的思路,而采用从身着服饰的人体三维模型中分离出服饰三维模型。为了方便对本技术的理解,首先对本技术所适用的系统架构进行简单描述。图1示出了可以应用本技术实施例的示例性系统架构,如图1中所示,该系统架构包括终端设备,还包括服务端用以实现服饰三维建模的服饰三维建模装置以及用以实现三维换装的三维换装装置。
83.服饰三维建模装置可以采用本技术实施例中提供的方式,利用身着服饰的人体三维模型分离得到服饰三维模型,并将得到的服饰三维模型存入服饰库。服饰三维建模装置可以采用离线的方式建立服饰三维模型,也可以在线建立服饰三维模型。
84.三维换装是服饰三维建模的其中一个比较常见的应用。当用户在使用目标人体三维模型的过程中,若希望实现针对目标人体的三维换装,则可以通过终端设备向服务端发送换装指令。三维换装装置依据换装指令从服饰库中获取对应的服饰三维模型后,对目标人体三维模型进行换装处理,并将换装后的目标人体三维模型返回给终端设备,由终端设备显示给用户。
85.服饰三维建模装置和三维换装装置可以分别设置为独立的服务器,也可以设置于同一个服务器或服务器群组,还可以设置于独立的或者同一云服务器。云服务器又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(vps,virtualprivateserver)服务中存在的管理难度大,服务扩展性弱的缺陷。服饰三维建模装置和三维换装装置还可以设置于具有较强计算能力的计算机终端。
86.终端设备可以是各种电子设备,可以包括但不限于智能手机、平板电脑、智能音箱、智能电视、pc(personalcomputer,个人计算机)、可穿戴式设备等等。其中,可穿戴式设备可以包括诸如智能手表、智能眼镜、vr(virtualreality,虚拟现实)设备、ar(augmented reality,增强现实)设备、混合现实设备(即可以支持虚拟现实和增强现实的设备)等等。
87.网络用以在终端设备和服务端之间提供通信链路的介质,可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
88.应该理解,图1中的服饰三维建模装置和三维换装装置、终端设备、人体三维模型、服饰三维模型、服饰库等的数目仅仅是示意性的。根据实现需要,可以具有任意数目的服饰三维建模装置和三维换装装置、终端设备、人体三维模型、服饰三维模型、服饰库等。
89.图2为本技术实施例提供的服饰三维建模的方法流程图,该方法流程可以由图1所示系统架构中的服饰三维建模装置执行,如图2中所示,该方法可以包括以下步骤:
90.步骤202:获取身着服饰的人体三维模型。
91.步骤204:环绕人体三维模型进行n个视角的渲染,得到n个二维图像并存储各二维图像的渲染参数,n为大于1的正整数。
92.步骤206:分别对n个二维图像进行图像分割,得到n个二维图像中各像素点的分割结果。
93.步骤208:利用各二维图像的渲染参数,将n个二维图像中各像素点的分割结果向人体三维模型映射。
94.步骤210:利用映射的结果,确定人体三维模型上对应分割结果为服饰的点构成的服饰点集。
95.步骤212:利用服饰点集,得到服饰三维模型。
96.由上述流程可以看出,本技术通过对已有的身着服饰的人体三维模型进行多个视角的渲染,得到n个二维图像,通过对二维图像进行图像分割并向人体三维模型映射后,确定人体三维模型上的服饰点集,从而实现从身着服饰的人体三维模型上分离出服饰三维模型。这种新颖的思路打破了传统由设计师专门利用一些服饰元素和素材针对服饰建模的思路,大大节约了人工成本。本技术中图像分割是在二维图像上进行并映射到人体三维模型上的,由于高分辨率二维图像的渲染和分割技术的成熟度保证了在三维模型上分割的精确度,因此能够实现高质量的服饰三维建模。
97.下面对上述流程中涉及的各步骤分别进行详细描述。首先结合实施例对上述步骤202即“获取身着服饰的人体三维模型”进行详细描述。
98.由于目前已经存在很多技术能够对实现人体三维模型的重建,而这些人体三维模型通常是各种人身着各种服饰的人体三维模型,如果能够对这些已有的人体三维模型资源进行有效利用,则可以得到大量的服饰三维模型资源。
99.本步骤中可以从已有的人体模型库中获取身着服饰的人体三维模型,本技术对于人体模型库中人体三维模型的建立方式并不加以限制,可以采用现有任意可实现的方式。
100.例如,可以使用预设的人体对身着服饰的真实人体进行拟合后得到。
101.再例如,获取包含目标人体的二维图像,利用特征提取网络从二维图像中提取三维空间中各点与二维图像的对齐特征,然后利用隐式函数网络根据空间中各点的位置和特征预测其到人体表面(即轮廓)的距离和颜色,进而预测人体表面上各点的位置信息和纹理信息,得到人体三维模型。
102.再例如,从包含目标人体的二维图像中分割出人体部分,得到人体图;获取人体图的前景法线图和背景法线图;利用人体图和背景法线图,生成目标人体的背部纹理信息;利用人体图、前景法线图、背景法线图和背部纹理信息,进行特征提取,得到将预设三维空间中各点映射到人体图对应的图像空间后所述各点的第三特征表示;利用各点的第三特征表示,预测目标人体在三维空间中的结构信息即人体三维模型。
103.本技术实施例中涉及的服饰指的是装饰人体的物品总称,可以包括但不限于:服装、鞋、帽、围巾、手套、配饰、包袋等等。
104.下面结合实施例对上述步骤204即“环绕人体三维模型进行n个视角的渲染,得到n个二维图像并存储各二维图像的渲染参数”进行详细描述。
105.所谓渲染指的是将三维场景中的模型转换为二维图像的过程。本技术实施例中采用的渲染方式可以为可微分渲染。可微分渲染是一个可以微分求导的渲染过程,它的正向是渲染,逆向是求像素对场景参数的微分。通过可微分渲染能够准确将三维场景中的人体三维模型渲染为二维图像。
106.本步骤中可以使用诸如opengl(opengraphicslibrary,开放图形库)等可微分渲染工具对人体三维模型进行n个视角的可微分渲染,n为大于1的整数,该n个视角保证渲染得到的n个二维图像中包含人体三维模型上的尽可能多的点。
107.作为其中一种可实现的方式,可以利用可微分渲染工具将人体三维模型的脊柱线与y轴重合,设置可微分渲染工具中的相机模型绕y轴旋转一周,在旋转过程中每隔预设角度采集并渲染二维图像,得到n个二维图像。
108.在n取值最小的情况下,n取2,例如可以获取人体三维模型的正面的二维图像和背面的二维图像。这种情况下,2个二维图像中点不重合。
109.但为了保证服饰三维模型更加精确,在本技术实施例中n的取值可以大于2,得到的n个二维图像之间是存在重复的部分的。举个优选的例子,可以设置可微分渲染工具中的相机模型绕y轴渲染360度(即一周),每隔4度采集并渲染一证1024
×
1024的二维图像,一共得到90张二维图像。
110.在得到二维图像后可以存储各二维图像的渲染参数,其中渲染参数主要包括相机参数,例如相机的内参和外参,用以在后续步骤中进行二维图像中各像素点向人体三维模型映射时使用。
111.下面结合实施例对上述步骤206即“分别对n个二维图像进行图像分割,得到n个二维图像中各像素点的分割结果”进行详细描述。
112.本步骤中可以使用图像分割模型对各二维图像分别进行图像分割,分割结果可以至少包括:人体、服饰和背景三种类别,其中还可以对服饰类别进行更细粒度的划分,例如划分为上衣、裤子、帽子、手套、鞋等等。图像分割模型就是将二维图像中的各像素点分类到这些分割结果上。
113.图像分割模型可以采用encoder(编码器)-decoder(解码器)结构。其中,encoder可以对输入的图像进行下采样和特征提取,得到各像素点的特征表示。decoder用以将各特征点的特征表示映射到各类别的分割结果上。
114.由于目前的可微分渲染工具能够得到分辨率较高的二维图像,因此可以使用dgf(deepguidedfilter,深度引导滤波)来提升高分辨率图像的分割结果精度。具体地,图像分割模型中在decoder之后,还包括dgf模块。dgf模块将decoder的输出结果进行上采样,得到相比较decoder的输出更高分辨率的分割结果。其中,图像分割模型在训练时,encoder、decoder和dgf模块一起参与模型更新,从而最小化dgf输出的分割结果与训练样本中的标签(对图像样本标注的分割结果标签)的差异。
115.鉴于对二维图像进行图像分割是目前较为成熟的技术,在此不做进一步详述。
116.下面结合实施例对上述步骤208即“利用各二维图像的渲染参数,将n个二维图像中各像素点的分割结果向人体三维模型映射”以及步骤210即“利用映射的结果,确定人体三维模型上对应分割结果为服饰的点构成的服饰点集”进行详细描述。
117.本步骤实际上是利用二维图像对应的相机参数将二维图像中的各像素点映射至人体三维模型,将各像素点的分割结果记录为所映射至人体三维模型上各点的分割结果。其中,利用相机参数从二维图像向三维空间的映射是目前已有的成熟技术,在此不做详述,在向三维空间映射后映射至人体三维模型上的各点称为映射点,记录各映射点的分割结果。
118.由于在一些情形下,n个二维图像存在重叠部分,那么就意味着不同二维图像中的点可能映射至同一映射点,那么一个映射点就可能记录有多个分割结果。因此可以统计人体三维模型上的点被映射为各类别分割结果的次数,依据被映射为各类别的次数确定对应分割结果为服饰的点构成服饰点集。
119.作为其中一种可实现的方式,对于各映射点而言,将针对其记录的各类别的分割结果中最多次数的类别作为其对应的类别。例如,一个映射点记录的分割结果为:服饰30次、人体9次、背景1次,则可以确定该映射点对应服饰类别。
120.作为另一种可实现的方式,在从二维图像向人体三维模型映射的过程中,由于在人体三维模型中可能存在除了映射点之外的其他点,这些点可以认为是不能在渲染得到的二维图像上展示出来的点,因此可以将这些点记录为不可视类型。
121.这种情况下,对于各映射点而言,如果该映射点被映射为其中一个类别上的次数最多且比其他类别多预设次数以上,则确定该映射点对应该次数最多的类别;否则确定该映射点对应不可视类别。以预设次数是10为例,如果一个映射点记录的分割结果为:服饰30次、人体9次、背景1次,则确定该映射点对应服饰类型。如果一个映射点记录的分割结果为:服装22次、人体17次、背景1次,则确定该映射点对应不可视类型。
122.由于需要确定人体三维模型上所有点对应的类型,因此针对对应不可视类别的点可以分别执行:确定距离该对应不可视类别的点a最近的且对应除不可视类别之外的其他类别的点b,将确定出的点b对应的类别更新点a的类别。在此需要说明的是,人体三维模型可以看做是点与线构成的图(graph),在计算距离时,使用的是图上的距离。例如两点之间的距离使用两点之间经过点的数量来进行衡量。
123.若确定出的点b与点a之间的距离超出预设的阈值,或者没有确定出点b(人体三维模型可能有多个不相连的子模型构成,可能出现一个子模型完全没有被渲染到的情况),则可以将点a的类别更新为背景类别。
124.在确定距离该对应不可视类别的点最近的点时,可以采用诸如广度优先遍历的方式。广度优先遍历是从一个未遍历的点出发,先遍历这个点的相邻点,再依次遍历每个相邻点的相邻点,直到找到第一个符合要求的点(即对应非不可视类别的点)。鉴于广度优先遍历是目前已有的方法,在此不做赘述,除了广度优先遍历方法之外,也可以采用其他可实现的方式。
125.最后确定人体三维模型上所有对应服饰类别的点,从而构成服饰点集。
126.下面结合实施例对上述步骤212即“利用服饰点集,得到服饰三维模型”进行详细描述。
127.作为其中一种可实现的方式,本步骤中可以在人体三维模型中确定服饰点集中各点对应的面片和纹理信息,利用确定的面片和纹理信息即可得到服饰三维模型。通常人体三维模型采用的是三维mesh(网格)模型,三维mesh模型是采用一些列大小和形状相同或接近的多边形网格近似表示的三维模型,其中多边形网格是很小的平面,因此称为面片。其中片面可以是三角形,也可以是四边形等。
128.作为其中一种可实现的方式,如果一个面片所有顶点都是服饰点集中的点,则该面片属于服饰三维模型。
129.除此之外,也可以采用其他方式,例如一个面片如果多数顶点是服饰点集中的点,
则认为该面片属于服饰三维模型,等等。
130.若上述服饰类别对应更细粒度的类别,例如细分为上衣类别、裤子类别、鞋类别等,则可以得到对应上衣类别的上衣点集,从而得到上衣三维模型;得到对应裤子类别的裤子点集,从而得到裤子三维模型;得到对应鞋类别的鞋点集,从而得到鞋三维模型,等等。如图3中所示,对身着t恤和短裤的人体三维模型进行可微分渲染后可以得到n个视角的二维图像,图3中(a)为其中一个视角的二维图像。然后进行图像分割、映射等处理后,可以从人体三维模型中分离出如图3中(b)和(c)所示的t恤和短裤。
131.由于身着服饰的人体三维模型是比较丰富的,因此采用本技术上述实施例提供的方式能够从大量的身着服饰的人体三维模型中分离出服饰三维模型,将这些服饰三维模型存入服饰库,并在服饰库中存储各服饰三维模型对应的服饰信息,例如服饰编号、服饰名称等等信息。这样就可以得到大规模的服饰库,以供其他应用使用。
132.本技术实施例提供的上述方式可以应用于多种应用场景,其中一种比较典型的应用场景为三维换装。例如,在电商或游戏类应用中,可以对目标人体三维模型进行换装,即更换服饰。其中,目标人体三维模型可以是电商场景中与用户身材一致的人体三维模型,也可以是游戏场景中用户选定的人体三维模型,等等。
133.图4为本技术实施例提供的三维换装方法流程图,该方法可以由图1所示系统架构中的三维换装装置执行的。如图4中所示,该方法可以包括以下步骤:
134.步骤402:接收换装指令,该换装指令包含目标服饰信息。
135.其中换装指令中包含有用户想要换装的服饰信息即目标服饰信息,该目标服饰信息可以是服饰三维模型的编号、名称等信息。
136.步骤404:利用换装指令包含的目标服饰信息从服饰库中获取对应的服饰三维模型。
137.步骤406:将获取的服饰三维模型与目标人体三维模型进行融合,得到换装后的目标人体三维模型。
138.其中将服饰三维模型与目标人体三维模型进行融合的方式在此不做限制,例如,可以是将服饰三维模型上的关键点对应到目标人体三维模型后,依据目标人体三维模型的姿态进行其他点的拟合,等等。
139.作为其中一种可实现的实施例,上述的人体三维建模方法和三维换装方法可以由云端服务器执行,也就是说在云端集成人体三维建模和三维换装功能,并面向用户提供三维换装服务。云端服务器又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(vps,virtualprivateserver)服务中存在的管理难度大,服务扩展性弱的缺陷。
140.当用户希望对某个目标人体三维模型进行换装时,可以将包含目标服饰信息的换装指令通过用户终端上传至云端服务器。
141.上述用户终端可以是但不限于诸如:手机、平板电脑、笔记本电脑、pda(personaldigital assistant,个人数字助理)、可穿戴式设备、pc(personalcomputer,个人计算机)等。其中,可穿戴式设备可以包括诸如智能手表、智能眼镜、智能手环、虚拟现实设备、增强现实设备、混合现实设备(即可以支持虚拟现实和增强现实的设备)等等。
142.云端服务器获取来自用户终端的换装指令;利用换装指令中目标服饰的信息从服
饰库中获取对应的服饰三维模型;将获取的服饰三维模型与目标人体三维模型进行融合,得到换装后的目标人体三维模型;将换装后的目标人体三维模型发送给终端设备。其中服饰库包含的服饰三维模型是采用如图2中所示的流程预先建立的,在此不做赘述。
143.作为另一种可实现的实施例,上述三维换装方法可以应用于vr(virtualreality,虚拟现实)或ar(augmentedreality,增强现实)场景。
144.首先在vr或ar设备上的呈现画面上展示目标人体三维模型;获取换装指令,该换装指令包含目标服饰的信息;利用目标服饰的信息从服饰库中获取对应的服饰三维模型;将获取的服饰三维模型与目标人体三维模型进行融合,得到换装后的目标人体三维模型;驱动vr设备或ar设备渲染展示换装后的目标人体三维模型。其中服饰库包含的服饰三维模型是采用如图2中所示的流程预先建立的,在此不做赘述。
145.通过上述实施例的内容,用户可以通过vr设备或ar设备查看目标人体三维模型,以及三维换装后的目标人体三维模型。其中,本技术对于如何将目标人体三维模型映射到虚拟空间结构中的方式不加以限制,可以采用现有技术中的任意方式。
146.上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
147.根据另一方面的实施例,提供了一种服饰三维建模装置。图5示出根据一个实施例的服饰三维建模装置的示意性框图。如图5所示,该装置500包括:人体模型获取单元501、图像渲染单元502、图像分割单元503、模型映射单元504、服饰点集确定单元505和服饰模型确定单元506,还可以进一步包括服饰库维护单元507。其中各组成单元的主要功能如下:
148.人体模型获取单元501,被配置为获取身着服饰的人体三维模型。
149.图像渲染单元502,被配置为环绕人体三维模型进行n个视角的渲染,得到n个二维图像并存储各二维图像的渲染参数,n为大于1的正整数。
150.图像分割单元503,被配置为分别对n个二维图像进行图像分割,得到n个二维图像中各像素点的分割结果。
151.模型映射单元504,被配置为利用各二维图像的渲染参数,将n个二维图像中各像素点的分割结果向人体三维模型映射。
152.服饰点集确定单元505,被配置为利用映射的结果,确定人体三维模型上对应分割结果为服饰的点构成的服饰点集。
153.服饰模型确定单元506,被配置为利用服饰点集,得到服饰三维模型。
154.作为其中一种可实现的方式,图像渲染单元502可以具体被配置为:利用可微分渲染工具将人体三维模型的脊柱线与y轴重合,设置相机模型绕y轴旋转一周,在旋转过程中每隔预设角度采集并渲染二维图像,得到n个二维图像。
155.作为其中一种可实现的方式,渲染参数可以包括:相机参数。
156.模型映射单元504可以具体被配置为:利用相机参数将二维图像中各像素点映射至人体三维模型,将各像素点的分割结果记录为所映射至人体三维模型上各点的分割结果。
157.作为其中一种可实现的方式,上述分割结果可以包括服饰类别、人体类别和背景类别。
158.服饰点集确定单元505可以具体被配置为:统计人体三维模型上的点被映射为各类别的次数,依据被映射为各类别的次数确定对应分割结果为服饰的点构成服饰点集。
159.更进一步地,模型映射单元504在映射过程中,可以将人体三维模型上除了映射点之外的其他点确定为对应不可视类别,映射点为n个二维图像上各像素点映射在人体三维模型上的点。
160.服饰点集确定单元505可以针对人体三维模型上的各点分别执行:除了不可视类别之外,如果该点被映射为其中一个类别上的次数最多且比其他类别多预设次数以上,则确定该点对应其中一个类别;否则确定该点对应不可视类别。
161.针对人体三维模型上对应不可视类别的点分别执行:确定距离该对应不可视类别的点最近的且对应除不可视类别之外的其他类别的点,将确定出的点对应的类别更新该对应不可视类别的点。
162.然后,确定对应服饰类别的点构成服饰点集。
163.作为其中一种可实现的方式,上述人体三维模型可以包括身着服饰的人体的轮廓信息和纹理信息。
164.服饰模型确定单元506可以确定服饰点集对应的面片和纹理信息,利用面片和纹理信息得到服饰三维模型。
165.更进一步地,服饰库维护单元507可以被配置为:将服饰三维模型存入服饰库,并在服饰库中存储服饰三维模型对应的服饰信息。
166.根据再一方面的实施例,提供了一种三维换装装置。图6示出根据一个实施例的三维换装装置的示意性框图。如图6所示,该装置600包括:指令获取单元601、服饰获取单元602和换装处理单元603。其中各组成单元的主要功能如下:
167.指令获取单元601,被配置为接收换装指令,换装指令包含目标服饰信息。
168.其中,目标服饰信息可以是服饰三维模型的编号、名称等信息。
169.服饰获取单元602,被配置为利用目标服饰信息从服饰库中获取对应的服饰三维模型。
170.换装处理单元603,被配置为将获取的服饰三维模型与目标人体三维模型进行融合,得到换装后的目标人体三维模型。其中将服饰三维模型与目标人体三维模型进行融合的方式在此不做限制,例如,可以是将服饰三维模型上的关键点对应到目标人体三维模型后,依据目标人体三维模型的姿态进行其他点的拟合,等等。
171.其中,服饰库包含的服饰三维模型是由图5中所示的装置预先建立的。
172.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出
创造性劳动的情况下,即可以理解并实施。
173.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
174.另外,本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述方法实施例中任一项所述的方法的步骤。
175.以及一种电子设备,包括:
176.一个或多个处理器;以及
177.与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行前述方法实施例中任一项所述的方法的步骤。
178.本技术还提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现前述方法实施例中任一项所述的方法的步骤。
179.其中,图7示例性的展示出了电子设备的架构,具体可以包括处理器710,视频显示适配器711,磁盘驱动器712,输入/输出接口713,网络接口714,以及存储器720。上述处理器710、视频显示适配器711、磁盘驱动器712、输入/输出接口713、网络接口714,与存储器720之间可以通过通信总线730进行通信连接。
180.其中,处理器710可以采用通用的cpu、微处理器、应用专用集成电路(application specificintegratedcircuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本技术所提供的技术方案。
181.存储器720可以采用rom(readonlymemory,只读存储器)、ram(randomaccess memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器720可以存储用于控制电子设备700运行的操作系统721,用于控制电子设备700的低级别操作的基本输入输出系统(bios)722。另外,还可以存储网页浏览器723,数据存储管理系统724,以及服饰三维建模装置/三维换装装置725等等。上述服饰三维建模装置/三维换装装置725就可以是本技术实施例中具体实现前述各步骤操作的应用程序。总之,在通过软件或者固件来实现本技术所提供的技术方案时,相关的程序代码保存在存储器720中,并由处理器710来调用执行。
182.输入/输出接口713用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
183.网络接口714用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
184.总线730包括一通路,在设备的各个组件(例如处理器710、视频显示适配器711、磁盘驱动器712、输入/输出接口713、网络接口714,与存储器720)之间传输信息。
185.需要说明的是,尽管上述设备仅示出了处理器710、视频显示适配器711、磁盘驱动器712、输入/输出接口713、网络接口714,存储器720,总线730等,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本技术方案所必需的组件,而不必包含图中所示的全部组件。
186.通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机程序产品的形式体现出来,该计算机程序产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例或者实施例的某些部分所述的方法。
187.以上对本技术所提供的技术方案进行了详细介绍,本文中应用了具体个例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时,对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本技术的限制。

技术特征:
1.一种服饰三维建模的方法,其特征在于,所述方法包括:获取身着服饰的人体三维模型;环绕所述人体三维模型进行n个视角的渲染,得到n个二维图像并存储各二维图像的渲染参数,所述n为大于1的正整数;分别对所述n个二维图像进行图像分割,得到所述n个二维图像中各像素点的分割结果;利用各二维图像的渲染参数,将所述n个二维图像中各像素点的分割结果向所述人体三维模型映射;利用所述映射的结果,确定所述人体三维模型上对应分割结果为服饰的点构成的服饰点集;利用所述服饰点集,得到服饰三维模型。2.根据权利要求1所述的方法,其特征在于,环绕所述人体三维模型进行n个视角的渲染,得到n个二维图像包括:利用可微分渲染工具将所述人体三维模型的脊柱线与y轴重合,设置相机模型绕所述y轴旋转一周,在所述旋转过程中每隔预设角度采集并渲染二维图像,得到所述n个二维图像。3.根据权利要求1所述的方法,其特征在于,所述渲染参数包括:相机参数;利用各二维图像的渲染参数,将所述n个二维图像中各像素点的分割结果向所述人体三维模型映射包括:利用相机参数将二维图像中各像素点映射至所述人体三维模型,将各像素点的分割结果记录为所映射至人体三维模型上各点的分割结果。4.根据权利要求1所述的方法,其特征在于,所述分割结果包括服饰类别、人体类别和背景类别;利用所述映射的结果,确定所述人体三维模型上对应分割结果为服饰的点构成的服饰点集包括:统计所述人体三维模型上的点被映射为各类别的次数,依据被映射为各类别的次数确定对应分割结果为服饰类别的点构成服饰点集。5.根据权利要求4所述的方法,其特征在于,在所述映射过程中,将人体三维模型上除了映射点之外的其他点确定为对应不可视类别,所述映射点为所述n个二维图像上各像素点映射在所述人体三维模型上的点;所述依据被映射为各类别的次数确定对应分割结果为服饰的点构成的服饰点集包括:针对所述人体三维模型上的各点分别执行:除了不可视类别之外,如果该点被映射为其中一个类别上的次数最多且比其他类别多预设次数以上,则确定该点对应所述其中一个类别;否则确定该点对应不可视类别;针对所述人体三维模型上对应不可视类别的点分别执行:确定距离该对应不可视类别的点最近的且对应除不可视类别之外的其他类别的点,利用确定出的点对应的类别更新该对应不可视类别的点;确定对应服饰类别的点构成所述服饰点集。6.根据权利要求1所述的方法,其特征在于,所述人体三维模型包括所述身着服饰的人体的轮廓信息和纹理信息;
利用所述服饰点集,得到服饰三维模型包括:确定所述服饰点集对应的面片和纹理信息,利用所述面片和纹理信息得到服饰三维模型。7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:将所述服饰三维模型存入服饰库,并在所述服饰库中存储所述服饰三维模型对应的服饰信息。8.一种三维换装的方法,其特征在于,所述方法包括:接收换装指令,所述换装指令包含目标服饰信息;利用所述目标服饰信息从服饰库中获取对应的服饰三维模型;将获取的服饰三维模型与目标人体三维模型进行融合,得到换装后的目标人体三维模型;其中,所述服饰库包含的服饰三维模型是采用如权利要求1至7中任一项所述的方式预先建立的。9.一种三维换装的方法,由云端服务器执行,其特征在于,所述方法包括:接收终端设备发送的换装指令,所述换装指令包含目标服饰的信息;利用所述目标服饰的信息从服饰库中获取对应的服饰三维模型;将获取的服饰三维模型与目标人体三维模型进行融合,得到换装后的目标人体三维模型;将换装后的目标人体三维模型发送给所述终端设备;其中,所述服饰库包含的服饰三维模型是采用如权利要求1至7中任一项所述的方式预先建立的。10.一种三维换装的方法,其特征在于,所述方法包括:在虚拟现实vr或增强显示ar设备的呈现画面上展示目标人体三维模型;获取换装指令,所述换装指令包含目标服饰的信息;利用所述目标服饰的信息从服饰库中获取对应的服饰三维模型;将获取的服饰三维模型与目标人体三维模型进行融合,得到换装后的目标人体三维模型;驱动所述vr设备或所述ar设备渲染展示所述换装后的目标人体三维模型;其中,所述服饰库包含的服饰三维模型是采用如权利要求1至7中任一项所述的方式预先建立的。11.一种服饰三维建模的装置,其特征在于,所述装置包括:人体模型获取单元,被配置为获取身着服饰的人体三维模型;图像渲染单元,被配置为环绕所述人体三维模型进行n个视角的渲染,得到n个二维图像并存储各二维图像的渲染参数,所述n为大于1的正整数;图像分割单元,被配置为分别对所述n个二维图像进行图像分割,得到所述n个二维图像中各像素点的分割结果;模型映射单元,被配置为利用各二维图像的渲染参数,将所述n个二维图像中各像素点的分割结果向所述人体三维模型映射;服饰点集确定单元,被配置为利用所述映射的结果,确定所述人体三维模型上对应分割结果为服饰的点构成的服饰点集;
服饰模型确定单元,被配置为利用所述服饰点集,得到服饰三维模型。12.一种三维换装的装置,其特征在于,所述装置包括:指令获取单元,被配置为接收换装指令,所述换装指令包含目标服饰信息;服饰获取单元,被配置为利用所述目标服饰信息从服饰库中获取对应的服饰三维模型;换装处理单元,被配置为将获取的服饰三维模型与目标人体三维模型进行融合,得到换装后的目标人体三维模型;其中,所述服饰库包含的服饰三维模型是由如权利要求11所述的装置预先建立的。13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至10任一项所述的方法的步骤。14.一种电子设备,其特征在于,包括:一个或多个处理器;以及与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行权利要求1至10任一项所述的方法的步骤。

技术总结
本申请实施例公开了一种服饰三维建模的方法、三维换装方法及对应装置,涉及计算机视觉技术领域。主要技术方案包括:获取身着服饰的人体三维模型;环绕人体三维模型进行N个视角的渲染,得到N个二维图像并存储各二维图像的渲染参数,N为大于1的正整数;分别对N个二维图像进行图像分割,得到N个二维图像中各像素点的分割结果;利用各二维图像的渲染参数,将N个二维图像中各像素点的分割结果向人体三维模型映射;利用映射的结果,确定人体三维模型上对应分割结果为服饰的点构成的服饰点集;利用服饰点集,得到服饰三维模型。本申请通过从身着服饰的人体三维模型上分离出服饰三维模型,实现了低成本、高质量的服饰三维建模。高质量的服饰三维建模。高质量的服饰三维建模。


技术研发人员:于凯
受保护的技术使用者:阿里巴巴达摩院(杭州)科技有限公司
技术研发日:2023.05.09
技术公布日:2023/9/23
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐