CN114119855A - 一种虚拟换装方法、装置、电子设备及存储介质 - Google Patents
一种虚拟换装方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114119855A CN114119855A CN202010874008.6A CN202010874008A CN114119855A CN 114119855 A CN114119855 A CN 114119855A CN 202010874008 A CN202010874008 A CN 202010874008A CN 114119855 A CN114119855 A CN 114119855A
- Authority
- CN
- China
- Prior art keywords
- user
- face
- coordinates
- whole
- key points
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提出一种虚拟换装方法、装置、电子设备及存储介质,该方法包括:获取用户的全身图像;从全身图像中识别出用户的人脸关键点的坐标和人体轮廓关键点的坐标;根据全身图像、人脸关键点的坐标和人体轮廓关键点的坐标,创建用户的全身三维模型;根据全身三维模型和用户选择的服饰参数信息,生成试装效果图。本申请创建了用户的真人全身三维模型,根据用户真实的脸部特征、身材特征推荐服饰。通过服饰的三维图片及尺寸数据在全身三维模型上完成试穿,使服饰与全身三维模型在高度和面部等方面吻合,避免试装效果图中服饰歪斜变形,提高试装效果图的可参考性,为用户提供更贴合现实的虚拟试装体验,还为用户身体管理提供精确的数据支持及专业建议。
Description
技术领域
本申请属于图像处理技术领域,具体涉及一种虚拟换装方法、装置、电子设备及存储介质。
背景技术
随着经济的发展,人们变得更加注重穿搭,个性化和多样化的穿搭需求越来越强烈。目前人们经常在线上服装店浏览服装图片来选择穿搭,但经常会出现服装实物与图片不符、尺寸不符等问题。
相关技术中提出了一种虚拟试衣的方法,该方法获取用户照片,选取用户照片的头部基准点,根据头部基准点确定用户区域,用户点击需要试衣的服装图片后,采集服装图片的基准点。根据服装图片的基准点和确定的用户区域,生成穿搭完成后的效果图。
但相关技术中是基于二维的用户照片和服装图片进行换装的,二维的用户照片中用户的脸型、身材等特征不够真实,在二维的用户照片上进行虚拟试衣,衣物容易歪斜变形,导致虚拟试衣的可参考性差。
发明内容
本申请提出一种虚拟换装方法、装置、电子设备及存储介质,创建了用户的真人全身三维模型,在全身三维模型上完成服饰试穿,使服饰与全身三维模型在高度和面部等方面吻合,避免试装效果图中服饰歪斜变形,提高试装效果图的可参考性,为用户提供更贴合现实的虚拟试装体验。
本申请第一方面实施例提出了一种虚拟换装方法,所述方法包括;
获取用户的全身图像;
从所述全身图像中识别出所述用户的人脸关键点的坐标和人体轮廓关键点的坐标;
根据所述全身图像、所述人脸关键点的坐标和所述人体轮廓关键点的坐标,创建所述用户的全身三维模型;
根据所述全身三维模型和所述用户选择的服饰参数信息,生成试装效果图。
在本申请的一些实施例中,所述根据所述全身图像、所述人脸关键点的坐标和所述人体轮廓关键点的坐标,创建所述用户的全身三维模型,包括:
根据所述人脸关键点的坐标和所述全身图像包括的脸部图像,创建所述用户的脸部三维模型;
根据所述人体轮廓关键点的坐标,创建所述用户的身材三维模型,获得所述用户的全身三维模型。
在本申请的一些实施例中,所述根据所述人脸关键点的坐标和所述全身图像包括的脸部图像,创建所述用户的脸部三维模型,包括:
根据所述全身图像包括的脸部图像,识别所述用户所属的性别类别和发型类别;
根据所述用户对应的所述性别类别、所述发型类别和所述人脸关键点的坐标,创建所述用户的脸部三维模型。
在本申请的一些实施例中,所述根据所述人体轮廓关键点的坐标,创建所述用户的身材三维模型,包括:
根据所述人体轮廓关键点的坐标,预测所述用户的各项人体属性;
根据所述各项人体属性和所述人体轮廓关键点的坐标,创建所述用户的身材三维模型。
在本申请的一些实施例中,所述根据所述全身三维模型和所述用户选择的服饰参数信息,生成试装效果图之前,还包括:
根据所述全身图像,获取与所述用户匹配的服饰参数信息;
将所述匹配的服饰参数信息推荐给所述用户。
在本申请的一些实施例中,所述根据所述全身三维模型和所述用户选择的服饰参数信息,生成试装效果图之后,还包括:
根据所述全身三维模型和所述服饰参数信息,生成所述服饰参数信息对应的装扮效果信息;
显示所述装扮效果信息。
在本申请的一些实施例中,所述方法还包括:
接收用户输入的身材数据;
根据所述身材数据,修正所述全身三维模型。
在本申请的一些实施例中,所述方法还包括:
根据所述全身图像包括的脸部图像,生成所述用户的容貌报告;
根据所述全身图像包括的身材图像,生成所述用户的身材报告;
根据所述脸部图像和所述身材图像,生成所述用户的皮肤报告。
本申请第二方面的实施例提供了一种虚拟换装装置,所述装置包括;
获取模块,用于获取用户的全身图像;
识别模块,用于从所述全身图像中识别出所述用户的人脸关键点的坐标和人体轮廓关键点的坐标;
创建模块,用于根据所述全身图像、所述人脸关键点的坐标和所述人体轮廓关键点的坐标,创建所述用户的全身三维模型;
生成模块,用于根据所述全身三维模型和所述用户选择的服饰参数信息,生成试装效果图。
本申请第三方面的实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序以实现上述第一方面所述的方法。
本申请第四方面的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行实现上述第一方面所述的方法。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
本申请实施例根据用户的全身图像,识别出用户脸部及身体各处的关键点的坐标,并据此创建了用户的真人全身三维模型,能够根据用户真实的脸部特征、身材特征推荐适合用户的服饰。用户从推荐的服饰中挑选服饰进行试衣时,通过服饰的三维图片及尺寸数据,在用户的全身三维模型上完成服装或配饰的试穿,能够使试穿的服饰与用户的全身三维模型在高度和面部等方面吻合,避免生成的试装效果图中服饰歪斜变形的问题,提高了试装效果图的可参考性,为用户提供了更加贴合现实的虚拟试装体验。进一步地,本申请实施例还基于用户真实的脸部图像和身材图像,为用户生成了容貌报告、身材报告和皮肤报告,为用户的身体管理提供了精确的数据支持及专业的身体管理建议。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变的明显,或通过本申请的实践了解到。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。
在附图中:
图1示出了本申请一实施例所提供的一种虚拟换装方法的流程图;
图2示出了本申请一实施例所提供的创建脸部三维模型的界面示意图;
图3示出了本申请一实施例所提供的创建全身三维模型的界面示意图;
图4示出了本申请一实施例所提供的双属性识别模型的结构示意图;
图5示出了本申请一实施例所提供的残差模块的结构示意图;
图6示出了本申请另一实施例所提供的深度可分离卷积模块的结构示意图;
图7示出了本申请另一实施例所提供的人体轮廓关键点的示意图;
图8示出了本申请另一实施例所提供的评价第二类人体属性中任意人体属性的指标的一示意图;
图9示出了本申请另一实施例所提供的评价第二类人体属性中任意人体属性的指标的另一示意图;
图10示出了本申请另一实施例所提供的预设神经网络预测模型的结构示意图;
图11示出了本申请另一实施例所提供的手动输入身材数据修改全身三维模型的界面示意图;
图12示出了本申请另一实施例所提供的容貌报告、身材报告及皮肤报告的界面示意图;
图13示出了本申请另一实施例所提供的在全身三维模型上进行虚拟换装的界面示意图;
图14示出了本申请一实施例所提供的一种虚拟换装装置的结构示意图;
图15示出了本申请一实施例所提供的一种电子设备的结构示意图;
图16示出了本申请一实施例所提供的一种存储介质的示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施方式。虽然附图中显示了本申请的示例性实施方式,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。
下面结合附图来描述本申请实施例提出的一种虚拟换装方法、装置、电子设备及存储介质。
目前人们对穿搭的个性化和多样化需求越来越高,相关技术中提出了一些虚拟试衣的方案,这些方案获取用户照片,选取用户照片的头部基准点,根据头部基准点确定用户区域,用户点击需要试衣的服装图片后,采集服装图片的基准点。根据服装图片的基准点和确定的用户区域,生成穿搭完成后的效果图,以便用户可以在线搭配选择自己喜欢的服饰。
但上述相关技术是基于二维的用户照片和服装图片进行换装的,二维的用户照片中用户的脸型、身材等特征不够真实,生成的效果图中衣物容易歪斜变形,导致虚拟试衣的可参考性不高。
基于此,本申请实施例提出了一种虚拟换装方法,该方法根据用户的全身图像,识别出用户的人脸关键点和人体轮廓关键点,分别创建脸部三维模型和身材三维模型,从而获得用户的全身三维模型。如此得到的全身三维模型更加贴近用户的现实形象,在该全身三维模型上进行虚拟换装,生成的试装效果图中衣物或配饰不易歪斜变形,且充分考虑了用户自身的脸型和身材特征,大大提高了试装效果图的可参考性,使虚拟换装更加符合用户自身的现实情况,提供给用户更贴合现实的换装体验。
参见图1,该方法具体包括以下步骤;
步骤101:获取用户的全身图像。
本申请实施例的执行主体为终端,如可以为手机、平板电脑、台式电脑等终端。可以通过终端上配置的摄像头扫描用户的脸部来获得用户的脸部图像,以及通过摄像头扫描用户的身体来获得用户的身材图像,从而获得用户的全身图像。也可以直接从终端的本地图库中获取包含用户的脸部图像和身材图像的全身图像。
在本申请实施例中,终端上安装有用于进行虚拟换装的应用程序。当用户需要进行虚拟换装时,用户可以登录终端上的该应用程序,登录后终端显示建模接口。当终端检测到用户点击该建模接口时,调用终端上的摄像头扫描用户的脸部,在扫描过程中显示脸部有效扫描边框及脸部姿态提示信息。该脸部姿态提示信息用于提示用户摘下眼镜、口罩、撩起刘海等,以保持面部无遮挡,提示用户保持竖直拍摄,不要倾斜;以及,用于提示用户在扫描过程中使自己的脸部保持在脸部有效扫描边框内。终端通过摄像头对用户的脸部进行扫描,获得用户的脸部图像。
如图2中所示,终端以手机作为示例,登录手机上用于进行虚拟换装的应用程序之后,显示界面(1),该界面(1)中包括建模接口“开始生成我的3D模型”。用户点击“开始生成我的3D模型”后,手机开启摄像头对用户的脸部进行扫描,并显示图2中的界面(2)。在该界面(2)中显示脸部有效扫描边框,该脸部有效扫描边框的形状近似于人的头部轮廓。该界面(2)中还显示脸部姿态提示信息“请撩起刘海,摘下眼镜,保持脸部无遮挡”。用户按照提示将自己的脸部对准脸部有效扫描边框进行扫描。在扫描过程中若检测到手机倾斜了,则显示脸部姿态提示信息“手机倾斜了,请竖直拍摄”,如图2中的界面(3)所示。
通过摄像头扫描的方式获得的脸部图像符合用户当前的脸部实际情况,该脸部图像能够反映用户当下的面貌、发型、皮肤等方面的实际状态。
在本申请实施例中,同样可以通过终端上的摄像头对用户的身体进行扫描,获得用户的身材图像。在扫描身体之前终端显示身高和体重的选择项,用户通过身高和体重的选择项分别提交自己的身高和体重。然后通过终端上的摄像头扫描自己的身体,在扫描过程中显示身体有效扫描边框及身体姿态提示信息。该身体姿态提示信息用于提示用户竖直站立,手臂伸直,身体保持在身体有效扫描边框内等。终端通过摄像头对用户的身体进行扫描,获得用户的身材图像。
如图3中所示,终端以手机作为示例,由于用户自己用手机很难拍摄到自己身体的全貌,因此终端显示界面(a)中的提示信息“让好友帮忙拍一张美美的全身图,开始测试身材吧”,以及显示“点击屏幕任意位置进入拍摄”。当终端检测到当前屏幕被点击时,进入界面(b),在界面(b)中显示身体有效扫描边框,该身体有效扫描边框的形状近似于人的身体轮廓。界面(b)还显示身体姿态提示信息“身体竖直站立,手臂伸直”。用户按照提示将自己的身体对准身体有效扫描边框进行扫描,从而获得用户的身材图像。
通过摄像头扫描的方式获得的身材图像符合用户当前的身材实际情况,该身材图像能够反映用户当下身材的实际状态。
步骤102:从全身图像中识别出用户的人脸关键点的坐标和人体轮廓关键点的坐标。
具体可以通过如下步骤A1和A2的操作来识别上述关键点的坐标,包括:
A1:根据全身图像中包括的脸部图像,识别用户对应的人脸关键点的坐标。
其中,本申请实施例并不限制人脸关键点的数目,只要所有的人脸关键点能够全面覆盖用户的五官即可,如人脸关键点包括用户的脸部轮廓上的点以及耳朵、鼻子、嘴巴、眼睛、眉毛等部位的点等。如图2中的界面(4)中示出了用户的脸部图像的一些人脸关键点。
本申请实施例中通过预设检测算法来识别脸部图像中的人脸关键点的坐标。预设检测算法可以使用CenterNet这样的检测框架。在原始CenterNet的基础上,将基础网络结构替换为EfficientNet-B0,可以实现精度和速度的良好平衡。预设检测算法整体的网络结构由EfficientNet-B0加反卷积模块组合而成。EfficientNet-B0部分由一个正常的卷积层加7个MBconv(mobile inverted bottleneck convolution)组成。
在EfficientNet-B0部分,输入的脸部图像的大小为512*512*3(height、width、channel),经过5次的下采样(宽、高减小的处理)操作,最终该模块的输出特征图大小为16*16*320(512/25=16)。然后再经过3个反卷积模块,每个反卷积会将输入特征图上采样(宽、高增大的处理)一次,最终经过3次反卷积后的输出特征图大小为128*128*256。在此基础上,经过一个1*1卷积处理,得到最终的6个网络输出结果。
上述6个网络输出结果具体为:
Hm:物体的特征图,一个类别一个channel(厚度),由于本公开实施例的检测方法只检测人体一个类别,所以该层的大小为128*128*1。
Wh:物体的大小,也就是宽,高,因此,是2个channel,最终大小为128*128*2。
Hps:物体的关键点基于中心点的偏移,输出k*2个通道,k表示关键点的数目,假设在某一应用场景中目标对象的人体轮廓关键点为77个人体轮廓关键点,2表示x、y两个偏移,最终大小为77*2=154。
Reg:体中心点的偏移,包含x、y两个偏移量,因此,是2个channel,最终大小为128*128*2。
hm_hp:物体关键点的特征图,输出k个通道,一个点一个通道,最终大小为128*128*77。
hp_offset:K个关键点的偏移,所有这些关键点采用同样的偏移量,x、y两个指标,输出2个通道,最终大小为128*128*2。
在得到上面的6个网络输出结果之后,使用公式(1)转化为最终的坐标。
(xi+δxi-wi/2,yi+δyi-hi/2,xi+δxi+wi/2,yi+δyi+hi/2)…(1)
在公式(1)中,(xi,yi)表示预测的中心点x,y坐标,即hm分支。(δxi,δyi)表示预测的中心点坐标x,y的偏移量,即reg分支。(wi,hi)表示物体框的大小宽度和高度。
通过中心点坐标加上中心点坐标在x,y两个方向的偏移量,得到准确的中心点坐标。然后使用中心点坐标分别减去宽,高的一半,即得到人脸关键点的目标框的左上角坐标点(x1、y1),使用中心点坐标分别加上宽,高的一半,即得到人脸关键点的目标框的右下角坐标点(x2、y2)。
使用公式(2)转化为最终的人脸关键点的坐标:
为了减小识别的人脸关键点的坐标的误差,根据直接回归方式确定出每一个人脸关键点的大致位置,然后找这个位置附近的置信度(0-1得分)大于0.1的点中,置信度最大的点Lj(hm_hp),将其作为真正的人脸关键点;然后使用该点加上偏移量(hp_offset)得到最终的人脸关键点的坐标。即通过公式(3)来计算最终人脸关键点的坐标。
Lj=hm_hp+hp_offset…(3)
需要说明的是,如果存在两个以上置信度大于0.1的点,则取距离lj最近的点,如公式(4)所示:
在公式(4)中,lj表示基于直接回归方式得到的人脸关键点的坐标,即hps分支。Lj表示基于特征图的方法得到的人脸关键点的坐标。取每一个人脸关键点对应的lj和Lj计算距离,将距离最近的Lj中的点当作最终的预测输出的人脸关键点。比如,基于回归预测出眼睛位置的关键点位置,然后在眼睛所在通道的特征图里面,找离其距离最近的置信度高于0.1的点,作为最终的眼睛位置关键点。
A2:根据全身图像中包括的身材图像,识别用户对应的人体轮廓关键点的坐标。
本申请实施例并不限制人体轮廓关键点的数量,只要人体轮廓关键点能够全部覆盖该用户的身体轮廓的关键部位即可,身体轮廓的关键部位可以包括手指、手腕、肘部、肩部、脖子、胸部、肚子、腰部、大腿、膝盖、小腿、脚踝、脚部等。图3中的界面(c)中标注了用户的一些人体轮廓关键点,图7中也给出了人体轮廓关键点的示意图。
人体轮廓关键点的坐标的识别方式与步骤A1中识别人脸关键点的坐标的方式相同,也是通过预设检测算法来识别用户对应的人体轮廓关键点的坐标。将用户的身材图像的尺寸调整为512*512,然后输入预设检测算法中,得到6个网络输出结果。根据网络输出结果,通过上述公式(1)分别计算每个人体轮廓关键点的目标框的中心点坐标。然后根据每个人体轮廓关键点的目标框的中心点坐标及中心点的偏移量,通过公式(2)计算每个人体轮廓关键点的坐标。进一步地,还可以通过公式(3)和(4)计算出最终每个人体轮廓关键点的坐标,以减小人体轮廓关键点的坐标的误差。
步骤103:根据全身图像、人脸关键点的坐标和人体轮廓关键点的坐标,创建用户的全身三维模型。
具体通过如下步骤A3和A4的操作来创建用户的全身三维模型,具体包括:
A3:根据人脸关键点的坐标和全身图像包括的脸部图像,创建用户的脸部三维模型。
首先根据全身图像包括的脸部图像,识别用户所属的性别类别和发型类别。
本申请实施例通过预先训练的双属性识别模型对用户的脸部图像进行性别识别和发型识别。双属性识别模型的训练过程包括:获取训练数据集,该训练数据集中包括标注有性别类别和发型类别的头部图片;通过训练数据集对预设深度学习网络进行训练,得到训练好的双属性识别模型。
预设深度学习网络可以为mobilenet v2、VGG(Visual Geometry Group Network,视觉几何群网络)、ResNet(Residual Network,残差网络)等。预设深度学习网络倒数第二层包括两个并联的全连接层,其中一个全连接层用于发型识别,另一个全连接层用于性别识别。
训练好的双属性识别模型的结构如图4所示,该双属性识别模型包括依次连接的第五卷积层、第一残差模块、第一深度可分离卷积模块、第二深度可分离卷积模块、第三深度可分离卷积模块、第二残差模块、第四深度可分离卷积模块、第三残差模块、第六卷积层、池化层、第一全连接层和第二全连接层。其中,第一全连接层和第二全连接层是并联的两个分支,第一全连接层用于进行发型识别,第二全连接层用于性别识别。
其中,第一残差模块、第二残差模块和第三残差模块的结构均如图5所示,包括依次连接的第一卷积层、第一深度可分离卷积层、第二卷积层及相加操作层。其中,第一卷积层的卷积核大小为1×1,采用的激活函数为Relu6(Rectified Linear Units),步长为1,补零为0。第一深度可分离卷积层的卷积核大小为3×3,采用的激活函数为Relu6,步长为1,补零为1。第二卷积层的卷积核大小为1×1,采用的激活函数为Linear(线性),步长为1,补零为0。相加操作层用于将第二卷积层的输出结果与该深度可分离卷积模块最初的输入数据进行相加操作。
第一深度可分离卷积模块、第二深度可分离卷积模块、第三深度可分离卷积模块和第四深度可分离卷积模块的结构均如图6所示,包括第三卷积层、第二深度可分离卷积层和第四卷积层。其中,第三卷积层的卷积核大小为1×1,采用的激活函数为Relu6,步长为1,补零为0。第二深度可分离卷积层的卷积核大小为3×3,采用的激活函数为Relu6,步长为2,补零为1。第四卷积层的卷积核大小为1×1,采用的激活函数为Linear,步长为1,补零为0。从图6中可以直观地看出残差模块中包括第二深度可分离卷积层,将深度可分离卷积应用于残差结构中,能够压缩整个网络模型的大小,减少计算量。
通过上述方式获得训练好的双属性识别模型之后,可以通过该双属性识别模型对用户的脸部图像进行性别识别和发型识别。
首先对脸部图像进行预处理,具体先通过图像处理库opencv将脸部图像的尺寸调整到预设尺寸,预设尺寸可以为512×512像素或1024×1024像素等。然后将脸部图像中每个像素的像素值均除以预设数值,得到脸部图像对应的归一化图片。预设数值可以为232或255等。之后根据预设颜色均值和预设颜色标准差,分别对归一化图片的每个颜色通道进行标准化处理,得到脸部图像对应的标准化图片。对脸部图像进行归一化和标准化处理,能够减少图片数据量,加快计算速度,提高胸围识别效率。
预设颜色均值可以为[0.485,0.456,0.406],其中0.485、0.456、0.406分别代表ImageNet图片库中红、绿、蓝三个颜色通道的均值,如0.485为ImageNet图片库中所有图片中颜色为红色的像素点的像素值的平均值,即ImageNet图片库中所有红色像素点的像素值之和与红色像素点的总数目之比。预设颜色标准差可以为[0.229,0.224,0.225],其中0.229、0.224、0.225分别代表ImageNet图片库中红、绿、蓝三个颜色通道的标准差,比如0.229为ImageNet图片库中所有图片中颜色为红色的像素点的像素值的标准差。
对归一化图片的每个颜色通道进行标准化的公式为output=(input-mean)/std。其中,output为标准化后的像素值,input表示归一化后某个通道的像素值,mean表示imagenet图片库对应通道的均值,std表示imagenet图片库对应通道的标准差。例如,假设归一化图片中红色通道的像素值为0.5,那么标准化后的像素值为(0.5-0.485)/0.229=0.065。
通过上述方式对脸部图像进行归一化和标准化处理后,将脸部图像对应的标准化图片输入训练好的双属性识别模型中,通过该双属性识别模型对脸部图像进行性别识别和发型识别,得到该脸部图像对应的分类结果。该分类结果包括脸部图像属于各性别类别的性别分数及属于各发型类别的发型分数。
本申请实施例按照性别来区分发型类别,如将女性发型划分为长弯、长直、中直、中弯、短直、短弯、扎起等,将男性发型划分为短、中、长等。双属性识别模型输出脸部图像的各性别分数和各发型分数后,将性别分数最高的性别类别确定为脸部图像所属的性别类别。根据各发型类别对应的发型分数,从确定的性别类别对应的发型类别中,获取发型分数最高的发型类别。将该发型分数最高的发型类别确定为脸部图像所属的发型类别。
例如,用w表示女性,m表示男性,用c1、c2、c3、c4、c5、c6、c7、c8、c9、c10依次表示长弯、长直、中直、中弯、短直、短弯、扎起、短、中、长。双属性识别模型输出的性别分数为w=0.9,m=0.1,各发型分数为c1=0.91、c2=0.1、c3=0.1、c4=0.1、c5=0.1、c6=0.1、c7=0.1、c8=0.1、c9=0.1、c10=0.1。则根据性别分数确定脸部图像所属的性别类别为女性w,从女性发型c1、c2、c3、c4、c5、c6、c7中选择发型分数最高的c1=0.91对应的发型类别“长弯”确定为脸部图像最终所属的发型类别。
按照性别对发型类别进行区分,通过大量标注出性别和发型的图片对深度学习网络进行训练,训练出能够同时进行性别识别和发型识别的双属性识别模型。将性别识别与发型识别相结合,通过性别识别来辅助发型识别,能够避免出现男、女间发型误识别的问题,提高发型识别的准确性。
在本申请实施例中通过双属性识别模型对用户的脸部图像进行性别识别和发型识别之前,还可以先通过预先训练的单属性识别模型对用户的脸部图像进行发型识别以及检测该脸部图像中的头发区域。
其中,单属性识别模型的训练过程包括:获取训练数据集,该训练数据集中包括标注有发型类别和头发区域的坐标的头部图片。在训练单属性识别模型时对发型类别的划分与训练双属性识别模型时对发型类别的划分方式相同,如都将发型划分为长弯、长直、中直、中弯、短直、短弯、扎起、短、中、长共十种发型。头发区域的坐标为(x,y,h,w)。其中,x,y为头发区域的中心坐标(x,y的单位为像素),h,w为头发区域的高和宽(h,w的单位也为像素)。
通过上述训练数据集对深度学习网络进行训练,此处选用的深度学习网络可以为Efficientdet、VGG、ResNet等。单属性识别模型的训练过程与双属性识别模型的训练过程相似,在此不再赘述。
通过上述方式获得单属性识别模型之后,将用户的脸部图像对应的标准化图片输入训练好的单属性识别模型中,单属性识别模型会对脸部图像中的头发区域进行检测,确定出头发区域的坐标(x,y,h,w)。单属性识别模型对检测出的头发区域图片进行发型识别,输出各发型类别的发型分数,选取发型分数最高的发型类别作为单属性识别模型最终识别出的发型类别。
根据单属性识别模型输出的头发区域的坐标,从脸部图像中截取出头发区域图片。将该头发区域图片作为新的脸部图像,通过预先训练的双属性识别模型对该新的脸部图像进行性别识别和发型识别,得到脸部图像的性别分数和各发型类别对应的发型分数。将性别分数最高的性别类别确定为脸部图像所属的性别类别。根据各发型类别对应的发型分数,从确定的性别类别对应的发型类别中,获取发型分数最高的发型类别。将该发型分数最高的发型类别确定为双属性识别模型最终识别出的发型类别。
从单属性识别模型识别出的发型类别和双属性识别模型识别出的发型类别中,选择发型分数最高的发型类别确定为脸部图像最终所属的发型类别。
通过单属性识别模型和双属性识别模型分别对待识别图片进行发型识别,从二者识别的发型类别中选取发型分数最高的发型类别作为待识别图片最终所属的发型类别,进一步提高了发型识别的准确性。而且单属性识别模型能够检测出待识别图片中头发区域的坐标,根据该头发区域的坐标截取头发区域图片,然后利用双属性识别模型对该头发区域图片进行性别识别和发型识别,能够减小双属性识别模型处理的数据量,提高发型识别效率。
通过上述方式识别出用户的性别类别和发型类别之后,根据用户对应的性别类别、发型类别和人脸关键点的坐标,创建用户的脸部三维模型。具体地,根据人脸关键点的坐标,进行三维空间中的仿射变换,生成面部的三维模型。然后根据用户的性别类别和发型类别,从预设发型库中获取用户的性别类别和发型类别对应的发型参数信息,根据该发型参数信息与生成的面部的三维模型,创建该用户的脸部三维模型。
其中,预设发型库中包括男性对应的每种发型类别的发型参数信息及女性对应的每种发型类别的发型参数信息。男性对应的发型类别包括短、中、长等,每种发型类别均对应多个发型的发型参数信息。女性对应的发型类别包括长弯、长直、中直、中弯、短直、短弯、扎起等,每种发型类别也均对应多个发型的发型参数信息。发型参数信息包括发型的中心坐标、发型的轮廓关键点的坐标、发型的颜色、发型缩略图等。
本申请实施例可以根据用户的性别类别和发型类别,从预设发型库中该性别类别和发型类别对应的发型参数信息中随机获取一个发型参数信息。也可以从预设发型库中获取该性别类别和发型类别对应的所有发型参数信息的发型缩略图。显示获取的所有发型缩略图,以便用户可以自主选择符合自己实际情况的发型或选择自己喜欢的发型。当检测到用户点击显示的某个发型缩略图时,从预设发型库中获取该发型缩略图对应的发型参数信息。
通过上述方式获得发型参数信息之后,根据该发型参数信息包括的发型的中心坐标、发型的轮廓关键点的坐标、发型的颜色等,在上述生成的面部的三维模型上渲染出发型的三维模型,得到用户的脸部三维模型。
A4:根据人体轮廓关键点的坐标,创建用户的身材三维模型,获得用户的全身三维模型。
在本申请实施例中,可以按照步骤101的方式同时获取用户的身材图像与脸部图像,也可以通过上述步骤A3的操作创建出用户的脸部三维模型之后,再按照步骤101的方式来获得用户的身材图像。
如图2所示的界面(5)中显示出“第1步:3D脸部创建成功”,且界面(5)中显示了“第2步:创建3D身体信息”,并显示了身高和体重的选择项,用户可以通过身高选择项提交自己的身高,通过体重选择项提交自己的体重。然后点击界面(5)中显示的“生成3D模型”的接口来扫描自己的身体获得身体图像。或者,也可以点击图中显示的“上传身体照片,生成专属3D模型”的接口,直接从本地图库中选择一个身体图像进行上传。若检测到用户点击了“生成3D模型”的接口,则跳转显示图3所示的界面(a)。当终端检测到用户点击界面(a)时,进入界面(b),在界面(b)中显示身体有效扫描边框和身体姿态提示信息“身体竖直站立,手臂伸直”。用户按照提示将自己的身体对准身体有效扫描边框进行扫描,从而获得用户的身材图像。
通过上述方式获得用户的身材图像,并通过步骤102识别出用户的人体轮廓关键点的坐标,以及通过步骤A3创建出用户的脸部三维模型之后,根据人体轮廓关键点的坐标,预测用户的各项人体属性。
在本申请实施例中将人体属性分为两类,第一类人体属性包括用户的身高、胸围、下胸围、腰围、肚腩围、臀围、臀宽、胯围、肩部长度、臂长、臂围、大腿围、小腿围、腿长、头长、肩部到虎口的长度、肩部到档线垂直长度、以及肩部宽度等。
其中,第一类人体属性可以分为基于长度的指标和基于围度的指标。基于长度的指标包括:身高、臀宽、肩部长度、臂长、腿长、头长、肩部到虎口的长度、肩部到档线垂直长度、肩部宽度。基于围度的指标包括:胸围、下胸围(针对女性)、腰围、肚腩围、臀围、胯围、臂围、大腿围、小腿围。
对于基于长度指标的估计,使用瞳距作为图片中的标准比例尺。一般男性的瞳距为60毫米到73毫米之间,女性的瞳距一般为53毫米到68毫米之间。可以对男性取66.5,女性取60.5作为瞳距的大小。对于女性,通过公式(5)可以计算出基于长度的9个第一类人体属性的大小。对于男性,通过公式(6)可以计算出基于长度的9个第一类人体属性的大小。
举例说明,若步骤102中识别出用户的性别类别为女性,则计算用户的身体图像中用户的身高与60.5的乘积,然后计算该乘积与用户的脸部图像中用户的瞳距之间的比值,该比值即为用户的真实身高。
在本申请实施例中,基于长度的指标的计算和对应的人体轮廓关键点的索引关系如表1所示,表1中L表示长度,p表示图7中标注的人体轮廓关键点,midpoint表示中点。如p6表示图7中标注序号为6的人体轮廓关键点,midpoint(p37,p47)表示图7中标注的人体轮廓关键点37和47之间连线的中点,L(p6,midpoint(p37,p47))则表示人体轮廓关键点6与人体轮廓关键点37和47连线的中点之间的长度,该长度即为身高。
表1
对于基于围度的指标的估计,对胸围、下胸围(针对女性)、腰围、肚腩围、臀围、胯围采用椭圆模型进行拟合。其中,椭圆模型的周长公式为公式(7),在公式(7)中a和b分别表示椭圆的长半轴长和短半轴长。
L=2πb+4(a-b)…(7)
由于本申请实施例使用的是用户正面的身体图像,所以只能测到正面的指标长度,比如胸围只能测到长半轴长,对于短半轴长,根据预设数目个真实用户的数据进行统计,得到短半轴长和长半轴长之间的数值关系。预设数目可以为1000或2000等。其中,对于各基于围度的指标,长半轴和短半轴之间的数值关系如表2所示。
表2
在本申请实施例中,对臂围、大腿围、小腿围采用圆形模型进行拟合。圆形模型的周长公式为公式(8),在公式(8)中d表示圆形的直径长度。
L=πd…(8)
表3示出了臀围、大腿围和小腿围与对应人体轮廓关键点之间的索引关系。
表3
指标 | 对应关键点索引公式 |
臂围 | (L(p16,p24)+L(p60,p68))/2 |
大腿围 | (L(p31,p42)+L(p42,p53))/2 |
小腿围 | (L(p34,p39)+L(p45,p50))/2 |
在本申请实施例中将人体属性分为两类,第二类人体属性包括以上胸围和下胸围确定的胸围属性、以胸围属性确定的多个档位、以及各个档位下与胸围属性对应的数值范围;腰围属性、以腰围属性确定的多个档位、以及各个档位下与腰围属性对应的数值范围;肚腩围属性、以肚腩围属性确定的多个档位、以及各个档位下与肚腩围属性对应的数值范围;臀围属性、以臀围属性确定的多个档位、以及各个档位下与臀围属性对应的数值范围;跨围属性、以跨围属性确定的多个档位、以及各个档位下与跨围属性对应的数值范围;肩部长度属性、以肩部长度确定的多个档位、以及各个档位下与肩部长度对应的数值范围;臂长属性、以臂长确定的多个档位、以及各个档位下与臂长对应的数值范围;臂围属性、以臂围确定的多个档位、以及各个档位下与臂围对应的数值范围;大腿围属性、以大腿围确定的多个档位、以及各个档位下与大腿围对应的数值范围;小腿围属性、以小腿围确定的多个档位、以及各个档位下与小腿围对应的数值范围;腿长属性、以腿长确定的多个档位、以及各个档位下与腿长对应的数值范围。
图8示出了用于评价第二类人体属性中的任意一项人体属性的各项指标。图9示出了用于评价第二类人体属性中的任意一项人体属性的指标的另一示意图。
人体的11个具体类别的指标,使用上面定义的规则进行确定。上面的规则是在预设数目个真实的模特数据上总结得到,预设数目可以为1000或2000。具体采用如下公式进行计算,
C胸围=f(上胸围-下胸围);C腰围=f(腰围/臀围);
C肚腩围=f(肚腩围/臀围);C臀围=f(腰围/臀围);C跨围=f(腰围/臀围);
C肩宽=f(肩长/臀围);C臂围=f(臂围/大腿围);
C大腿围=f(大腿围/腿长);C小腿围=f(小腿围/腿长);
C腿长=f(腿长/身高);
C臂长=f(肩部到虎口的长度/肩部到档线垂直长度);
其中,C表示每一个指标对应的类别,f表示将f中的参数根据上表的规则转化为具体的类别的函数。
本申请实施例通过第一人体属性预测模型和第二人体属性预测模型来预测用户的各项人体属性。其中,第一人体属性预测模型为基于用户的瞳距进行人体属性预测的预测模型,第二人体属性预测模型为预设神经网络预测模型。
通过步骤102识别出用户的人体轮廓关键点的坐标之后,根据用户的人体轮廓关键点的坐标,分别通过第一人体属性预测模型和第二人体属性预测模型对用户的各项人体属性进行预测,得到第一预测结果和第二预测结果。
其中,第一人体属性预测模型通过上述公式(5)、(6)、(7)和(8)以及表1、2和3所示的方式来对用户的各项人体属性进行预测。具体地,对于第一类人体属性中的任意人体属性,确定用于计算该人体属性的计算公式。根据用户的人体轮廓关键点的坐标,以瞳距为基准,根据确定的计算公式对该人体属性进行预测。获取能够确定第二类人体属性的大数据;对大数据进行分析,得到能够确定第二类人体属性的预设条件。对于第二类人体属性中的任意人体属性,从预设条件中获取与该人体属性匹配的预设子条件。基于用户的人体轮廓关键点的坐标,根据预设子条件对该人体属性进行预测。
第二人体属性预测模型为图10所示的预设神经网络预测模型,能够同时实现对于18个具体数值(cm)的指标和11个具体类别(由细到粗)的指标的预测。基于该预设神经网络预测模型,输入为用户的各项人体关键点坐标所对应的各项归一化数值,归一化的方式如下,
假设人体轮廓关键点的坐标为,P={p1,p2,p3,......p77}。则用户所有的人体轮廓关键点中,最小的坐标左上角点Pmin、最大的坐标右下角点Pmax就可以确定出来。Pmin=(min(P.x),min(P.y));Pmax=(max(P.x),max(P.y))。归一化后的点P的坐标为Pnorm,Pnorm=(P-Pmin)/(Pmax-Pmin)。
如图7所示,用户的人体轮廓关键点一共有77个,每个关键点有x,y两个坐标值,最终网络的输入为77*2=154。然后分别经过5个全连接层处理,分别输出2个分支。第一个分支的维度为18,主要负责18个具体数值(cm)的指标的预测。第二个分支输出的维度为11*5,11表示11个具体类别(由细到粗)的指标,5表示每一个指标有5个类别。如此通过一个神经网络预测出了所有的人体属性指标。
需要注意的是,18个具体数值(cm)的指标是归一化的输出结果,输出的结果区间也是0-1之间。然后将该输出乘以用户的身高,就是最终的各个指标的最终结果。
在本申请实施例中,第一人体属性预测模型获得的第一预测结果包括:基于瞳距预测得到的、且用于表征第一类人体属性中任意人体属性的预测结果,以及,根据预设条件预测得到的、且用于表征第二类人体属性中的任意人体属性的预测结果。第二人体属性预测模型获得的第二预测结果包括基于预设神经网络预测模型预测得到的、且用于表征第一类人体属性中任意人体属性的预测结果,以及,基于预设神经网络预测模型预测得到的、且用于表征第二类人体属性中任意人体属性的预测结果。
对第一预测结果和第二预测结果进行融合,得到并输出融合后的预测结果。具体地,根据第一预测结果、基于第一预测结果预先配置的第一权重值、第二预测结果、以及基于第二预测结果预先配置的第二权重值,对第一预测结果和第二预测结果进行数据融合,得到并输出融合后的预测结果。
本申请实施例对第一权重值和第二权重值的具体数值不做具体限制。为了均衡第一预测结果和第二预测结果,也可以将第一权重值和第二权重值配置为相同的数值。
通过上述方式预测出用户的各项人体属性之后,根据各项人体属性和人体轮廓关键点的坐标,创建用户的身材三维模型。
本申请实施例中预先设置了各人体属性对应的范围区间,预测出用户的各项人体属性之后,根据各项人体属性的具体数值及各人体属性对应的范围区间,分别确定各人体属性所属的范围区间。根据各人体属性所属的范围区间分别确定各人体属性所属的属性类型。以臂长为例,提前预设好不同臂长类型对应的臂长的范围区间,臂长类型可以分为短臂、中长和长臂,短臂对应的范围区间为A-B,中长对应的范围区间为B-C,长臂对应的范围区间为C-D。若用户的臂长位于范围区间C-D内,则确定用户的臂长属于长臂类型。
通过上述方式自动确定出用户的各人体属性所属的属性类别之后,若用户想要更改自己的属性类别,也可以手动点击自己想要采用的属性类别进行修改。
根据用户的人体轮廓关键点的坐标、各项人体属性的取值及各人体属性所属的属性类型,进行三维空间中的仿射变换,生成用户的身材三维模型。创建出用户的脸部三维模型和身材三维模型,即获得了用户的全身三维模型。
由于用户的脸部图像和身体图像可以是扫描对用户即时扫描所得,基于脸部图像创建了脸部三维模型,基于身材图像创建了身材三维模型,使得最终建立的全身三维模型非常贴合用户当前的真实情况,通过该全身三维模型进行后续的虚拟换装,能够给用户带来更加贴近现实的换装体验。
在本申请实施例中,预测出用户的各项人体属性之后,还根据各项人体属性,获取用户的身材分析数据,该身材分析数据包括头身比、身体质量指数、腿型等。通过上述方式创建出用户的全身三维模型之后,显示该全身三维模型以及用户的身材分析数据。如图3所示,界面(c)中标注了通过步骤B1识别出的人体轮廓关键点,之后依次通过界面(d)和(e)为用户直观展示全身三维模型的创建过程,最后在界面(f)中展示最终创建的全身三维模型及用户的头身比、身体质量指数、腿型等身材分析数据。
在本申请的另一些实施例中,也可以不根据用户的身体图像来创建用户的全身三维模型。而是为用户提供身高、体重、肩宽、臂长、臀围、腿长等身材各项数据的输入接口,用户通过这些输入接口手动输入自己的各项身材数据。终端接收用户输入的各项身材数据,根据各项身材数据来创建用户的全身三维模型。如通过图11中界面(A)中为用户提供的各项身材数据的输入接口接收用户输入的身材数据,用户输入身材数据时可以从界面(B)所示的数据选项中选择一个符合自己身材的数据,用户输入所有的身材数据之后,生成界面(C)所示的全身三维模型。
在本申请实施例中,创建出用户的全身三维模型之后,如果用户认为创建的全身三维模型存在于自己的真实身材不符的情况,也可以对全身三维模型进行调整。具体地,用户可以从终端提供的身材数据的输入接口中输入自己的真实的身材数据,终端接收用户输入的身材数据。根据该身材数据,修正用户的全身三维模型。
具体地,根据用户输入的身材数据及各人体属性对应的范围区间,确定该身材数据所属的范围区间。根据该身材数据所属的范围区间,确定该身材数据所属的属性类型。若该属性类型与已创建的全身三维模型中该身材数据所属的属性类型不同,则将全身三维模型中该身材数据对应的部位替换为该身材数据对应的属性类型。例如,假设根据用户输入的臂长确定出用户属于长臂类型,而之前创建的全身三维模型中臂长为中长类型。则将全身三维模型中的臂长修改为长臂类型。
在创建出用户的全身三维模型的过程中,还根据用户的脸部图像,生成用户的容貌报告。具体地,根据用户脸部的人脸关键点的坐标,计算用户的脸长、脸宽、颧弓宽度、中下庭的长度、中下庭比例等脸部分析数据。
脸型可以包括方型脸、娃娃脸、标准脸、长型脸等。本申请实施例预先设置了每种脸型对应的脸长范围、脸宽范围、颧弓宽度范围等脸部数据范围。根据计算出的用户的脸部分析数据及各种脸型对应的脸部数据范围,确定每项脸部分析数据所属的脸部数据范围。获取确定的脸部数据范围对应的脸型,将该脸型确定为该用户的脸型。
用户的容貌报告中即包括上述脸长、脸宽、颧弓宽度、中下庭的长度、中下庭比例等脸部分析数据,以及包括用户的脸型,并且包括总结的用户的容貌优势部分和待改善部分等。例如,容貌优势部分可以为颧弓宽度适中、中下庭比例协调等。待改善部分可以为眼睛较小、颧弓宽度过宽等。
终端展示用户的容貌报告,同时显示各种脸型的选择项。若用户对容貌报告中分析的自己的脸型不满意,则可以通过点击某个脸型的选择项进行更改。终端检测到用户点击某个脸型的选择项后,将全身三维模型及容貌报告中用户的脸型修改为用户选择的脸型。如图12中,界面(一)示出了用户的容貌报告,界面(二)中示出了脸长、脸宽、颧弓宽度、中下庭的长度、中下庭比例等脸部分析数据的选择项,用户可以通过这些选择项提交自己的脸部数据,以调整全身三维模型及容貌报告中自己的脸型。
本申请实施例中,在创建用户的全身三维身体模型的过程中,还根据用户的身材图像,生成用户的身材报告。具体地,预测出用户的各项人体属性,根据用户的各项人体属性,计算用户的身体质量指数、头身比等身材比例。以及根据用户的各项人体数据及各项身材比例,确定用户的身形。并根据用户的各项人体数据及各项身材比例,确定用户的体态加分项及待改善项。例如,体态加分项可以为腰细、腿长等。待改善项可以为小腿过粗、啤酒肚等。生成的用户的身材报告中即包括上述身体质量指数、头身比等身材比例、用户的身形、体态加分项及待改善项等。如图12中,界面(四)中示出了用户的身材报告。
在创建用户的全身三维身体模型的过程中,还根据用户的脸部图像和身材图像,生成用户的皮肤报告。通过目标检测算法从脸部图像和身材图像中检测出裸露的皮肤部分。对检测出的皮肤部分的颜色、亮度、纹理等进行分析,获得用户当前的肌肤状态、肌龄、肌肤性质、色斑、痘印、黑头、皱纹、肤色等,分析用户的皮肤加分项,并总结用户现阶段的护肤重点。其中,皮肤加分项可以为水油平衡、无皱纹、有光泽等。护肤重点可以为保湿、抗皱等。生成的用户的皮肤报告中即包括上述肌肤状态、肌龄、肌肤性质、色斑、痘印、黑头、皱纹、肤色、皮肤加分项及护肤重点等。如图12中,界面(三)中示出了用户的皮肤报告。
终端显示上述生成的容貌报告、身材报告及皮肤报告,全方位的展示出用户的各项身体数据。在查看这些报告时,用户可以将报告页面向上推起,浏览长报告;也可以选择将下方的报告部分隐藏,只展示全身三维模型的部分。
通过本申请实施例提供的方式创建出符合用户实际情况的全身三维模型之后,可以基于该全身三维模型进行在线试衣,以便用户选择自己喜欢的服饰。本申请实施例预先配置有预设服饰库,预设服饰库中包括大量服装、鞋子、配饰等服饰的服饰参数信息,服饰参数信息包括服饰的名称、三维图片、缩略图、尺寸数据等。例如,一件裙子对应的服饰参数信息包括该裙子的三维图片、缩略图以及裙长、胸围、袖长、码数等尺寸数据。
创建出用户的全身三维模型之后,还可以根据用户的脸部图像和身材图像,获取与用户匹配的服饰参数信息。具体地,通过上述各步骤根据用户的脸部图像和身材图像,获得用户的脸型、身形、胸围、腰围、臀围、头身比等身体数据之后,根据用户的这些身体数据及预设服饰库中每件服饰对应的服饰参数信息,从预设服饰库中获取与用户的身体匹配的服饰参数信息。将匹配的服饰参数信息推荐给用户。
具体地,计算用户的臂长、腿长、胸围、腰围、臀围、身高、体重等身体数据与服饰参数信息中包括的衣长、胸围、袖长、腰围等尺寸数据之间的匹配度,将匹配度大于预设阈值的服饰参数信息确定为与用户匹配的服饰参数信息。从匹配的服饰参数信息中获取服饰的缩略图,将这些服饰的缩略图显示给用户,以便用户从中挑选自己喜欢的服饰进行搭配试穿。
步骤104:根据全身三维模型和用户选择的服饰参数信息,生成试装效果图。
终端显示用户的全身三维模型的界面中包含试装接口,当检测到用户点击该试装接口时,跳转到试装界面,该试装界面中包括为用户推荐的多个服饰的缩略图。当终端检测到用户点击某个服饰的缩略图时,获取该缩略图对应的服饰参数信息。根据该服饰参数信息包括的服饰的三维图片及服饰的尺寸数据,将该服饰渲染到用户的全身三维模型上,得到该服饰对应的试装效果图。
在生成试装效果图的过程中,根据全身三维模型和服饰参数信息,生成服饰参数信息对应的装扮效果信息,显示该装扮效果信息。即根据全身三维模型和服饰参数信息,分析该服饰与用户的身体之间的匹配度及衣着效果。在显示该服饰对应的试装效果图的同时,还可以显示该服饰对应的匹配度、衣着效果、该服饰的名称、码数等装扮效果信息。
如图13中,界面(五)中包括多个服饰的缩略图,当用户点击某个缩略图之后,显示界面(六)所示的试装效果图、服饰的匹配度、衣着效果等。
本申请实施例根据用户的全身图像,识别出用户脸部及身体各处的关键点的坐标,并据此创建了用户的真人全身三维模型,能够根据用户真实的脸部特征、身材特征推荐适合用户的服饰。用户从推荐的服饰中挑选服饰进行试穿时,通过服饰的三维图片及尺寸数据,在用户的全身三维模型上完成服装或配饰的试穿,能够使试穿的服饰与用户的全身三维模型在高度和面部等方面吻合,避免生成的试装效果图中服饰歪斜变形的问题,提高了试装效果图的可参考性,为用户提供了更加贴合现实的虚拟试装体验。进一步地,本申请实施例还基于用户真实的脸部图像和身材图像,为用户生成了容貌报告、身材报告和皮肤报告,为用户的身体管理提供了精确的数据支持及专业的身体管理建议。
本申请实施例提供了一种虚拟换装装置,该装置用于执行上述实施例所述的虚拟换装装置方法,参见图14,该装置包括:
获取模块1401,用于获取用户的全身图像;
识别模块1402,用于从全身图像中识别出用户的人脸关键点的坐标和人体轮廓关键点的坐标;
创建模块1403,用于根据全身图像、人脸关键点的坐标和人体轮廓关键点的坐标,创建用户的全身三维模型;
生成模块1404,用于根据全身三维模型和用户选择的服饰参数信息,生成试装效果图。
创建模块1403,用于根据人脸关键点的坐标和全身图像包括的脸部图像,创建用户的脸部三维模型;根据人体轮廓关键点的坐标,创建用户的身材三维模型,获得用户的全身三维模型。
创建模块1403,具体用于根据全身图像包括的脸部图像,识别用户所属的性别类别和发型类别;根据用户对应的性别类别、发型类别和人脸关键点的坐标,创建用户的脸部三维模型;以及,用于根据人体轮廓关键点的坐标,预测用户的各项人体属性;根据各项人体属性和人体轮廓关键点的坐标,创建用户的身材三维模型。
该装置还包括:服饰推荐模块,用于根据全身图像,获取与用户匹配的服饰参数信息;将匹配的服饰参数信息推荐给用户。
该装置还包括:效果分析模块,用于根据全身三维模型和服饰参数信息,生成服饰参数信息对应的装扮效果信息;显示装扮效果信息。
该装置还包括:模型修正模块,用于接收用户输入的身材数据;根据身材数据,修正全身三维模型。
该装置还包括:报告生成模块,用于根据脸部图像,生成用户的容貌报告;根据身材图像,生成用户的身材报告;根据脸部图像和身材图像,生成用户的皮肤报告。
本申请的上述实施例提供的虚拟换装装置与本申请实施例提供的虚拟换装方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的虚拟换装方法对应的电子设备,以执行上虚拟换装方法。本申请实施例不做限定。
请参考图15,其示出了本申请的一些实施方式所提供的一种电子设备的示意图。如图15所示,所述电子设备2包括:处理器200,存储器201,总线202和通信接口203,所述处理器200、通信接口203和存储器201通过总线202连接;所述存储器201中存储有可在所述处理器200上运行的计算机程序,所述处理器200运行所述计算机程序时执行本申请前述任一实施方式所提供的虚拟换装方法。
其中,存储器201可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口203(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线202可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器201用于存储程序,所述处理器200在接收到执行指令后,执行所述程序,前述本申请实施例任一实施方式揭示的所述虚拟换装方法可以应用于处理器200中,或者由处理器200实现。
处理器200可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器200中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器200可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器201,处理器200读取存储器201中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的电子设备与本申请实施例提供的虚拟换装方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的虚拟换装方法对应的计算机可读存储介质,请参考图16,其示出的计算机可读存储介质为光盘30,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的虚拟换装方法。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的虚拟换装方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种虚拟换装方法,其特征在于,所述方法包括;
获取用户的全身图像;
从所述全身图像中识别出所述用户的人脸关键点的坐标和人体轮廓关键点的坐标;
根据所述全身图像、所述人脸关键点的坐标和所述人体轮廓关键点的坐标,创建所述用户的全身三维模型;
根据所述全身三维模型和所述用户选择的服饰参数信息,生成试装效果图。
2.根据权利要求1所述的方法,其特征在于,所述根据所述全身图像、所述人脸关键点的坐标和所述人体轮廓关键点的坐标,创建所述用户的全身三维模型,包括:
根据所述人脸关键点的坐标和所述全身图像包括的脸部图像,创建所述用户的脸部三维模型;
根据所述人体轮廓关键点的坐标,创建所述用户的身材三维模型,获得所述用户的全身三维模型。
3.根据权利要求2所述的方法,其特征在于,所述根据所述人脸关键点的坐标和所述全身图像包括的脸部图像,创建所述用户的脸部三维模型,包括:
根据所述全身图像包括的脸部图像,识别所述用户所属的性别类别和发型类别;
根据所述用户对应的所述性别类别、所述发型类别和所述人脸关键点的坐标,创建所述用户的脸部三维模型。
4.根据权利要求2所述的方法,其特征在于,所述根据所述人体轮廓关键点的坐标,创建所述用户的身材三维模型,包括:
根据所述人体轮廓关键点的坐标,预测所述用户的各项人体属性;
根据所述各项人体属性和所述人体轮廓关键点的坐标,创建所述用户的身材三维模型。
5.根据权利要求1所述的方法,其特征在于,所述根据所述全身三维模型和所述用户选择的服饰参数信息,生成试装效果图之前,还包括:
根据所述全身图像,获取与所述用户匹配的服饰参数信息;
将所述匹配的服饰参数信息推荐给所述用户。
6.根据权利要求1所述的方法,其特征在于,所述根据所述全身三维模型和所述用户选择的服饰参数信息,生成试装效果图之后,还包括:
根据所述全身三维模型和所述服饰参数信息,生成所述服饰参数信息对应的装扮效果信息;
显示所述装扮效果信息。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
接收用户输入的身材数据;
根据所述身材数据,修正所述全身三维模型。
8.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
根据所述全身图像包括的脸部图像,生成所述用户的容貌报告;
根据所述全身图像包括的身材图像,生成所述用户的身材报告;
根据所述脸部图像和所述身材图像,生成所述用户的皮肤报告。
9.一种虚拟换装装置,其特征在于,所述装置包括;
获取模块,用于获取用户的全身图像;
识别模块,用于从所述全身图像中识别出所述用户的人脸关键点的坐标和人体轮廓关键点的坐标;
创建模块,用于根据所述全身图像、所述人脸关键点的坐标和所述人体轮廓关键点的坐标,创建所述用户的全身三维模型;
生成模块,用于根据所述全身三维模型和所述用户选择的服饰参数信息,生成试装效果图。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序以实现如权利要求1-8任一项所述的方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行实现如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010874008.6A CN114119855A (zh) | 2020-08-26 | 2020-08-26 | 一种虚拟换装方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010874008.6A CN114119855A (zh) | 2020-08-26 | 2020-08-26 | 一种虚拟换装方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114119855A true CN114119855A (zh) | 2022-03-01 |
Family
ID=80374182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010874008.6A Pending CN114119855A (zh) | 2020-08-26 | 2020-08-26 | 一种虚拟换装方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114119855A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023226454A1 (zh) * | 2022-05-27 | 2023-11-30 | 阿里巴巴(中国)有限公司 | 商品信息处理方法、装置、终端设备及存储介质 |
CN117274504A (zh) * | 2023-11-17 | 2023-12-22 | 深圳市加推科技有限公司 | 智能名片的制作方法、智能销售系统及存储介质 |
-
2020
- 2020-08-26 CN CN202010874008.6A patent/CN114119855A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023226454A1 (zh) * | 2022-05-27 | 2023-11-30 | 阿里巴巴(中国)有限公司 | 商品信息处理方法、装置、终端设备及存储介质 |
CN117274504A (zh) * | 2023-11-17 | 2023-12-22 | 深圳市加推科技有限公司 | 智能名片的制作方法、智能销售系统及存储介质 |
CN117274504B (zh) * | 2023-11-17 | 2024-03-01 | 深圳市加推科技有限公司 | 智能名片的制作方法、智能销售系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3479296B1 (en) | System of virtual dressing utilizing image processing, machine learning, and computer vision | |
US11443480B2 (en) | Method and system for remote clothing selection | |
US11915352B2 (en) | Processing user selectable product images and facilitating visualization-assisted virtual dressing | |
Hong et al. | Interactive virtual try-on based three-dimensional garment block design for disabled people of scoliosis type | |
CN110096156B (zh) | 基于2d图像的虚拟换装方法 | |
US11640672B2 (en) | Method and system for wireless ultra-low footprint body scanning | |
KR100511210B1 (ko) | 의사 쓰리디 이미지 생성기법을 토대로 한 이용자 적응인공지능 토탈 코디네이션 방법과, 이를 이용한 서비스사업방법 | |
CN107111833B (zh) | 快速3d模型适配和人体测量 | |
EP3745352B1 (en) | Methods and systems for determining body measurements and providing clothing size recommendations | |
EP1240623B1 (en) | System and method for visualizing personal appearance | |
US10813715B1 (en) | Single image mobile device human body scanning and 3D model creation and analysis | |
US11798299B2 (en) | Methods and systems for generating 3D datasets to train deep learning networks for measurements estimation | |
US20200027244A1 (en) | Information processing apparatus, information processing method, and computer program product | |
WO2006071006A1 (en) | Method for converting 2d image into pseudo 3d image and user-adapted total coordination method in use artificial intelligence, and service business method thereof | |
CN114119855A (zh) | 一种虚拟换装方法、装置、电子设备及存储介质 | |
CN106651501A (zh) | 一种基于人体体征信息的服装匹配方法与系统 | |
Liu et al. | Toward realistic virtual try-on through landmark guided shape matching | |
Chi et al. | A study on segmentation and refinement of key human body parts by integrating manual measurements | |
KR102468306B1 (ko) | 신체 치수 측정 방법 및 장치 | |
Kuo et al. | Generating ambiguous figure-ground images | |
CN109393614B (zh) | 一种量体裁衣尺寸测量的系统 | |
KR20210130420A (ko) | 스마트 삼차원 의류 피팅 시스템 및 이를 이용한 의류 피팅 서비스 제공 방법 | |
US11721035B2 (en) | System and method of use of augmented reality in measuring body circumference for the use of apparel production | |
JP2005216094A (ja) | 試着シミュレーション方法 | |
CN115994994A (zh) | 虚拟试衣及试衣模型训练的方法、装置和设备 |
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 |