虚拟试穿的方法及装置与流程

文档序号:14292381阅读:407来源:国知局

本公开涉及图像处理技术领域,尤其涉及一种虚拟试穿的方法及装置。



背景技术:

消费者在购买服饰之前,通常会先进行试穿试戴用于获得穿戴效果。但是,这需要消费者前往用于售卖服饰的门店进行试穿试戴。而且,在门店进行试穿试戴时,可能需要对大量服饰进行试穿试戴,给消费者带来不便。随着图像处理技术的发展,可以使消费者不必再对实体服饰进行试穿试戴。但如何将虚拟服饰精准地叠加到人体图像上是目前需要解决的一个技术问题。



技术实现要素:

为克服相关技术中存在的问题,本公开实施例提供一种虚拟试穿的方法及装置,用以将虚拟服饰精准地叠加到人体图像上。

根据本公开实施例的第一方面,提供一种虚拟试穿的方法,包括:

对电子显示屏显示的人体图像进行图像分割,得到所述人体图像中与待试穿服饰类型相同的已穿戴服饰的第一区域;

基于待试穿服饰的第一图像对所述第一区域进行变形计算,得到所述人体图像中的待试穿服饰的第二区域;

基于所述第一图像的颜色分布,调整所述第二区域内的颜色分布,得到调整后的人体图像;所述调整后的人体图像中第二区域内的颜色分布与所述第一图像的颜色分布相同;

通过所述电子显示屏显示所述调整后的所述人体图像。

在一个实施例中,所述基于待试穿服饰的第一图像对所述第一区域进行变形计算,得到所述人体图像中的待试穿服饰的第二区域之前,还可包括:

确定所述第一区域的第一轮廓;

确定所述第一图像的第二轮廓;

确定所述第一轮廓与所述第二轮廓之间的第一匹配度是否符合预设条件;

当所述第一匹配度不符合所述预设条件时,所述基于待试穿服饰的第一图像对所述第一区域进行变形计算,得到所述人体图像中的待试穿服饰的第二区域,包括:

对所述第一区域进行变形计算,得到所述第二区域。

在一个实施例中,所述方法,还可包括:

当所述第一匹配度符合所述预设条件时,所述基于待试穿服饰的第一图像对所述第一区域进行变形计算,得到所述人体图像中的待试穿服饰的第二区域,包括:

保持所述第一轮廓的拓扑结构不变;

将所述第一区域确定为所述第二区域。

在一个实施例中,所述对所述第一区域进行变形计算,得到所述第二区域,可包括:

基于所述第二轮廓的拓扑结构,对所述第一轮廓的拓扑结构进行拓扑变换,得到调整后的第一轮廓;

确定调整后的第一轮廓与所述第二轮廓之间的第二匹配度是否符合所述预设条件;

当所述第二匹配度符合所述预设条件时,停止对所述第一轮廓的拓扑结构进行拓扑变换。

在一个实施例中,所述确定调整后的第一轮廓与所述第二轮廓之间的第二匹配度是否符合所述预设条件,可包括:

确定所述第二轮廓与调整后的第一轮廓之间的匹配误差是否小于预设阈值;

当所述匹配误差小于预设阈值时,确定所述第二匹配度符合所述预设条件;

当所述匹配误差大于或者等于所述预设阈值时,确定所述第二匹配度不符合所述预设条件。

根据本公开实施例的第二方面,提供一种虚拟试穿的装置,包括:

分割模块,被配置为对电子显示屏显示的人体图像进行图像分割,得到所述人体图像中与待试穿服饰类型相同的已穿戴服饰的第一区域;

处理模块,被配置为基于待试穿服饰的第一图像对所述第一区域进行变形计算,得到所述待试穿服饰的第二区域;

第一调整模块,被配置为基于所述第一图像的颜色分布,调整所述第二区域内的颜色分布,得到调整后的人体图像;所述调整后的人体图像中第二区域内的颜色分布与所述第一图像的颜色分布相同;

第一显示模块,被配置为通过所述电子显示屏显示所述调整后的所述人体图像。

在一个实施例中,所述装置,还可包括:

第一确定模块,被配置为确定所述第一区域的第一轮廓;

第二确定模块,被配置为确定所述第一图像的第二轮廓;

第三确定模块,被配置为确定所述第一轮廓与所述第二轮廓之间的第一匹配度是否符合预设条件;

所述处理模块,包括:

第一处理子模块,被配置为在所述第一匹配度不符合所述预设条件时,对所述第一区域进行变形计算,得到所述第二区域。

在一个实施例中,所述处理模块,还可包括:

第二处理子模块,被配置为保持所述第一轮廓的拓扑结构不变;

第一确定子模块,被配置为将所述第一区域确定为所述第二区域。

在一个实施例中,所述第一处理子模块,可包括:

变换子模块,被配置为基于所述第二轮廓的拓扑结构,对所述第一轮廓的拓扑结构进行拓扑变换,得到调整后的第一轮廓;

第二确定子模块,被配置为确定调整后的第一轮廓与所述第二轮廓之间的第二匹配度是否符合所述预设条件,并在所述第二匹配度符合所述预设条件时,触发所述变换子模块停止对所述第一轮廓的拓扑结构进行拓扑变换。

在一个实施例中,所述第二确定子模块,可包括:

第三确定子模块,被配置为确定所述第二轮廓与调整后的第一轮廓之间的匹配误差是否小于预设阈值;

第四确定子模块,被配置为在所述匹配误差小于预设阈值时,确定所述第二匹配度符合所述预设条件;

第五确定子模块,被配置为在所述匹配误差大于或者等于所述预设阈值时,确定所述第二匹配度不符合所述预设条件。

根据本公开实施例的第三方面,提供一种虚拟试穿的装置,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

对电子显示屏显示的人体图像进行图像分割,得到所述人体图像中与待试穿服饰类型相同的已穿戴服饰的第一区域;

基于待试穿服饰的第一图像对所述第一区域进行变形计算,得到所述待试穿服饰的第二区域;

基于所述第一图像的颜色分布,调整所述第二区域内的颜色分布,得到调整后的人体图像;所述调整后的人体图像中第二区域内的颜色分布与所述第一图像的颜色分布相同;

通过所述电子显示屏显示所述调整后的所述人体图像。

根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:

对电子显示屏显示的人体图像进行图像分割,得到所述人体图像中与待试穿服饰类型相同的已穿戴服饰的第一区域;

基于待试穿服饰的第一图像对所述第一区域进行变形计算,得到所述待试穿服饰的第二区域;

基于所述第一图像的颜色分布,调整所述第二区域内的颜色分布,得到调整后的人体图像;所述调整后的人体图像中第二区域内的颜色分布与所述第一图像的颜色分布相同;

通过所述电子显示屏显示所述调整后的所述人体图像。

本公开的实施例提供的技术方案可以包括以下有益效果:通过对电子显示屏显示的人体图像进行图像分割,得到所述人体图像中与待试穿服饰类型相同的已穿戴服饰的第一区域,基于待试穿服饰的第一图像对所述第一区域进行变形计算,得到所述人体图像中的待试穿服饰的第二区域,再基于所述第一图像的颜色分布,调整所述第二区域内的颜色分布,得到调整后的人体图像,其中,所述调整后的人体图像中第二区域内的颜色分布与所述第一图像的颜色分布相同,最后,通过所述电子显示屏显示所述调整后的所述人体图像,所述调整后的所述人体图像即为试穿图像。通过图像分割的方法从人体图像中得到与待试穿服饰类型相同的已穿戴服饰的第一区域,基于已穿戴服饰的第一区域得到所述待试穿服饰的第二区域,这样,可以准确地定位待试穿服饰叠加于人体图像的位置,进而可以将虚拟服饰精准地叠加到人体图像上。

根据本公开实施例的第五方面,提供一种虚拟试穿的方法,包括:

确定电子显示屏显示的人体图像中的人体轮廓;

确定所述人体轮廓中与待试穿服饰的类型对应的身体部位;

根据预设规则将所述待试穿服饰的图像叠加到所述身体部位上,得到合成图像;

通过所述电子显示屏显示所述合成图像。

在一个实施例中,所述确定所述人体轮廓中与待试穿服饰的类型对应的身体部位,可包括:

确定所述待试穿服饰的类型;

确定与所述待试穿服饰的类型对应的身体部位;

基于所述身体部位的特征从所述人体轮廓中确定所述身体部位。

在一个实施例中,所述将所述待试穿服饰的图像叠加到所述身体部位上,得到合成图像之后,还可包括:

如果确定所述合成图像中所述待试穿服饰的第三区域未覆盖所述身体部位的已佩戴服饰的第四区域,则确定所述第四区域中未被所述第三区域覆盖的第五区域;

确定所述第五区域与背景区域的边界;

基于所述背景区域沿所述边界的颜色分布,调整所述第五区域的颜色分布,得到调整后的所述合成图像;调整后的所述合成图像中所述第五区域的颜色分布与所述背景区域沿所述边界的颜色分布相同。

根据本公开实施例的第六方面,提供一种虚拟试穿的装置,包括:

第四确定模块,被配置为确定电子显示屏显示的人体图像中的人体轮廓;

第五确定模块,被配置为确定所述人体轮廓中与待试穿服饰的类型对应的身体部位;

合成模块,被配置为根据预设规则将所述待试穿服饰的图像叠加到所述身体部位上,得到合成图像;

第二显示模块,被配置为通过所述电子显示屏显示所述合成图像。

在一个实施例中,所述第五确定模块,可包括:

第六确定子模块,被配置为确定所述待试穿服饰的类型;

第七确定子模块,被配置为确定与所述待试穿服饰的类型对应的身体部位;

第八确定子模块,被配置为基于所述身体部位的特征从所述人体轮廓中确定所述身体部位。

在一个实施例中,所述装置,还可包括:

第六确定模块,被配置为在确定所述合成图像中所述待试穿服饰的第三区域未覆盖所述身体部位的已佩戴服饰的第四区域时,确定所述第四区域中未被所述第三区域覆盖的第五区域;

第七确定模块,被配置为确定所述第五区域与背景区域的边界;

第二调整模块,被配置为基于所述背景区域沿所述边界的颜色分布,调整所述第五区域的颜色分布,得到调整后的所述合成图像;调整后的所述合成图像中所述第五区域的颜色分布与所述背景区域沿所述边界的颜色分布相同。

根据本公开实施例的第七方面,提供一种虚拟试穿的装置,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

确定电子显示屏显示的人体图像中的人体轮廓;

确定所述人体轮廓中与待试穿服饰的类型对应的身体部位;

根据预设规则将所述待试穿服饰的图像叠加到所述身体部位上,得到合成图像;

通过所述电子显示屏显示所述合成图像。

根据本公开实施例的第八方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:

确定电子显示屏显示的人体图像中的人体轮廓;

确定所述人体轮廓中与待试穿服饰的类型对应的身体部位;

根据预设规则将所述待试穿服饰的图像叠加到所述身体部位上,得到合成图像;

通过所述电子显示屏显示所述合成图像。

本公开的实施例提供的技术方案可以包括以下有益效果:通过确定电子显示屏显示的人体图像中的人体轮廓,并确定所述人体轮廓中与待试穿服饰的类型对应的身体部位,并根据预设规则将所述待试穿服饰的图像叠加到所述身体部位上,得到合成图像,最后,通过所述电子显示屏显示所述合成图像。通过人体图像中的人体轮廓确定所述人体轮廓中与待试穿服饰的类型对应的身体部位,这样,可以准确地定位待试穿服饰叠加于人体图像的位置,进而可以将虚拟服饰精准地叠加到人体图像上。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1a是根据一示例性实施例示出的虚拟试穿的方法的流程图。

图1b~图1d是根据一示例性场景示出的虚拟试穿的方法的场景图。

图1e~图1g是根据另一示例性场景示出的虚拟试穿的方法的场景图。

图2是根据一示例性实施例一示出的虚拟试穿的方法的流程图。

图3是根据一示例性实施例一示出的变形计算的流程图。

图4a是根据一示例性示出的虚拟试穿的方法的流程图。

图4b是根据一示例性场景示出的虚拟试穿的方法的场景图。

图5是根据一示例性实施例二示出的虚拟试穿的方法的流程图。

图6a是根据一示例性实施例示出的一种虚拟试穿的装置的框图。

图6b是根据一示例性实施例示出的一种虚拟试穿的装置的框图。

图6c是根据一示例性实施例示出的一种虚拟试穿的装置的框图。

图6d是根据一示例性实施例示出的一种虚拟试穿的装置的框图。

图7a是根据一示例性实施例示出的一种虚拟试穿的装置的框图。

图7b是根据一示例性实施例示出的一种虚拟试穿的装置的框图。

图7c是根据一示例性实施例示出的一种虚拟试穿的装置的框图。

图8是根据一示例性实施例示出的一种虚拟试穿的装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

图1a是根据一示例性实施例示出的虚拟试穿的方法的流程图,图1b~图1d是根据一示例性场景示出的虚拟试穿的方法的场景图,图1e~图1g是根据另一示例性场景示出的虚拟试穿的方法的场景图。该虚拟试穿的方法可以应用在终端设备(例如:智能手机、平板电脑、计算机)上,如图1a所示,该虚拟试穿的方法包括以下步骤s101-s104:

在步骤s101中,对电子显示屏显示的人体图像进行图像分割,得到所述人体图像中与待试穿服饰类型相同的已穿戴服饰的第一区域。

在本实施例中,可以根据待试穿服饰类型对在先获取的、电子显示屏显示的人体图像进行图像分割,得到人体图像中与待试穿服饰类型相同的已穿戴服饰的区域作为第一区域。其中,待试穿服饰类型可以是上衣、裤子、帽子、眼镜、鞋子、手套、手表、戒指、项链等。如果消费者要试穿的是上衣,则可以对电子显示屏显示的人体图像进行图像分割,得到所述人体图像中上衣的区域作为第一区域。

在本实施例中,在进行图像分割时,可以采用并行边界分割方法、串行边界分割方法、并行区域分割方法以及串行区域分割方法,还可以采用基于神经网络(例如全卷积网络(fcn))的图像分割方法、基于聚类的图像分割方法以及基于小波变换的图像分割方法等。当然,在实际应用时,对人体图像进行分割的方法不局限于本公开实施例提供的图像分割方法。

在一个实施性场景中,当消费者在服饰店相中一款服饰后,如果不便对实体服饰进行试穿,则可以使用服饰店中安装的虚拟试穿装置。该虚拟试穿装置可以包括电子显示屏、设置在电子显示屏上的摄像装置、存储装置以及处理装置。电子显示屏的尺寸可采用试衣镜的尺寸,按照试衣镜的摆放方式进行摆放,即该电子显示屏可以作为电子试衣镜,用于在处理装置的控制下显示摄像装置采集的人体图像或者处理器得到的虚拟试穿图像。上述的摄像装置可以设置在电子显示屏的顶部,用于采集消费者的人体图像。摄像装置的摄像角度可以自动或者手动调节。存储装置可以用于存储服饰店家进行售卖的服饰的图像。处理装置用于对摄像装置采集的人体图像以及消费者确定的待试穿服饰的图像进行处理,得到虚拟试穿图像,并控制电子显示屏显示虚拟试穿图像。

在上述的实施性场景中,在消费者进行虚拟试衣过程中,先采用摄像装置采集一张消费者的当前的、正面的、未佩戴待试穿服饰的人体图像,并通过电子显示屏显示上述的人体图像。这样,消费者可以在电子显示屏中看到当前未佩戴待试穿服饰的人体图像。接着,处理装置可以对电子显示屏显示的人体图像进行图像分割,得到人体图像中与待试穿服饰类型相同的已穿戴服饰的第一区域。例如,如果待试穿服饰类型为上衣,则对电子显示屏显示的人体图像进行图像分割,得到人体图像中上衣的区域作为第一区域;如果待试穿服饰类型为裤子,则对电子显示屏显示的人体图像进行图像分割,得到人体图像中裤子的区域作为第一区域。

继续上述的实施性场景,如图1b所示,电子显示屏显示的人体图像为人体图像11,待试穿服饰类型为上衣,处理装置对所述人体图像11进行图像分割,得到人体图像11中与已穿戴的上衣的区域12作为第一区域。

在步骤s102中,基于待试穿服饰的第一图像对所述第一区域进行变形计算,得到所述人体图像中的待试穿服饰的第二区域。

在本实施例中,当确定待试穿服饰后,可以基于待试穿服饰确定待试穿服饰的图像作为第一图像。当确定待试穿服饰的第一图像后,可以采用变形模型技术,对上述已穿戴服饰的第一区域进行变形计算,在人体图像中得到待试穿服饰的第二区域。

在本实施例中,可以采用能量最小化变形模型、动态可变形模型、参数活动轮廓模型、改进的snake模型、几何活动轮廓模型以及基于超二次曲面的变形模型对第一区域进行变形计算,得到所述待试穿服饰的第二区域。

继续上述的实施性场景,消费者确定的待试穿服饰为上衣,存储装置中存储的上述的上衣的图像为第一图像13,如图1c所示。处理装置如果确定第一区域的第一轮廓与第一图像13中上衣的第二轮廓之间的第一匹配度不符合预设条件,则对所述第一区域进行变形计算,得到上衣的第二区域。处理装置如果确定上述的第一匹配度符合预设条件,则保持所述第一轮廓的拓扑结构不变,并将第一区域确定为第二区域。也就是,处理装置如果确定待试穿服饰与已穿戴服饰的款式不同,则对所述已穿戴服饰的第一区域进行变形计算,得到待试穿服饰的第二区域。处理装置如果确定待试穿服饰与已穿戴服饰的款式相同,则保持所述已穿戴服饰的第一区域不变,并将已穿戴服饰的第一区域确定为待试穿服饰的第二区域。

在步骤s103中,基于所述第一图像的颜色分布,调整所述第二区域内的颜色分布,得到调整后的人体图像;所述调整后的人体图像中第二区域内的颜色分布与所述第一图像的颜色分布相同。

在本实施例中,待试穿服饰的第一图像中的颜色分布与已穿戴服饰的颜色分布很可能不同,所以,基于第一图像的颜色分布调整第二区域内的颜色分布,以得到调整后的人体图像。在调整第二区域内的颜色分布时,可以根据图像采用的颜色模式对第二区域内的颜色分布进行调整。例如,如果图像采用色相、饱和度、明度来描述颜色,则通过调整第二区域内的色相、饱和度、明度来调整所述第二区域内的颜色分布,得到调整后的人体图像。

继续上述的实施性场景,基于第一图像13的颜色分布调整所述第二区域内的颜色分布,得到调整后的人体图像如图1d所示。

在步骤s104中,通过所述电子显示屏显示所述调整后的所述人体图像。

在本实施例中,通过电子显示屏显示上述调整后的人体图像,实现了自动换装,可以使消费者不必试穿实体服饰就可以看到试穿的效果。而且,通过对人体图像中与待试穿服饰类型相同的已穿戴服饰的第一区域进行变形计算得到待试穿服饰的第二区域,可以精确地将待试穿服饰的图像叠加到人体图像上的对应部位,有利于提升虚拟试穿的效果。

在另一个示例性场景中,如图1e~1g所示,待试穿服饰的第一图像可以通过如下方式获得:获取一幅模特穿戴所述待试穿服饰时的第二人体图像14;对所述第二人体图像14进行图像分割,得到所述待试穿服饰的第六区域15;将所述待试穿服饰的第六区域15提取出来,得到所述待试穿服饰的图像16。这样,基于待试穿服饰的图像16利用上述的虚拟试穿方法得到的调整后的人体图像如图1g所示,试穿效果更加逼真。

本实施例中,通过对电子显示屏显示的人体图像进行图像分割,得到所述人体图像中与待试穿服饰类型相同的已穿戴服饰的第一区域,基于待试穿服饰的第一图像对所述第一区域进行变形计算,得到所述人体图像中的待试穿服饰的第二区域,再基于所述第一图像的颜色分布,调整所述第二区域内的颜色分布,得到调整后的人体图像,其中,所述调整后的人体图像中第二区域内的颜色分布与所述第一图像的颜色分布相同,最后,通过所述电子显示屏显示所述调整后的所述人体图像,所述调整后的所述人体图像即为试穿图像。通过图像分割的方法从人体图像中得到与待试穿服饰类型相同的已穿戴服饰的第一区域,基于已穿戴服饰的第一区域得到所述待试穿服饰的第二区域,这样,可以准确地定位待试穿服饰叠加于人体图像的位置,进而可以将虚拟服饰精准地叠加到人体图像上。

在一个实施例中,所述基于待试穿服饰的第一图像对所述第一区域进行变形计算,得到所述人体图像中的待试穿服饰的第二区域之前,还可包括:

确定所述第一区域的第一轮廓;

确定所述第一图像的第二轮廓;

确定所述第一轮廓与所述第二轮廓之间的第一匹配度是否符合预设条件;

当所述第一匹配度不符合所述预设条件时,所述基于待试穿服饰的第一图像对所述第一区域进行变形计算,得到所述人体图像中的待试穿服饰的第二区域,包括:

对所述第一区域进行变形计算,得到所述第二区域。

在一个实施例中,所述方法,还可包括:

当所述第一匹配度符合所述预设条件时,所述基于待试穿服饰的第一图像对所述第一区域进行变形计算,得到所述人体图像中的待试穿服饰的第二区域,包括:

保持所述第一轮廓的拓扑结构不变;

将所述第一区域确定为所述第二区域。

在一个实施例中,所述对所述第一区域进行变形计算,得到所述第二区域,可包括:

基于所述第二轮廓的拓扑结构,对所述第一轮廓的拓扑结构进行拓扑变换,得到调整后的第一轮廓;

确定调整后的第一轮廓与所述第二轮廓之间的第二匹配度是否符合所述预设条件;

当所述第二匹配度符合所述预设条件时,停止对所述第一轮廓的拓扑结构进行拓扑变换。

在一个实施例中,所述确定调整后的第一轮廓与所述第二轮廓之间的第二匹配度是否符合所述预设条件,可包括:

确定所述第二轮廓与调整后的第一轮廓之间的匹配误差是否小于预设阈值;

当所述匹配误差小于预设阈值时,确定所述第二匹配度符合所述预设条件;

当所述匹配误差大于或者等于所述预设阈值时,确定所述第二匹配度不符合所述预设条件。

具体如何实现虚拟试穿的,请参考后续实施例。

至此,本公开实施例提供的上述方法,可以通过图像分割的方法从人体图像中得到与待试穿服饰类型相同的已穿戴服饰的第一区域,基于已穿戴服饰的第一区域得到所述待试穿服饰的第二区域,这样,可以准确地定位待试穿服饰叠加于人体图像的位置,进而可以将虚拟服饰精准地叠加到人体图像上,使虚拟试穿效果更加逼真。

下面以具体实施例来说明本公开实施例提供的技术方案。

图2是根据一示例性实施例一示出的虚拟试穿的方法的流程图;图3是根据一示例性实施例一示出的变形计算的流程图;本实施例利用本公开实施例提供的上述方法,以对第一区域进行变形计算为例进行示例性说明,如图2所示,包括如下步骤:

在步骤s201中,对电子显示屏显示的人体图像进行图像分割,得到所述人体图像中与待试穿服饰类型相同的已穿戴服饰的第一区域。

本实施例中的步骤s201与图1a所示的步骤s101相似,在此不再赘述。

在步骤s202中,确定所述第一区域的第一轮廓。

在本实施例中,是确定第一区域的外轮廓作为第一轮廓,也就是确定人体图像中已穿戴服饰的外轮廓。在确定第一区域的外轮廓时,可以先对第一区域进行填洞操作、膨胀操作,避免将第一区域内的孔、洞等的边缘也提取出来。

在步骤s203中,确定所述第一图像的第二轮廓。

在本实施例中,是确定第一图像的外轮廓作为第二轮廓,也就是确定待试穿服饰的外轮廓作为第二轮廓。本实施例中,确定第二轮廓的方法与确定第一轮廓的方法相似,在此不再赘述。

在步骤s204中,确定所述第一轮廓与所述第二轮廓之间的第一匹配度是否符合预设条件。当所述第一匹配度不符合所述预设条件时,执行步骤s205,当所述第一匹配度符合所述预设条件时,执行步骤s206。

在本实施例中,可以确定通过所述第一轮廓与所述第二轮廓之间的匹配误差是否小于预设阈值来确定所述第一轮廓与所述第二轮廓之间的第一匹配度是否符合预设条件。其中,当所述第一轮廓与所述第二轮廓之间的匹配误差小于预设阈值时,确定所述第一匹配度符合预设条件,当所述第一轮廓与所述第二轮廓之间的匹配误差大于或者等于预设阈值时,确定所述第一匹配度不符合预设条件。

在步骤s205中,对所述第一区域进行变形计算,得到所述第二区域。

在本实施例中,如图3所示,可以通过如下步骤对所述第一区域进行变形计算,得到所述第二区域:

在步骤s301中,基于所述第二轮廓的拓扑结构,对所述第一轮廓的拓扑结构进行拓扑变换,得到调整后的第一轮廓。在一个示例性实施例中,可以采用强约束t-snake模型,以第二轮廓的拓扑结构为目标图像边缘,对第一轮廓的拓扑结构进行拓扑变换,得到调整后的第一轮廓。当然,也可以采用其他模型进行拓扑变换,在此不作限制。

在步骤s302中,确定调整后的第一轮廓与第二轮廓之间的第二匹配度是否符合所述预设条件。在本实施例中,可以通过确定所述第二轮廓与调整后的第一轮廓之间的匹配误差是否小于预设阈值来确定第二匹配度是否符合所述预设条件。其中,当所述第二轮廓与调整后的第一轮廓之间的匹配误差小于预设阈值时,确定所述第二匹配度符合所述预设条件,当所述第二轮廓与调整后的第一轮廓之间的匹配误差大于或者等于所述预设阈值时,确定所述第二匹配度不符合所述预设条件。

在步骤s303中,当确定所述第二匹配度符合所述预设条件时,停止对所述第一轮廓的拓扑结构进行拓扑变换。

在本实施例中,当停止拓扑变换后,第一轮廓的拓扑结构与第二轮廓的拓扑结构相匹配,可以将拓扑变换后第一轮廓的拓扑结构所圈的区域确定为第二区域。

在步骤s206中,保持所述第一轮廓的拓扑结构不变。

在步骤s207中,将所述第一区域确定为所述第二区域。

在一个实施例中,如果确定所述第一轮廓与所述第二轮廓之间的第一匹配度符合预设条件,即待试穿服饰与已穿戴服饰款式相同,则可以保持所述第一轮廓的拓扑结构不变,并将所述第一区域确定为所述第二区域。

在步骤s208中,基于所述第一图像的颜色分布,调整所述第二区域内的颜色分布,得到调整后的人体图像;所述调整后的人体图像中第二区域内的颜色分布与所述第一图像的颜色分布相同。

在步骤s209中,通过所述电子显示屏显示所述调整后的所述人体图像。

本实施例中的步骤s208~s209与图1a所示的步骤s103~s104相似,在此不再赘述。

本实施例中,通过对比已穿戴服饰的外轮廓与待试穿服饰的外轮廓来确定是否对已穿戴服饰的区域进行变形计算,当已穿戴服饰的外轮廓与待试穿服饰的外轮廓相匹配时,可以保持已穿戴服饰的外轮廓不变,这样,可以减少图像处理时间,进而缩减虚拟试穿的时间,提高自动换装的实时性。

图4a是根据一示例性示出的虚拟试穿的方法的流程图;图4b是根据一示例性场景示出的虚拟试穿的方法的场景图。该虚拟试穿的方法可以应用在终端设备(例如:智能手机、平板电脑、计算机)上,如图4a所示,包括如下步骤:

在步骤s401中,确定电子显示屏显示的人体图像中的人体轮廓。

在本实施例中,可以对电子显示屏显示的人体图像进行人体轮廓提取,得到人体图像中的人体轮廓。

在步骤s402中,确定所述人体轮廓中与待试穿服饰的类型对应的身体部位。

在本实施例中,可以根据待试穿服饰的类型对应的身体部位以及身体部位的特征,确定人体轮廓中与待试穿服饰的类型对应的身体部位。在一个示例性实施例中,可以采用神经网络以及待试穿服饰的类型对应的身体部位的特征,确定人体轮廓中与待试穿服饰的类型对应的身体部位。当然,也可以采用其他方法确定所述人体轮廓中与待试穿服饰的类型对应的身体部位,本公开实施例对此不作限制。

在步骤s403中,根据预设规则将所述待试穿服饰的图像叠加到所述身体部位上,得到合成图像。

在一个示例性实施例中,如图1e~1g所示,待试穿服饰的图像可以通过如下方式可以获得:获取一幅模特穿戴所述待试穿服饰时的第二人体图像14;对所述第二人体图像14进行图像分割,得到所述待试穿服饰的第六区域15;将所述待试穿服饰的第六区域15提取出来,得到所述待试穿服饰的图像16。当然,待试穿服饰的图像可以通过其他方式获得,本公开实施例对此不作限制。

在一个示例性实施例中,预设规则可以是:待试穿服饰的图像的顶部中点与所述身体部位的上端中点重合。在本实施例性实施例中,根据上述的预设规则将所述待试穿服饰的图像叠加到所述身体部位上,得到合成图像。

在上述的示例性实施例中,电子显示屏显示的人体图像如图1b所示,待试穿服饰的类型为上衣,确定的所述人体轮廓中与待试穿服饰的类型对应的身体部位为上身,待试穿服饰的图像如图1f所示。那么,按照上述的预设规则将图1f所示的待试穿服饰的图像叠加到如图1b所示的人体图像中的身体部位上,可以得到的合成图像如图4b所示。这样,可以避免待试穿服饰不恰当地、或者过度地覆盖人体图像中的已穿戴服饰,进而可以提升虚拟试穿时待试穿服饰与人体图像中的已穿戴服饰之间的搭配效果,提升虚拟试穿的质量。

在步骤s404中,通过所述电子显示屏显示所述合成图像。

在本实施例中,通过所述电子显示屏显示所述合成图像,实现了自动换装,可以使消费者不必试穿实体服饰就可以看到试穿的效果。而且,将待试穿服饰的图像叠加到所述身体部位上,得到合成图像,处理逻辑简单,可以减少图像处理时间,进而缩减虚拟试穿的时间,提高自动换装的实时性。

在一个实施例中,所述确定所述人体轮廓中与待试穿服饰的类型对应的身体部位,可包括:

确定所述待试穿服饰的类型;

确定与所述待试穿服饰的类型对应的身体部位;

基于所述身体部位的特征从所述人体轮廓中确定所述身体部位。

在一个实施例中,所述将所述待试穿服饰的图像叠加到所述身体部位上,得到合成图像之后,还可包括:

如果确定所述合成图像中所述待试穿服饰的第三区域未覆盖所述身体部位的已佩戴服饰的第四区域,则确定所述第四区域中未被所述第三区域覆盖的第五区域;

确定所述第五区域与背景区域的边界;

基于所述背景区域沿所述边界的颜色分布,调整所述第五区域的颜色分布,得到调整后的所述合成图像;调整后的所述合成图像中所述第五区域的颜色分布与所述背景区域沿所述边界的颜色分布相同。

图5是根据一示例性实施例二示出的虚拟试穿的方法的流程图;本实施例利用本公开实施例提供的上述方法,以对合成图像进行后处理为例进行示例性说明,如图5所示,包括如下步骤:

在步骤s501中,确定电子显示屏显示的人体图像中的人体轮廓。

本实施例中的步骤s501与图4a所示的步骤s401相似,在此不再赘述。

在步骤s502中,确定所述人体轮廓中与待试穿服饰的类型对应的身体部位。

在本实施例中,可以通过如下方式确定所述人体轮廓中与待试穿服饰的类型对应的身体部位:

首先,确定所述待试穿服饰的类型。待试穿服饰类型可以是上衣、裤子、帽子、眼镜、鞋子、手套、手表、戒指、项链等。确定所述待试穿服饰的类型可以通过先确定消费者选中的待试穿服饰,再根据消费者选中的待试穿服饰确定对应的待试穿服饰的类型。例如,如果消费者要试穿的是上衣,则确定所述待试穿服饰的类型为上衣。

接着,确定与所述待试穿服饰的类型对应的身体部位。在一个实施例中,可以根据预先存储的待试穿服饰的类型与对应的身体部位之间的关联关系,例如,电子表格,确定与所述待试穿服饰的类型对应的身体部位。当然,还可以采用其他方式确定与所述待试穿服饰的类型对应的身体部位,本公开实施例对此不作限定。

最后,基于所述身体部位的特征从所述人体轮廓中确定所述身体部位。在一个实施例中,可以采用神经网络与所述身体部位的特征从所述人体轮廓中确定所述身体部位。当然,还可以采用其他方式基于所述身体部位的特征从所述人体轮廓中确定所述身体部位,本公开实施例对此不作限定。

在步骤s503中,根据预设规则将所述待试穿服饰的图像叠加到所述身体部位上,得到合成图像。

在步骤s504中,通过所述电子显示屏显示所述合成图像。

本实施例中的步骤s503~s504与图4a所示的步骤s403~s404相似,在此不再赘述。

在步骤s505中,如果确定所述合成图像中所述待试穿服饰的第三区域未覆盖所述身体部位的已佩戴服饰的第四区域,则确定所述第四区域中未被所述第三区域覆盖的第五区域。

在一个实施例中,首先,在上述的合成图像中确定待试穿服饰的第三区域以及所述身体部位的原本已佩戴服饰的第四区域。接着,确定第三区域的外轮廓以及第四区域的外轮廓。接着,确定第三区域的外轮廓是否全部位于第四区域的外轮廓之外,若否,则将位于第四区域的外轮廓之内第三区域的外轮廓与第四区域的外轮廓之间的区域确定为所述第四区域中未被所述第三区域覆盖的第五区域。当然,也可以通过其他方式确定上述的第五区域,本公开实施例对此不作限制。

在步骤s506中,确定所述第五区域与背景区域的边界。

在一个实施例中,可以将构成第五区域的轮廓中属于第四区域的外轮廓确定为第五区域与背景区域的边界。当然,也可以采用其他方式确定所述第五区域与背景区域的边界,本公开实施例对此不作限制。

在步骤s507中,基于所述背景区域沿所述边界的颜色分布,调整所述第五区域的颜色分布,得到调整后的所述合成图像;调整后的所述合成图像中所述第五区域的颜色分布与所述背景区域沿所述边界的颜色分布相同。

在一个实施例中,可以基于所述背景区域沿所述边界的颜色分布,调整所述第五区域的颜色分布,得到调整后的所述合成图像,以使得调整后的所述合成图像中所述第五区域的颜色分布与所述背景区域沿所述边界的颜色分布相同。这样,即使消费者身着比较宽松、肥大的衣服,也可以试穿修身的服饰,扩展了虚拟试穿的应用场景。

本实施例中,当虚拟试穿的衣服的图像叠加到人体图像中后,如果上述待试穿服饰的区域未覆盖所述身体部位的已佩戴服饰的区域,可以对已佩戴服饰的区域中未被待试穿服饰的区域覆盖的区域填充背景色,优化虚拟试穿的效果。而且,在本实施例中,即使消费者身着比较宽松、肥大的衣服,也可以试穿修身的服饰,扩展了虚拟试穿的应用场景。

图6a是根据一示例性实施例示出的一种虚拟试穿的装置的框图,如图6a所示,虚拟试穿的装置包括:

分割模块61,被配置为对电子显示屏显示的人体图像进行图像分割,得到所述人体图像中与待试穿服饰类型相同的已穿戴服饰的第一区域;

处理模块62,被配置为基于待试穿服饰的第一图像对所述第一区域进行变形计算,得到所述待试穿服饰的第二区域;

第一调整模块63,被配置为基于所述第一图像的颜色分布,调整所述第二区域内的颜色分布,得到调整后的人体图像;所述调整后的人体图像中第二区域内的颜色分布与所述第一图像的颜色分布相同;

第一显示模块64,被配置为通过所述电子显示屏显示所述调整后的所述人体图像。

图6b是根据一示例性实施例示出的一种虚拟试穿的装置的框图,如图6b所示,虚拟试穿的装置,还包括:

第一确定模块65,被配置为确定所述第一区域的第一轮廓;

第二确定模块66,被配置为确定所述第一图像的第二轮廓;

第三确定模块67,被配置为确定所述第一轮廓与所述第二轮廓之间的第一匹配度是否符合预设条件;

所述处理模块62,包括:

第一处理子模块621,被配置为在所述第一匹配度不符合所述预设条件时,对所述第一区域进行变形计算,得到所述第二区域。

第二处理子模块622,被配置为保持所述第一轮廓的拓扑结构不变;

第一确定子模块623,被配置为将所述第一区域确定为所述第二区域。

图6c是根据一示例性实施例示出的一种虚拟试穿的装置的框图,如图6c所示,所述第一处理子模块621,包括:

变换子模块624,被配置为基于所述第二轮廓的拓扑结构,对所述第一轮廓的拓扑结构进行拓扑变换,得到调整后的第一轮廓;

第二确定子模块625,被配置为确定调整后的第一轮廓与所述第二轮廓之间的第二匹配度是否符合所述预设条件,并在所述第二匹配度符合所述预设条件时,触发所述变换子模块停止对所述第一轮廓的拓扑结构进行拓扑变换。

图6d是根据一示例性实施例示出的一种虚拟试穿的装置的框图,如图6d所示,所述第二确定子模块625,包括:

第三确定子模块626,被配置为确定所述第二轮廓与调整后的第一轮廓之间的匹配误差是否小于预设阈值;

第四确定子模块627,被配置为在所述匹配误差小于预设阈值时,确定所述第二匹配度符合所述预设条件;

第五确定子模块628,被配置为在所述匹配误差大于或者等于所述预设阈值时,确定所述第二匹配度不符合所述预设条件。

图7a是根据一示例性实施例示出的一种虚拟试穿的装置的框图,如图7a所示,虚拟试穿的装置包括:

第四确定模块71,被配置为确定电子显示屏显示的人体图像中的人体轮廓;

第五确定模块72,被配置为确定所述人体轮廓中与待试穿服饰的类型对应的身体部位;

合成模块73,被配置为根据预设规则将所述待试穿服饰的图像叠加到所述身体部位上,得到合成图像;

第二显示模块74,被配置为通过所述电子显示屏显示所述合成图像。

图7b是根据一示例性实施例示出的一种虚拟试穿的装置的框图,如图7b所示,所述第五确定模块72,包括:

第六确定子模块721,被配置为确定所述待试穿服饰的类型;

第七确定子模块722,被配置为确定与所述待试穿服饰的类型对应的身体部位;

第八确定子模块723,被配置为基于所述身体部位的特征从所述人体轮廓中确定所述身体部位。

图7c是根据一示例性实施例示出的一种虚拟试穿的装置的框图,如图7c所示,虚拟试穿的装置,还包括:

第六确定模块75,被配置为在确定所述合成图像中所述待试穿服饰的第三区域未覆盖所述身体部位的已佩戴服饰的第四区域时,确定所述第四区域中未被所述第三区域覆盖的第五区域;

第七确定模块76,被配置为确定所述第五区域与背景区域的边界;

第二调整模块77,被配置为基于所述背景区域沿所述边界的颜色分布,调整所述第五区域的颜色分布,得到调整后的所述合成图像;调整后的所述合成图像中所述第五区域的颜色分布与所述背景区域沿所述边界的颜色分布相同。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

图8是根据一示例性实施例示出的一种虚拟试穿的装置的框图。例如,装置1000可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图8,装置1000可以包括以下一个或多个组件:处理组件1002,存储器1004,电源组件1006,多媒体组件1008,音频组件1010,输入/输出(i/o)的接口1012,传感器组件1014,以及通信组件1016。

处理组件1002通常控制装置1000的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件1002可以包括一个或多个处理器1020来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1002可以包括一个或多个模块,便于处理组件1002和其他组件之间的交互。例如,处理部件1002可以包括多媒体模块,以方便多媒体组件1008和处理组件1002之间的交互。

存储器1004被配置为存储各种类型的数据以支持在设备1000的操作。这些数据的示例包括用于在装置1000上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1004可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。

电力组件1006为装置1000的各种组件提供电力。电力组件1006可以包括电源管理系统,一个或多个电源,及其他与为装置1000生成、管理和分配电力相关联的组件。

多媒体组件1008包括在所述装置1000和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1008包括一个前置摄像头和/或后置摄像头。当设备1000处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件1010被配置为输出和/或输入音频信号。例如,音频组件1010包括一个麦克风(mic),当装置1000处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1004或经由通信组件1016发送。在一些实施例中,音频组件1010还包括一个扬声器,用于输出音频信号。

i/o接口1012为处理组件1002和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件1014包括一个或多个传感器,用于为装置1000提供各个方面的状态评估。例如,传感器组件1014可以检测到设备1000的打开/关闭状态,组件的相对定位,例如所述组件为装置1000的显示器和小键盘,传感器组件1014还可以检测装置1000或装置1000一个组件的位置改变,用户与装置1000接触的存在或不存在,装置1000方位或加速/减速和装置1000的温度变化。传感器组件1014可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1014还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1014还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件1016被配置为便于装置1000和其他设备之间有线或无线方式的通信。装置1000可以接入基于通信标准的无线网络,如wifi,2g或3g,或它们的组合。在一个示例性实施例中,通信部件1016经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件1016还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。

在示例性实施例中,装置1000可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器1004,上述指令可由装置1000的处理器1020执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1