一种基于深度学习的单阶段服装颜色识别系统及方法与流程

文档序号:27325609发布日期:2021-11-10 01:12阅读:1041来源:国知局
一种基于深度学习的单阶段服装颜色识别系统及方法与流程

1.本公开属于服装颜色识别技术领域,具体涉及一种基于深度学习的单阶段服装颜色识别系统及方法。


背景技术:

2.颜色识别是计算机视觉当中的一项经典技术,可以应用在生活的诸多方面如交通、安防等。在充满了流行视觉元素的服装领域,颜色无疑是重要的一环。对服装图片的精准的颜色精准识别结果,可以在服装行业的诸多环节提供便利。比如在服装设计方面,从细粒度上分析服装的颜色进行设计;再比如在趋势分析方面,可以利用街拍等多来源渠道的服装图片分析色彩流行趋势;还有在服装的销售方面,电商平台可以提供精准的相似款、相似色服装搜索,提升买家的款式搜索体验。
3.服装的颜色识别一般需要两步:第一步是需要提取一张图片中服装的区域,这一步主要的方法有2类,一种是通过传统的一些数字图像处理算子来检测服装的边缘,从而通过边缘规划出服装的区域;另外一种是基于深度学习的图像分割方法,将服装区域和背景、人体等不相干的区域分割出来。第二步则是提取服装部分的颜色,这一步的实现方式也有很多,有通过传统的机器学习方法对输入像素进行分类的,通过分类结果的计数统计获得服装区域的颜色占比;有通过聚类方法对服装区域的像素提取几个中心簇,通过中心簇在lab颜色空间的距离关系确定服装的颜色;也有和深度学习进行结合的,利用第一步得到的服装区域图,将背景设置为白底,然后手工标注数据训练一个基于深度学习的分类器,对输入的服装白底图进行颜色识别和比例计算得到服装的颜色结果。
4.服装颜色识别当前主要面临一些问题:
5.1、服装图像一般都是rgb格式的图片,任何一个像素由分属于不同的r、g、b通道数值构成,在rgb颜色空间颜色并不是线性变化的,同一张服装图片由于获取照片时的条件不同(如亮暗、拍摄设备感光等)所体现出来的颜色并不相同,像素任一通道数值的变化都会使的颜色在人的主观观感当中发生变化,这也就是聚类方法所面临的问题,容易出现在观察者眼里颜色“不准”的情况。
6.2、颜色识别的速度问题,由于多采用两阶段识别,即先获得服装区域,然后通过其他的分类方法获得服装区域像素的颜色分类,都显得繁琐一些,识别速度有待提高。


技术实现要素:

7.本公开提供了一种基于深度学习的单阶段服装颜色识别系统及方法,旨在解决现有技术中服装颜色的识别速度较低且运算量较大的问题。
8.为了解决上述技术问题,本公开所采用的技术方案为:
9.第一方面,本公开提供了一种基于深度学习的单阶段服装颜色识别系统,包括:
10.服装分割模型分支,用于对服装图像做服装分割得到服装区域图像和服装区域图像的图像类别;
11.颜色分类模型分支,用于对服装图像进行rgb颜色识别,得到像素的rgb值,根据像素的rgb值将服装图像进行像素归类,并将像素归类为对应的颜色簇;
12.融合单元,用于根据服装图像的像素归类与服装区域图像,得到服装区域图像的像素归类;根据服装区域图像的颜色簇内像素的rgb值,得到服装区域图像中每个颜色簇的颜色表示;
13.映射匹配单元,用于将服装区域图像颜色簇的颜色表示在lab空间内和目标颜色进行距离度量,将距离最近的目标颜色作为服装区域图像颜色簇的颜色类别。
14.进一步改进的方案,在根据像素的rgb值将服装图像进行像素归类的过程中,将rgb值与颜色簇预设rgb值的距离小于预设值的像素归为同一颜色簇。
15.进一步改进的方案,在根据服装区域图像的颜色簇内像素的rgb值,得到服装区域图像中每个颜色簇的颜色表示过程中;将颜色簇内像素的rgb值的均值作为颜色簇的颜色表示。
16.基于上述技术方案,将颜色簇内像素的rgb值的均值作为颜色簇的颜色表示,在代表整个颜色簇内像素的rgb值时,误差较小。
17.进一步改进的方案,在将服装区域图像颜色簇的颜色表示在lab空间内和目标颜色进行距离度量,将距离最近的目标颜色作为服装区域图像颜色簇的颜色类别之前,还包括对服装区域图像中每个颜色簇进行统计的步骤:
18.统计服装区域图像中每个颜色簇中的像素个数在整个服装区域图像全部像素中所占比例;
19.判断每个颜色簇的像素所占比例是否大于阈值,若是,则将该颜色簇的颜色表示在lab空间内和目标颜色进行距离度量,将距离最近的目标颜色作为服装区域图像颜色簇的颜色类别;若不是,则删除该颜色簇。
20.基于上述技术方案,通过统计服装区域图像中每个颜色簇的像素所占比例,可以剔除对服装整体颜色影响较小的数据,降低运算量。
21.进一步改进的方案,在根据服装图像的像素归类与服装区域图像,得到服装区域图像的像素归类的过程中;
22.将服装分割模型分支对服装图像的分割结果作为一个mask,与服装图像的像素归类结果进行相乘,得到每个服装区域图像的像素归类。
23.进一步改进的方案,所述服装分割模型采用以mobilenetv2作为基础框架的deeplabv3+分割模型。
24.进一步改进的方案,所述服装分割模型的训练步骤包括:
25.收集不同类型的服装图像并形成服装图像数据集;
26.对服装图像数据集中的服装图像进行标注,标注的信息包括服装的分割信息标注和服装类别标注;
27.通过标注好的服装图像数据对服装分割模型进行训练,直到服装分割模型达到训练稳定;
28.对训练好的服装分割模型进行测试,得到测试合格的服装分割模型。
29.进一步改进的方案,所述颜色分类模型采用1
×
1的卷积核且由若干层卷积层堆叠构建的模型。
30.进一步改进的方案,所述颜色分类模型的训练步骤包括:
31.收集不同类型的服装图像并形成服装图像数据集;
32.采用服装图像数据集中的服装图像对颜色分类模型进行训练;在训练过程中,并采用自监督的方法对颜色分类模型进行训练,直到颜色分类模型达到训练稳定;
33.对训练好的颜色分类模型进行测试,得到测试合格的颜色分类模型。
34.基于上述方案,采用自监督的方法对颜色分类模型进行训练,一方面,可以免去大量的人工标注的工作量,另一方面,自监督只和输入图片本身相关,所以可以对图片进行各种像素级别上的增强,在一定程度上增广了数据集。
35.第二方面,本公开提供了一种基于深度学习的单阶段服装颜色识别方法,包括:
36.接收服装图像;
37.对服装图像做服装分割得到服装区域图像和服装区域图像的图像类别;
38.对服装图像进行rgb颜色识别,得到像素的rgb值,根据像素的rgb值将服装图像进行像素归类,并将像素归类为对应的颜色簇;
39.根据服装图像的像素归类与服装区域图像,得到服装区域图像的像素归类;根据服装区域图像的颜色簇内像素的rgb值,得到服装区域图像中每个颜色簇的颜色表示;
40.将服装区域图像颜色簇的颜色表示在lab空间内和目标颜色进行距离度量,将距离最近的目标颜色作为服装区域图像颜色簇的颜色类别。
41.本公开的有益效果为:
42.本公开中,一方面,将服装分割模型和颜色分类模型融合在一个模型中可以通过一步来完成服装分割和颜色识别,达到对服装图像的颜色识别,提高了计算速度。另一方面,在服装分割模型和颜色分类模型中,通过对服装图像进行服装分割和rgb颜色识别,得到服装区域图像的像素归类,然后根据归类结果,在lab空间内计算得到服装区域图像中精细度较高的目标颜色,相对于通过颜色分类模型直接获得精细度较高的颜色类别,降低了计算量,提高了运算效率。多方面运算速度优化的叠加,相对现有的服装区域颜色识别,运算速度提高了3

4倍;此外,本公开系统整体的内存占比也较小。
43.在提高了运算速度的基础上,最终服装区域的颜色输出精细度较高,提高了颜色识别的精细度以及颜色的识别量。
44.通过归类可以将rgb值在同一个范围内的归类到同一个颜色簇,降低了数据的干扰。
附图说明
45.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简要介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关附图。
46.图1是本公开中,基于深度学习的单阶段服装颜色识别系统的识别流程示意图。
47.图2是本公开中,基于深度学习的单阶段服装颜色识别方法的流程示意图。
48.图3是本公开中,本公开中的基于深度学习的单阶段服装颜色识别系统识别时间,与现有模型的识别时间的对比示意图。
具体实施方式
49.下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚完整的描述。应当理解,此处所描述的具体实施例仅仅用于解释本公开,并不用于限定本公开。基于本公开的实施例,本领域技术人员在没有创造性劳动的前提下所获得的所有其他实施例,都属于本公开的保护范围。
50.实施例一:
51.如图1所示,本实施例提供了一种基于深度学习的单阶段服装颜色识别系统,包括:
52.服装分割模型分支,用于对服装图像做服装分割得到服装区域图像和服装区域图像的图像类别;
53.颜色分类模型分支,用于对服装图像进行rgb颜色识别,得到像素的rgb值,根据像素的rgb值将服装图像进行像素归类,并将像素归类为对应的颜色簇;
54.融合单元,用于根据服装图像的像素归类与服装区域图像,得到服装区域图像的像素归类;根据服装区域图像的颜色簇内像素的rgb值,得到服装区域图像中每个颜色簇的颜色表示;
55.映射匹配单元,用于将服装区域图像颜色簇的颜色表示在lab空间内和目标颜色进行距离度量,将距离最近的目标颜色作为服装区域图像颜色簇的颜色类别。
56.其中,在服装分割模型分支中,对服装图像做服装分割得到服装区域图像,是指将服装图像分割成背景部分和服装区域图像部分,同一张图中可能不止一张服装区域图像,服装区域图像是指只包含服装的图像。
57.其中,服装图像的像素归类是粗粒度的颜色归类,例如,将服装图像中的像素以较粗粒度地归类为相似的像素种类上,比如粉扑色、方解石、乳霜等;而在lab颜色空间内的匹配是一种精细度更高的匹配,例如:目标颜色中粉扑色进一步细分为粉扑粉、花粉色、露白色等;将方解石进一步细分为方解石粉、浅紫罗兰色、粉红豹粉等,然后根据颜色簇的颜色表示进行精准匹配。
58.其中,服装分割模型分支和颜色分类模型分支共享同一张输入的服装图像,在融合单元中,将服装分割模型分支对服装图像的分割结果作为一个mask(是否为服装区域的标签,是则为1,否则为0),与服装图像的像素归类结果(像素的颜色归类标签)进行相乘,得到每个服装区域图像的像素归类。
59.其中,在颜色分类模型分支中,用于对服装图像进行rgb颜色识别,得到像素的rgb值,根据像素的rgb值将服装图像进行像素归类,并将像素归类为对应的颜色簇。具体的一种方式:在根据像素的rgb值将服装图像进行像素归类的过程中,将rgb值与颜色簇预设rgb值的距离小于预设值的像素归为同一颜色簇。例如:颜色簇预设rgb值为(120,130,140),将rgb值(122,129,139)和rgb值(121,132,141)归属到该颜色簇。
60.其中,在将服装区域图像颜色簇的颜色表示在lab空间内和目标颜色进行距离度量,将距离最近的目标颜色作为服装区域图像颜色簇的颜色类别的过程中,所采用的目标颜色数据涵盖了颗粒度细致且种类全面的服装行业常用的颜色对比数据,共计入颜色900余种颜色类别。
61.在上述方案的基础上,在根据服装区域图像的颜色簇内像素的rgb值,得到服装区
域图像中每个颜色簇的颜色表示过程中;将颜色簇内像素的rgb值的均值作为颜色簇的颜色表示。其中,颜色表示为可以代表整个颜色簇内所有像素的rgb值。将颜色簇内像素的rgb值的均值作为颜色簇的颜色表示,在代表整个颜色簇内像素的rgb值时,误差较小。
62.为了剔除对服装整体颜色影响较小的数据,在上述任一方案的基础上,在将服装区域图像颜色簇的颜色表示在lab空间内和目标颜色进行距离度量,将距离最近的目标颜色作为服装区域图像颜色簇的颜色类别之前,还包括对服装区域图像中每个颜色簇进行统计的步骤:统计服装区域图像中每个颜色簇中的像素个数在整个服装区域图像全部像素中所占比例;判断每个颜色簇的像素所占比例是否大于阈值,若是,则将该颜色簇的颜色表示在lab空间内和目标颜色进行距离度量,将距离最近的目标颜色作为服装区域图像颜色簇的颜色类别;若不是,则删除该颜色簇。其中,阈值可以设置为5%或10%等,根据不同的情况进行设定。通过统计服装区域图像中每个颜色簇的像素所占比例,可以剔除对服装整体颜色影响较小的数据,降低运算量。
63.在上述任一方案的基础上,所述服装分割模型采用以mobilenetv2作为基础框架的deeplabv3+分割模型。服装分割模型采用监督学习的方法,利用交叉熵损失作为损失函数,衡量对于某个像素类别的归类准确程度,判断其属于背景还是服装以及所属服装的类别。本公开的服装分割模型具有轻量、推理速度快等优点,服装分割模型特点是采用了反瓶颈的结构,并且使用了可分离卷积,大大减小了常规卷积层的模型参数。分割过程先对输入的图片进行3次2倍下采样,然后8倍上采样恢复到原图大小。
64.其中,所述服装分割模型的训练步骤包括:
65.收集不同类型的服装图像并形成服装图像数据集;在服装图像的收集过程中,要求包含各种类型的服装,在图片中服装是较为突出的图片元素,场合、姿势、风格不限,以保证数据的充分性和实际生活代表性。此外,要对服装的图片进行一定的质量过滤,首先保证图片的主题或者主要元素和服装相关,服装在图中占比要高,图片的质量要高,种类和场景要丰富,建立高质量的服装图像数据集;
66.对服装图像数据集中的服装图像进行标注,标注的信息包括服装的分割信息标注和服装类别标注;在标注分割数据集时,主要标注服装的分割信息标注,主要方法是从原始的图片当中将服装和背景信息以及人体信息分离出来,并对分离出来的服装区域作出类别上的标注,如上衣、外套、裤装、裙装等,这部分主要是为了后续的不同类别服装的颜色识别;标注完成得到训练数据集,可用于训练服装分割模型。此外,要有严格的标注要求,在分割标注信息上要保证服装和背景的边界处有较高的标注质量,同时对于标注出的服装区域也要有相应的分类的标注,分为上衣、裤装、裙装、外套、半身裙几个大类别。标注过程中注意统计相关类别服装的数据,保证数据集的相对平衡,对于缺少的数据要额外采集;
67.通过标注好的服装图像数据对服装分割模型进行训练,直到服装分割模型达到训练稳定;
68.对训练好的服装分割模型进行测试,得到测试合格的服装分割模型。
69.在上述任一方案的基础上,所述颜色分类模型采用1
×
1的卷积核且由若干层卷积层堆叠构建的模型。颜色分类模型采用常规的1
×
1大小的卷积核的多层卷积层堆叠,并使用层归一化的方法,可以在整图上进行每个像素向预设的颜色类别的分类。颜色识别是采用了全联接神经网络可以拟合任何函数的原理,首先从构建的服装颜色库中根据颜色的相
似度多层分类,选取中间层的类别(记为n)作为预设的颜色分类类别标签,拟合构造一个由16777216维(三原色数值分别是0~255,各有256种,组合出的颜色有256*256*256种)向n维映射的函数,并借助卷积神经网络可以并行的特点,实现对一张图片进行全图的像素并行分类的功能。
70.其中,所述颜色分类模型的训练步骤包括:
71.收集不同类型的服装图像并形成服装图像数据集;
72.采用服装图像数据集中的服装图像对颜色分类模型进行训练;在训练过程中,并采用自监督的方法对颜色分类模型进行训练,直到颜色分类模型达到训练稳定;
73.对训练好的颜色分类模型进行测试,得到测试合格的颜色分类模型。
74.训练数据集可以使用服装分割模型的服装图像数据集,也可以额外搜集其他服装图片,在质量上要求较低,要求图片来源、风格、服装类别丰富即可。采用自监督的方法对颜色分类模型进行训练,一方面,可以免去大量的人工标注的工作量,另一方面,自监督只和输入图片本身相关,所以可以对图片进行各种像素级别上的增强,在一定程度上增广了数据集。
75.下面结合图1对本公开做进一步说明:
76.在服装分割模型和颜色分类模型融合后的模型中输入一张服装图像,通过颜色分类模型分支得到整图的像素归类结果,通过服装分割模型分对服装图像进行分割,将背景和服装分割,得到服装图像分割结果,然后将服装分割模型分支输出结果和颜色分类模型输出结果相乘,得到服装区域的颜色归类结果(服装区域图像的像素归类结果),并将每个服装区域图像的像素归类结果使用rgb均值表示;最后使用该均值在lab颜色空间内匹配距离最接近的目标颜色作为识别结果。
77.下面结合图3对本公开中的基于深度学习的单阶段服装颜色识别系统的运算速度做进一步说明:
78.图3中,左侧的new_model(新模型)是本公开中的基于深度学习的单阶段服装颜色识别系统时间图;右侧的old_model(老模型)是指现有技术中先通过基于深度学习的图像分割方法,将服装区域和背景、人体等不相干的区域分割出来;然后通过聚类方法对服装区域的像素提取几个中心簇,通过中心簇在lab颜色空间的距离关系确定服装的颜色。
79.采用了5000张服装图像对new_model和old_model的运算时间进行统计;纵轴代表了识别一张服装图像所需的时间;因为每张服装图像所需的识别时间可能不相同,对比图的宽度代表了识别时间在某个时间的服装图像识别量。
80.通过左侧的new_model可以看出,每一张服装图像的时间均不超过0.06s,大部分的识别时间集中在0.035s

0.04s左右(对应横向宽度最宽的时间段);通过右侧的old_model可以看出,每一张服装图像的时间均超过0.05s,大部分的识别时间集中在0.08s

0.23s左右(对应横向宽度最宽的时间段)。
81.通过对5000张服装图像进行统计,new_model单张服装图识别用时的均值分别是0.037秒;old_model单张服装图识别用时的均值分别是0.12秒。
82.综上可以看出,本公开中的基于深度学习的单阶段服装颜色识别系统的运算速度明显高于现有技术的运算速度。
83.实施例二:
84.参阅图2,本实施例提供了一种基于深度学习的单阶段服装颜色识别方法,包括:
85.s100、接收服装图像;
86.s200、对服装图像做服装分割得到服装区域图像和服装区域图像的图像类别;
87.s300、对服装图像进行rgb颜色识别,得到像素的rgb值,根据像素的rgb值将服装图像进行像素归类,并将像素归类为对应的颜色簇;
88.s400、根据服装图像的像素归类与服装区域图像,得到服装区域图像的像素归类;根据服装区域图像的颜色簇内像素的rgb值,得到服装区域图像中每个颜色簇的颜色表示;
89.s500、将服装区域图像颜色簇的颜色表示在lab空间内和目标颜色进行距离度量,将距离最近的目标颜色作为服装区域图像颜色簇的颜色类别。
90.每个步骤前的编号,并非对逻辑步骤的顺序限定,在不冲突的条件下可以任意调整了;例如:步骤s200和步骤s300并无具体的先后顺序,可以同时进行。
91.本公开不局限于上述可选实施方式,任何人在本公开的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是落入本公开权利要求界定范围内的技术方案,均落在本公开的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1