1.本发明涉及计算机技术领域,特别是涉及一种服饰识别方法、装置、终端及存储介质。
背景技术:2.服饰是人们日常生活中比不可少的物品。随着网络购物平台的出现,人们经常在网络购物平台上购买服饰,这极大地方便了人们的生活。为了进一步地为人们提供便利,可以通过服饰识别技术对人们提供的图像中的服饰进行识别,为人们提供相关服饰的信息。但是现有技术中,对图像中的服饰进行识别,以提供相关服饰的信息的方式中,只能通过单张图像识别的方式来确定相关服饰的信息,准确率较低。
技术实现要素:3.本发明提供一种服饰识别方法、装置、终端及计算机可读存储介质,以便在一定程度上解决现有技术中服饰识别准确率低的问题。
4.依据本发明的第一方面,提供了一种服饰识别方法,所述方法包括:
5.获取多张包含不同服饰视角的服饰图像;多张所述服饰图像中待识别的目标服饰为相同的服饰款式;
6.对每张所述服饰图像进行服饰视角识别,确定所述服饰图像中待识别的目标服饰对应的服饰视角;
7.对每张所述服饰图像进行特征提取,得到第一服饰特征;
8.融合多张所述服饰图像对应的第一服饰特征和服饰视角,得到所述待识别的目标服饰对应的多视角服饰特征,以基于所述多视角服饰特征得到所述待识别的目标服饰的识别结果。
9.可选地,所述对所述服饰图像进行特征提取,得到第一服饰特征,包括:
10.对所述服饰图像进行人体关键点检测和服饰关键点检测,以得到所述服饰图像对应的人体关键点和服饰关键点;
11.对所述服饰图像进行全局特征提取,得到所述服饰图像对应的全局特征;所述全局特征用于表征所述服饰图像中待识别的目标服饰的款式;
12.根据所述人体关键点和服饰关键点对所述全局特征进行处理,得到所述服饰图像的第一服饰特征。
13.可选地,所述融合多张所述服饰图像对应的第一服饰特征和服饰视角,得到所述待识别的目标服饰对应的多视角服饰特征,包括:
14.将多张所述服饰图像对应的第一服饰特征组成的特征序列,以及多张所述服饰图像的服饰视角对应的视角编码组成的视角编码序列,输入预先训练好的变换器结构,由所述变换器结构对所述特征序列和所述视角编码序列进行融合,输出所述待识别的目标服饰对应的多视角服饰特征。
15.可选地,所述对所述服饰图像进行服饰视角识别,确定所述服饰图像中待识别的目标服饰对应的服饰视角,包括:
16.检测所述服饰图像中待识别的目标服饰的姿态信息;
17.将所述姿态信息对应的视角确定为所述服饰图像中待识别的目标服饰对应的服饰视角。
18.可选地,所述对所述服饰图像进行服饰视角识别,确定所述服饰图像中待识别的目标服饰对应的服饰视角,包括:
19.将所述服饰图像输入到视角识别模型,由所述视角识别模型输出所述服饰图像中待识别的目标服饰对应的服饰视角;其中,所述视角识别模型是使用第一训练样本对初始视角识别模型进行训练得到的,所述第一训练样本是标注出包含的第一训练服饰的服饰视角的图像。
20.可选地,所述获取多张不同服饰视角的服饰图像,包括:
21.从待识别视频中提取多个不同时刻的待识别帧图像;
22.检测所述待识别帧图像中的服饰区域,并提取所述服饰区域的图像特征;
23.基于各个所述待识别帧图像对应的图像特征,对多个所述待识别帧图像进行聚类;
24.将聚类后得到的、属于同一类的多个待识别帧图像作为所述服饰图像。
25.可选地,所述基于所述多视角服饰特征得到所述待识别的目标服饰的识别结果,包括:
26.计算所述多视角服饰特征与数据库中的各个预设多视角服饰特征之间的相似度;
27.确定满足预设要求的相似度对应的目标预设多视角服饰特征,并将所述目标预设多视角服饰特征对应的服饰信息作为所述待识别的目标服饰的识别结果。
28.依据本发明的第二方面,提供了一种服饰识别装置,所述装置包括:
29.第一获取模块,用于获取多张包含不同服饰视角的服饰图像;多张所述服饰图像中待识别的目标服饰为相同的服饰款式;
30.视角识别模块,用于对每张所述服饰图像进行服饰视角识别,确定所述服饰图像中待识别的目标服饰对应的服饰视角;
31.特征提取模块,用于对每张所述服饰图像进行特征提取,得到第一服饰特征;
32.多视角识别模块,用于融合多张所述服饰图像对应的第一服饰特征和服饰视角,得到所述待识别的目标服饰对应的多视角服饰特征,以基于所述多视角服饰特征得到所述待识别的目标服饰的识别结果。
33.可选地,所述特征提取模块,包括:
34.关键点检测模块,用于对所述服饰图像进行人体关键点检测和服饰关键点检测,以得到所述服饰图像对应的人体关键点和服饰关键点;
35.全局特征提取模块,用于对所述服饰图像进行全局特征提取,得到所述服饰图像对应的全局特征;所述全局特征用于表征所述服饰图像中待识别的目标服饰的款式;
36.第一服饰特征确定模块,用于根据所述人体关键点和服饰关键点对所述全局特征进行处理,得到所述服饰图像的第一服饰特征。
37.可选地,所述多视角识别模块,用于将多张所述服饰图像对应的第一服饰特征组
成的特征序列,以及多张所述服饰图像的服饰视角对应的视角编码组成的视角编码序列,输入预先训练好的变换器结构,由所述变换器结构对所述特征序列和所述视角编码序列进行融合,输出所述待识别的目标服饰对应的多视角服饰特征。
38.可选地,所述视角识别模块,包括:
39.姿态信息确定模块,用于检测所述服饰图像中待识别的目标服饰的姿态信息;
40.基于姿态信息确定视角模块,用于将所述姿态信息对应的视角确定为所述服饰图像中待识别的目标服饰对应的服饰视角。
41.可选地,所述视角识别模块,包括:
42.基于模型确定视角模块,用于将所述服饰图像输入到视角识别模型,由所述视角识别模型输出所述服饰图像中待识别的目标服饰对应的服饰视角;其中,所述视角识别模型是使用第一训练样本对初始视角识别模型进行训练得到的,所述第一训练样本是标注出包含的第一训练服饰的服饰视角的图像。
43.可选地,所述第一获取模块,包括:
44.待识别帧图像提取模块,用于从待识别视频中提取多个不同时刻的待识别帧图像;
45.图像特征提取模块,用于检测所述待识别帧图像中的服饰区域,并提取所述服饰区域的图像特征;
46.图像聚类模块,用于基于各个所述待识别帧图像对应的图像特征,对多个所述待识别帧图像进行聚类;
47.基于聚类结果确定模块,用于将聚类后得到的、属于同一类的多个待识别帧图像作为所述服饰图像。
48.可选地,所述多视角识别模块,包括:
49.相似度计算模块,用于计算所述多视角服饰特征与数据库中的各个预设多视角服饰特征之间的相似度;
50.识别结果确定模块,用于确定满足预设要求的相似度对应的目标预设多视角服饰特征,并将所述目标预设多视角服饰特征对应的服饰信息作为所述待识别的目标服饰的识别结果。
51.依据本发明的第三方面,提供了一种终端,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任一所述的服饰识别方法。
52.依据本发明的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述任一所述的服饰识别方法。
53.与背景技术相比,本发明实施例包括以下优点:
54.本发明实施例,通过获取多张包含不同服饰视角的服饰图像;多张服饰图像中待识别的目标服饰为相同的服饰款式;对每张服饰图像进行服饰视角识别,确定服饰图像中待识别的目标服饰对应的服饰视角;对每张服饰图像进行特征提取,得到第一服饰特征;融合多张服饰图像对应的第一服饰特征和服饰视角,得到待识别的目标服饰对应的多视角服饰特征,以基于多视角服饰特征得到待识别的目标服饰的识别结果。本发明实施例在对服
饰图像进行服饰识别的过程中,结合了各个服饰图像的第一服饰特征和服饰视角,来确定服饰图像的待识别的目标服饰对应的多视角服饰特征,再基于多视角服饰特征对待识别的目标服饰进行识别,与现有技术中只能对单视角的服饰特征进行服饰识别相比,本发明实施例将多视角服饰特征作为一个整体对待识别的目标服饰进行识别,可以提高服饰识别的准确率。
55.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
56.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
57.图1是本发明实施例提供的一种服饰识别方法的步骤流程示意图;
58.图2是本发明实施例中的一种示例性的服饰识别方法对应的模型结构示意图;
59.图3是本发明实施例提供的一种服饰识别装置的示意性结构框图。
具体实施方式
60.下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
61.针对现有技术中的服饰识别存在准确率低的问题,本发明实施例提供了一种服饰识别方法,该方法通过获取多张待处理的、相同服饰款式的目标服饰不同服饰视角的服饰图像;对每张服饰图像进行服饰视角识别,确定服饰图像中待识别的目标服饰对应的服饰视角;对每张服饰图像进行特征提取,得到对应的第一服饰特征;融合多张服饰图像对应的第一服饰特征和服饰视角,得到待识别的目标服饰对应的多视角服饰特征,以基于多视角服饰特征得到待识别的目标服饰的识别结果。本发明实施例将多视角服饰特征作为一个整体对待识别的目标服饰进行识别,可以提高服饰识别的准确率。
62.图1是本发明实施例提供的一种示例性的服饰识别方法的流程图。该方法可以应用于电子设备中,以实现准确识别出待识别的目标服饰。其中,电子设备可以是硬件,也可以是软件。当电子设备为硬件时,可以实现成多个服务器或终端设备组成的集群,也可以实现单个服务器或单个终端设备。当电子设备是软件时,可以安装在上述列举的硬件设备中。如图1所示,本实施例提供的服饰识别方法,可以包括如下步骤:
63.步骤101,获取多张包含不同服饰视角的服饰图像;多张服饰图像中待识别的目标服饰为相同的服饰款式。
64.获取的服饰图像即为待识别的服饰图像,服饰款式可以作为服饰的身份标识,即属于相同服饰款式的服饰外观一样,最多存在尺码上的差别。服饰视角是指摄像机拍摄服饰的视角,例如,从服饰正面拍摄得到的视角为正服饰视角,从服饰左侧面拍摄得到的视角
为左服饰视角。
65.本实施例中,获取到的多张服饰图像需要包含不同服饰视角,可以理解,获取到的多张服饰图像至少涉及到待识别的目标服饰的两个服饰视角。例如,至少一张服饰图像中的待识别的目标服饰对应的服饰视角为正服饰视角,同时,至少一张服饰图像中的待识别的目标服饰对应的服饰视角为左服饰视角。
66.获取多张服饰图像的过程可以包括从视频中提取多个不同时刻的待识别帧图像作为待识别的服饰图像,或者,接收用户发送的多张服饰图像作为待识别的服饰图像,或者,从指定的图像库中获取多张待识别的服饰图像等,待识别服饰图像的来源不做具体限制。多张待识别的服饰图像中待识别的目标服饰应当属于相同的服饰款式,可以理解,当获取的服饰图像对应的目标服饰涉及不同服饰款式时,需要对获取到的服饰图像进行聚类,以得到目标服饰为相同服饰款式的多张服饰图像作为待识别的服饰图像,并且多张待识别的服饰图像应当对应待识别的目标服饰的不同服饰视角。
67.目标服饰可以认为是待识别的服饰图像中的主要服饰,一般地,当待识别的服饰图像中仅包含一种服饰时,则待识别的目标服饰即为服饰图像中包含的服饰;当待识别的服饰图像中包含多种服饰时,待识别的目标服饰可以是服饰图像中占像素最多的服饰,或者,也可以是图像中清晰度最高的服饰,或者,还可以是服饰图像中位于前景区域的服饰等,不做具体限制。
68.步骤102,对每张服饰图像进行服饰视角识别,确定服饰图像中待识别的目标服饰对应的服饰视角。
69.在确定待识别的多张服饰图像后,需要对每张服饰图像进行服饰视角识别,以确定服饰图像中待识别的目标服饰对应的服饰视角。
70.步骤103,对每张服饰图像进行特征提取,得到第一服饰特征。
71.在确定待识别的多张服饰图像后,还需要对每张服饰图像进行特征提取,由于服饰图像中的待识别的目标服饰具有对应的服饰视角,而服饰视角与待识别的目标服饰的姿态信息相关,因此,对该服饰图像进行特征提取,得到的第一服饰特征可以理解为目标服饰的姿态信息加强的服饰特征。比如,待识别的目标服饰为上衣,对应的服饰视角为左服饰视角,则提取到的第一服饰特征更多是上衣袖子部分的特征,属于局部的且与服饰视角相关的特征。
72.步骤104,融合多张服饰图像对应的第一服饰特征和视角,得到待识别的目标服饰对应的多视角服饰特征,以基于多视角服饰特征得到待识别的目标服饰的识别结果。
73.通过上述步骤102和步骤103可以得到每张服饰图像对应的第一服饰特征和服饰视角,融合所有包含待识别的目标服饰的服饰图像对应的第一服饰特征和服饰视角,可以得到待识别的目标服饰对应的多视角服饰特征,该多视角服饰特征可以理解为待识别的目标服饰在多个服饰视角下的服饰特征的融合,以基于多视角服饰特征,得到待识别的目标服饰的识别结果;即基于多视角服饰特征,确定出与待识别的目标服饰相同或相似款式的服饰信息。
74.本发明实施例通过获取多张不同服饰视角的服饰图像;多张服饰图像中待识别的目标服饰为相同服饰款式;对每张服饰图像进行服饰视角识别,确定服饰图像中待识别的目标服饰对应的服饰视角;对每张服饰图像进行特征提取,得到第一服饰特征;融合多张服
饰图像对应的第一服饰特征和服饰视角,得到待识别的目标服饰对应的多视角服饰特征,以基于多视角服饰特征得到待识别的目标服饰的识别结果。本发明实施例在对待识别的服饰图像进行服饰识别的过程中,结合了各个服饰图像的第一服饰特征和服饰视角,来确定服饰图像的待识别的目标服饰对应的多视角服饰特征,再基于多视角服饰特征对待识别的目标服饰进行识别,与现有技术中只能对单视角的服饰特征进行服饰识别相比,本发明实施例将多视角服饰特征作为一个整体对待识别的目标服饰进行识别,可以提高服饰识别的准确率。
75.下面,将对本示例性实施例中服饰识别方法作进一步地说明。
76.在步骤101中,获取多张包含不同服饰视角的服饰图像;多张服饰图像中待识别的目标服饰为相同的服饰款式。
77.其中,获取多张待识别的服饰图像的过程可以包括从视频中提取多个不同时刻的待识别帧图像作为待识别的服饰图像,或者,接收用户发送的多张服饰图像作为待识别的服饰图像,或者,从指定的图像库中获取多张待识别的服饰图像等。多张待识别的服饰图像中待识别的目标服饰应当属于同一服饰款式,并且多张待识别的服饰图像应当涉及待识别的目标服饰的多个服饰视角,可以理解,多张待识别的服饰图像中待识别的目标服饰至少存在两个服饰视角,但不排除两张或两张以上待识别的服饰图像对应待识别的目标服饰为相同服饰视角的情况。例如,当待识别的服饰图像有5张(如服饰图像1、服饰图像2、服饰图像3、服饰图像4、服饰图像5)时,该5张服饰图像中的目标服饰对应的服饰视角可以各不相同,即5张服饰图像对应5个不同服饰视角(如服饰图像1对应服饰视角1、服饰图像2对应服饰视角2、服饰图像3对应服饰视角3、服饰图像4对应服饰视角4、服饰图像5对应服饰视角5);该5张服饰图像中的目标服饰对应的服饰视角可以存在部分相同,即5张服饰图像对应小于5个不同服饰视角(如服饰图像1对应服饰视角1、服饰图像2对应服饰视角2、服饰图像3对应服饰视角3、服饰图像4和服饰图像5均对应服饰视角4)。
78.当存在多张待识别的服饰图像对应待识别的目标服饰为相同服饰视角时,可以随机选择其中一张待识别的服饰图像代表该服饰视角的待识别的服饰图像,也可以基于指定规则选择其中一张待识别的服饰图像代表该服饰视角的待识别的服饰图像,其中,指定规则可以是清晰度最高、待识别的目标服饰对应的像素点的个数最多等;还可以将相同服饰视角的多张待识别的服饰图像融合得到的服饰图像作为代表该视角的待识别的服饰图像,等等。
79.在一示例中,上述获取多张包含不同服饰视角的服饰图像的过程,可以包括:
80.从待识别视频中提取多个不同时刻的待识别帧图像;
81.检测待识别帧图像中的服饰区域,并提取服饰区域的图像特征;
82.基于各个待识别帧图像对应的图像特征,对多个待识别帧图像进行聚类;
83.将聚类后得到的、属于同一类的多个待识别帧图像作为待识别的服饰图像。
84.其中,待识别视频为待进行服饰识别的视频,示例性地,待识别视频可以是时装秀、电视剧、电影、综艺等类型的视频,视频中应该存在人物和/或服装,以便采用本发明实施例提供的服饰识别方法对视频中出现的服装进行识别,进而向用户提供与该服装的相关信息,相关信息可以包括与该服装相关的其他展示图片,该服装的尺寸信息、搭配推荐、购买链接等。
85.从待识别视频中提取多个不同时刻的待识别帧图像,即按照设定的规则从待识别视频中提取多个不同时刻的帧图像。具体可以是按照预设时间间隔从待识别视频中提取多个待识别帧图像,还可以是按照待识别视频中所包含的镜头,从待识别视频中从待识别视频中提取与镜头对应的多个待识别帧图像等等。示例性地,可以在待识别视频播放过程中,按照预设时间间隔从待识别视频中提取多个待识别帧图像,该待识别帧图像可以是正在播放或已经播放的视频帧。
86.从待识别视频中提取到待识别帧图像后,可以对每个待识别帧图像进行图像处理,包括检测待识别帧图像中的服饰区域,并提取服饰区域的图像特征,该图像特征可以理解为待识别帧图像中待识别的目标服饰的全局特征,可以表示待识别的目标服饰的服饰款式。一般地,当待识别帧图像中仅包含一种服饰时,则待识别的目标服饰即为待识别帧图像中包含的服饰;当待识别帧图像中包含多种服饰时,待识别的目标服饰可以是待识别帧图像中占像素最多的服饰,或者,也可以是待识别帧图像中清晰度最高的服饰,或者,还可以是待识别帧图像中位于前景区域的服饰等。
87.聚类是将物理或者抽象对象的集合分成由类似的对象组成的多个类的过程。可以理解,基于各个待识别帧图像对应的图像特征,对多个待识别帧图像进行聚类的过程,就是将包含同一服饰款式的待识别帧图像分成同一类。
88.聚类之后,可以得到一类待识别帧图像,也可以得到多类待识别帧图像。将属于同一类的待识别帧图像作为待识别的服饰图像。
89.示例性地,在从待识别视频中提取待识别帧图像时,可以在每提取出一个待识别帧图像时,即检测该待识别帧图像中的服饰区域,并提取服饰区域的图像特征,确定该待识别帧图像所属的类别。也可以按照一定的时间间隔,检测该时间间隔内提取出的所有待识别帧图像的服饰区域,并提取服饰区域的图像特征,对同一时间间隔内提取出的待识别帧图像进行统一聚类,确定各个待识别帧图像所属的类别。
90.在另一示例中,上述获取多张待识别的服饰图像的过程,可以包括:
91.接收用户输入的多张图像;
92.检测图像中的服饰区域,并提取服饰区域的图像特征;
93.基于各个图像对应的图像特征,对多个图像进行聚类;
94.将聚类后得到的、属于同一类的多个图像作为待识别的服饰图像。
95.在本示例中,可以向用户展示待识别服饰图像的输入界面,由用户选择需要进行服饰识别的图像,并输入到该输入界面中。当检测到用户输入的多张图像后,或者,当检测到开始识别的指令后,检测输入界面中输入的多张图像的服饰区域,并提取服饰区域的图像特征。若输入界面中输入的多张图像对应的图像特征存在多种类型时,即输入的各个图像中的待识别的目标服饰的款式不同时,也即多张图像的图像特征不一致时,则对图像进行聚类,以得到同一类(即同一服饰款式)的图像,将属于同一类的图像作为待识别的服饰图像,对同一类的图像执行后续服饰识别的步骤。其中,聚类的过程可以参见前文的描述,此处不再赘述。
96.可选地,在上述输入界面中还可以包括摄像头启动控件,当用户触发摄像头启动控件后,可以启动摄像头,将摄像头拍摄得到的图像输入到输入界面中。当摄像头拍摄得到的是视频时,则可以按照与上述从待识别视频中提取多个不同时刻的待识别帧图像相似的
方式,从拍摄得到的视频中确定出多个待识别的图像。
97.为了提高服饰识别的准确率,在本发明实施例中,待识别的服饰图像应当包含同一服饰款式不同服饰视角的图像。以上述待识别的服饰图像是通过用户输入的图像处理得到的示例为例,在上述输入界面中,还可以包括用于提示用户输入同一服饰款式不同服饰视角的图像的提示信息。或者,也可以在聚类处理后,检查每一类图像中是否包括不同服饰视角的图像,若不包括,还可以在界面中显示提示信息,以提示用户补充输入其他视角的图像。
98.需要说明的是,上述提取服饰区域的图像特征的过程还可以通过将待识别帧图像作为服饰全局特征提取模型的输入,由服饰全局特征提取模型对待识别帧图像进行处理,输出待识别帧图像对应的全局特征,即为服饰区域的图像特征。其中,服饰全局特征提取模型的训练过程可以参见后文描述。
99.在步骤102中,对每张服饰图像进行服饰视角识别,确定服饰图像中待识别的目标服饰对应的服饰视角。
100.在本实施例中,对于每张待识别的服饰图像,都可以进行服饰视角识别,以确定服饰图像中待识别的目标服饰对应的服饰视角。
101.可选地,在一示例中,上述对每张服饰图像进行服饰视角识别,确定服饰图像中待识别的目标服饰对应的服饰视角的过程,可以包括:
102.检测服饰图像中待识别的目标服饰的姿态信息;
103.将姿态信息对应的视角确定为服饰图像中待识别的目标服饰对应的服饰视角。
104.其中,检测待识别的目标服饰的姿态信息,即为检测待识别的目标服饰在服饰图像中的拍摄视角,可以通过检测待识别的目标服饰的关键点来确定待识别的目标服饰的姿态信息。例如,当检测出的待识别的目标服饰的关键点与正面姿态信息对应的关键点相符时,说明该待识别的目标服饰的姿态信息为正面姿态信息。检测待识别的目标服饰的姿态信息,也可以通过检测待识别的目标服饰关联的人体的姿态信息,来确定待识别的目标服饰的姿态信息。而人体的姿态信息可以通过检测人体区域的关键点来确定。在得到姿态信息后,可以根据姿态信息确定对应的视角,即为待识别目标服饰对应的服饰视角。
105.示例性地,可以预先确定人体区域的关键点或服饰区域的关键点,与服饰姿态信息之间的对应关系,以及确定服饰姿态信息与视角的对应关系;在检测到人体区域的关键点或待识别的目标服饰的关键点后,根据预先确定的关键点与姿态信息之间的对应关系,即可确定待识别的目标服饰的姿态信息,进而根据预先确定的服饰姿态信息与视角之间的对应关系,即可确定出待识别的目标服饰的服饰视角。
106.例如,预先确定人体后背区域的关键点对应服饰姿态信息为背面,服饰姿态信息为背面对应的视角为后视角,当检测到人体区域的关键点为人体后背区域的关键点时,可以确定服饰姿态信息为背面,进而确定服饰姿态信息对应的视角为后视角,最终得到目标服饰的服饰视角为后服饰视角。
107.在另一示例中,上述对服饰图像进行服饰视角识别,确定服饰图像中待识别的目标服饰对应的视角的过程,可以包括:
108.将服饰图像输入到视角识别模型,由视角识别模型输出服饰图像中待识别的目标服饰对应的服饰视角;其中,视角识别模型是使用第一训练样本对初始视角识别模型进行
训练得到的,第一训练样本是标注出包含的第一训练服饰的服饰视角的图像。
109.本实施例可以预先构建视角识别模型,具体地,可以使用第一训练样本对初始视角识别模型进行训练,以得到用于识别服饰图像中待识别的目标服饰的服饰视角的视角识别模型。其中,第一训练样本是标注出包含第一训练服饰的服饰视角的图像。即第一训练样本可以包含多个第一训练图像,每个第一训练图像中的主要服饰为第一训练服饰,并且,每个第一训练图像标注出对应的第一训练服饰的服饰视角。
110.在得到视角识别模型后,将每张服饰图像作为视角识别模型的输入,由视角识别模型输出该服饰图像对应的服饰视角。
111.在步骤103中,对每张服饰图像进行特征提取,得到第一服饰特征。
112.在确定待识别的多张服饰图像后,还需要对每张服饰图像进行特征提取,即提取服饰图像中待识别的目标服饰的姿态信息加强的服饰特征,将提取得到的特征确定为第一服饰特征。
113.在本实施例中,第一服饰特征是姿态信息加强的服饰特征,可以理解,第一服饰特征是基于待识别的目标服饰对应的人体关键点、待识别的目标服饰关键点以及服饰图像的全局特征,进行多模态信息融合后得到的服饰特征。
114.示例性地,上述对服饰图像进行特征提取,得到第一服饰特征的过程,可以包括:
115.对服饰图像进行人体关键点检测和服饰关键点检测,以得到服饰图像对应的人体关键点和服饰关键点;
116.对服饰图像进行全局特征提取,得到服饰图像对应的全局特征;
117.根据人体关键点和服饰关键点对全局特征进行处理,得到服饰图像的第一服饰特征。
118.在本示例中,可以对每张待识别的服饰图像进行人体区域检测和服饰区域检测,以确定服饰图像中的人体区域和服饰区域,进而对人体区域进行人体关键点检测,对服饰区域进行服饰关键点检测,得到服饰图像对应的人体关键点和服饰关键点。
119.其中,对服饰图像进行全局特征提取,得到服饰图像对应的全局特征的过程可以包括:将服饰图像作为服饰全局特征提取模型的输入,由服饰全局特征提取模型对服饰图像进行处理,输出服饰图像对应的全局特征。具体地,可以通过收集不同款式的服饰数据,采用深度卷积网络作为服饰全局特征提取模型的结构,并使用图像分类损失函数作为度量,可以训练得到服饰全局特征提取模型,再基于训练得到的服饰全局特征提取模型对服饰图像进行全局特征提取,得到隐含空间特征向量,即得到待识别的目标服饰的全局特征。
120.在得到服饰图像的人体关键点、服饰关键点以及全局特征后,可以采用全连接层将人体关键点对应的特征向量、服饰关键点对应的特征向量以及全局特征对应的特征向量映射至同一维度的向量空间,对映射至同一维度的向量空间中的向量进行相加操作,实现多模态信息融合,以得到姿态信息加强的服饰特征,即第一服饰特征。
121.其中,在将人体关键点、服饰关键点以及全局特征映射至同一维度的向量空间的过程中,示例性地,可以将人体关键点、服饰关键点中不可见关键点的坐标记为[-1,-1],映射后的典型特征维度可以是512维。
[0122]
在步骤104中,融合多张服饰图像对应的第一服饰特征和服饰视角,得到待识别的目标服饰对应的多视角服饰特征,以基于多视角服饰特征得到待识别的目标服饰的识别结
果。
[0123]
在得到每张服饰图像对应的第一服饰特征和服饰视角,融合所有待识别的服饰图像对应的第一服饰特征和服饰视角,可以得到待识别的目标服饰对应的多视角服饰特征,该多视角服饰特征可以理解为待识别的目标服饰在多个视角下的服饰特征的融合,以基于多视角服饰特征,得到待识别的目标服饰的识别结果;即基于多视角服饰特征,确定出与待识别的目标服饰相同或相似款式的服饰信息。
[0124]
示例性地,上述融合多张服饰图像对应的第一服饰特征和视角,得到待识别的目标服饰对应的多视角服饰特征的过程,可以包括:
[0125]
将多张服饰图像对应的第一服饰特征组成的特征序列,以及多张服饰图像的服饰视角对应的视角编码组成的视角编码序列,输入预先训练好的变换器结构(transformer),由变换器结构对特征序列和视角编码序列进行融合,输出待识别的目标服饰对应的多视角服饰特征。
[0126]
在本示例中,将多张服饰图像对应的第一服饰特征作为变换器结构的输入特征序列,并采用多张服饰图像的服饰视角对应的视角编码组成的视角编码序列,作为变换器结构的输入注意力掩码序列;通过变换器结构输出对应的特征向量,根据该特征向量确定待识别的目标服饰对应的多视角服饰特征。其中,不同服饰视角对应的视角编码不同,而相同服饰视角对应的视角编码相同。
[0127]
本实施例中的变换器结构可以包括多层残差注意力编码模块,例如,可以包括4层残差注意力编码模块,且每层残差注意力编码模块的抽头数目可以为8,多视角序列最大长度为55。在对变换器结构进行训练时,采用服饰数据集对变换器结构的参数进行训练,其中,服饰数据集中包含多个不同视角的服饰图像,并且,每个服饰图像具有对应的服装款式信息(如服装款式标识),同时可以施加分类损失函数对多视角服饰特征进行约束,采用梯度后向传播方法对参数进行优化。示例性地,在对变换器结构进行训练时,考虑到视角估计、人体关键点估计、服饰关键点估计属于独立的计算模块,因此用于实现视角估计、人体关键点估计、服饰关键点估计的模块不参与训练过程中的参数迭代优化。服饰全局特征提取模型可以结合计算资源与服饰全局特征性能进行决定,既可以冻结参数也可以放开参数进行模型调整。
[0128]
本实施例通过将多张服饰图像的视角对应的视角编码作为变换器结构的输入注意力掩码序列,使得变换器结构输出多视角服饰特征,通过得到的多视角服饰特征,可以确保进一步基于多视角服饰特征得到待识别的目标服饰的识别结果的准确性。
[0129]
图2是本发明实施例中的一种示例性的服饰识别方法对应的模型结构示意图。如图2所示,本实施例中的服饰识别方法主要包括对各个待识别的服饰图像进行姿态信息加强的服饰特征提取(即提取各个待识别的服饰图像的第一服饰特征),对各个待识别的服饰图像进行视角估计(即确定各个服饰图像对应的服饰视角),将提取得到的姿态信息加强的服饰特征组成的服饰特征序列,和由各个服饰图像的视角对应多视角编码组成的视角注意力掩码序列,作为变换器结构的输入,由变换器结构对输入的服饰特征序列和视角注意力掩码序列进行处理,得到与待识别的服饰图像中待识别的目标服饰对应的多视角服饰特征。
[0130]
具体地,在提取服饰图像的姿态信息加强的服饰特征时,需要对服饰图像进行人
体关键点估计和服饰关键点估计,以及对服饰图像进行服饰全局特征提取,然后再将得到的人体关键点、服饰关键点以及服饰全局特征作为对应的全连接层的输入,由全连接层映射至同一维度的向量空间,得到姿态信息加强的服饰特征。需要说明的是,全连接层的输入包含人体关键点和服饰关键点,而人体关键点和服饰关键点均与服饰视角相关;当服饰图像中的目标服饰未穿戴在人物身上时,即人体关键点结果为空,依然可以得到姿态信息加强的服饰特征,因此,还可以实现支持非人物身上穿着的服饰图像的特征融合与识别。
[0131]
示例性地,以目标服饰是白色v领气泡袖后背开孔的上衣为例,可以理解目标服饰的全局特征是白色、v领、气泡袖、后背开孔。待识别的服饰图像可以包括服饰图像1、服饰图像2、服饰图像3;其中,服饰图像1是目标服饰的正视图,服饰图像2是服饰图像的后视图,服饰图像3是服饰图像的左视图。采用本发明提供的服饰识别方法进行处理的过程如下:
[0132]
对每张服饰图像进行视角估计,可以得到服饰图像1的服饰视角为正服饰视角,服饰图像2的服饰视角为后服饰视角,服饰图像3的服饰视角为左服饰视角;
[0133]
提取每张服饰图像的第一服饰特征,即提取服饰图像1与正服饰视角关联的第一服饰特征1(即v领特征),服饰图像2与后服饰视角关联的第一服饰特征2(即后背开孔特征),服饰图像3与左服饰视角关联的第一服饰特征3(即气泡袖特征);
[0134]
融合该3张服饰图像的第一服饰特征和对应的服饰视角,得到目标服饰的多视角服饰特征,即根据服饰图像1的第一服饰特征1对应的特征向量1、服饰图像2的第一服饰特征2对应的特征向量2、服饰图像3的第一服饰特征3对应的特征向量3得到服饰特征序列,可以表示为{特征向量1,特征向量2,特征向量3},根据服饰图像1的正服饰视角对应的视角编码1、服饰图像2的后服饰视角对应的视角编码2、服饰图像3的左服饰视角对应的视角编码3得到视角注意力掩码序列,可以表示为{视角编码1,视角编码2,视角编码3},将服饰特征序列和视角注意力掩码序列输入到变换器结构中,由变换器结构输出目标服饰的多视角服饰特征,该多视角服饰特征用于表示目标服饰在不同服饰视角下的服饰特征,包含正服饰视角下的v领特征,后服饰视角下的后背开孔特征,左服饰视角下的气泡袖特征。以便后续识别时,需要识别出包含正服饰视角下的v领特征,后服饰视角下的后背开孔特征,左服饰视角下的气泡袖特征的服饰信息,该服饰信息可以理解为与目标服饰相关的展示图片、尺寸信息、搭配推荐、购买链接等。
[0135]
进一步地,在本发明一可选实施例中,上述服饰识别方法还可以包括:
[0136]
计算多视角服饰特征与数据库中的各个预设多视角服饰特征之间的相似度;
[0137]
确定满足预设要求的相似度对应的目标预设多视角服饰特征,并将目标预设多视角服饰特征对应的服饰信息作为待识别的目标服饰的识别结果。
[0138]
在本实施例中,数据库中预先存储有多个预设多视角服饰特征,其中,预设多视角服饰特征可以采用上述步骤101-104的方式对预设服饰图像进行处理得到,也可以通过接收相关人员输入的预设服饰图像对应的多视角服饰特征得到;而预设服饰图像可以理解为预先确定的服饰图像。预设服饰图像可以根据使用场景来确定。示例性地,当使用场景为向用户推荐待识别的目标服饰对应的商品信息时,预设服饰图像可以是商品库中各个商品在不同视角的图像;当使用场景为向用户推荐待识别的目标服饰对应的搭配推荐信息时,预设服饰图像可以是在搭配推荐节目或平台等与搭配推荐相关信息中出现的服饰图像。
[0139]
在得到待识别的目标服饰的多视角服饰特征后,将多视角服饰特征与数据库中各
个预设多视角服饰特征进行相似性计算,即计算待识别的目标服饰的多视角特征与各个预设多视角服饰特征之间的相似度;然后将相似度满足预设要求的预设多视角服饰特征确定为目标预设多视角服饰特征,最后,将目标预设多视角服饰特征对应的目标预设服饰作为待识别的目标服饰的识别结果,即可以确定待识别的目标服饰与目标预设服饰的款式相同,并向用户展示目标预设服饰的相关信息,相关信息可以包括与该服饰相关的其他展示图片,该服装的尺寸信息、搭配推荐、购买链接等。
[0140]
示例性地,在播放待识别视频过程中,当接收到用户暂停操作时,将暂停界面中显示的、包含服饰的图像确定为目标服饰图像;或者,在播放待识别视频过程中,可以将页面中实时显示的、包含服饰的图像确定为目标服饰图像;从已提取到的多个待识别帧图像中,确定与目标服饰图像属于同一类的多个目标待识别帧图像,将多个目标待识别帧图像和目标服饰图像作为待识别的服饰图像,将目标服饰图像中包含的服饰确定为待识别的目标服饰;通过对每个待识别的服饰图像进行服饰视角识别,确定每个待识别的服饰图像中的待识别的目标服饰对应的服饰视角;并且,对每个待识别的服饰图像进行特征提取,得到姿态信息加强的第一服饰特征;最后根据所有待识别的服饰图像对应的视角和第一服饰特征,确定出待识别的目标服饰对应的多视角服饰特征,以基于多视角服饰特征得到待识别的目标服饰的识别结果,识别结果包括向用户展示与待识别的目标服饰的相关信息,具体可以包括展示待识别的目标服饰的商品信息、搭配信息、尺寸信息、购买链接、包含待识别的目标服饰的其他服饰图像等。
[0141]
本发明实施例通过获取多张包含不同服饰视角的服饰图像;多张服饰图像中待识别的目标服饰为相同的服饰款式;对每张服饰图像进行服饰视角识别,确定服饰图像中待识别的目标服饰对应的服饰视角;对每张服饰图像进行特征提取,得到第一服饰特征;融合多张服饰图像对应的第一服饰特征和服饰视角,得到待识别的目标服饰对应的多视角服饰特征,以基于多视角服饰特征得到待识别的目标服饰的识别结果。本发明实施例在对待识别的服饰图像进行服饰识别的过程中,结合了各个服饰图像的第一服饰特征和视角,来确定服饰图像的待识别的目标服饰对应的多视角服饰特征,再基于多视角服饰特征对待识别的目标服饰进行识别,与现有技术中只能对单视角的服饰特征进行服饰识别相比,本发明实施例将多视角服饰特征作为一个整体对待识别的目标服饰进行识别,可以提高服饰识别的准确率。
[0142]
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
[0143]
参照图3,示出了本发明一个实施例的一种服饰识别装置的示意性结构框图,与上述服饰识别方法实施例相对应,该服饰识别装置具体可以包括如下模块:
[0144]
第一获取模块301,用于获取多张包含不同服饰视角的服饰图像;多张服饰图像中待识别的目标服饰为相同的服饰款式;
[0145]
视角识别模块302,用于对每张服饰图像进行服饰视角识别,确定服饰图像中待识别的目标服饰对应的服饰视角;
[0146]
特征提取模块303,用于对每张服饰图像进行特征提取,得到第一服饰特征;
[0147]
多视角识别模块304,用于融合多张服饰图像对应的第一服饰特征和服饰视角,得到待识别的目标服饰对应的多视角服饰特征,以基于多视角服饰特征得到待识别的目标服饰的识别结果。
[0148]
在本发明一可选实施例中,特征提取模块303,包括:
[0149]
关键点检测模块,用于对服饰图像进行人体关键点检测和服饰关键点检测,以得到服饰图像对应的人体关键点和服饰关键点;
[0150]
全局特征提取模块,用于对服饰图像进行全局特征提取,得到服饰图像对应的全局特征;全局特征用于表征服饰图像中待识别的目标服饰的款式;
[0151]
第一服饰特征确定模块,用于根据人体关键点和服饰关键点对全局特征进行处理,得到服饰图像的第一服饰特征。
[0152]
在本发明一可选实施例中,多视角识别模块304,用于将多张服饰图像对应的第一服饰特征组成的特征序列,以及多张服饰图像的服饰视角对应的视角编码组成的视角编码序列,输入预先训练好的变换器结构,由变换器结构对特征序列和视角编码序列进行融合,输出待识别的目标服饰对应的多视角服饰特征。
[0153]
在本发明一可选实施例中,视角识别模块302,包括:
[0154]
姿态信息确定模块,用于检测服饰图像中待识别的目标服饰的姿态信息;
[0155]
基于姿态信息确定视角模块,用于将姿态信息对应的视角确定为服饰图像中待识别的目标服饰对应的服饰视角。
[0156]
在本发明一可选实施例中,视角识别模块302,包括:
[0157]
基于模型确定视角模块,用于将服饰图像输入到视角识别模型,由视角识别模型输出服饰图像中待识别的目标服饰对应的服饰视角;其中,视角识别模型是使用第一训练样本对初始视角识别模型进行训练得到的,第一训练样本是标注出包含的第一训练服饰的服饰视角的图像。
[0158]
在本发明一可选实施例中,第一获取模块301,包括:
[0159]
待识别帧图像提取模块,用于从待识别视频中提取多个不同时刻的待识别帧图像;
[0160]
图像特征提取模块,用于检测待识别帧图像中的服饰区域,并提取服饰区域的图像特征;
[0161]
图像聚类模块,用于基于各个待识别帧图像对应的图像特征,对多个待识别帧图像进行聚类;
[0162]
基于聚类结果确定模块,用于将聚类后得到的、属于同一类的多个待识别帧图像作为服饰图像。
[0163]
在本发明一可选实施例中,多视角识别模块304,包括:
[0164]
相似度计算模块,用于计算多视角服饰特征与数据库中的各个预设多视角服饰特征之间的相似度;
[0165]
识别结果确定模块,用于确定满足预设要求的相似度对应的目标预设多视角服饰特征,并将目标预设多视角服饰特征对应的服饰信息作为待识别的目标服饰的识别结果。
[0166]
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关
之处参见方法实施例的部分说明即可。
[0167]
本发明实施例还提供了一种终端,可以包括处理器、存储器及存储在存储器上并能够在处理器上运行的计算机程序,计算机程序被处理器执行时实现如上所述的服饰识别方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0168]
本发明实施例还提供了计算机可读存储介质,计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如上所述的服饰识别方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
[0169]
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0170]
本领域技术人员易于想到的是:上述各个实施例的任意组合应用都是可行的,故上述各个实施例之间的任意组合都是本发明的实施方案,但是由于篇幅限制,本说明书在此就不一一详述了。
[0171]
在此提供的服饰识别方法不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造具有本发明方案的系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0172]
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0173]
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
[0174]
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0175]
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的
范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0176]
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的服饰识别方法中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
[0177]
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。