衣物识别方法、系统及衣物护理装置与流程

文档序号:25023736发布日期:2021-05-11 16:48阅读:87来源:国知局
衣物识别方法、系统及衣物护理装置与流程

本发明属于图像识别技术领域,具体地说,是涉及一种衣物识别方法、系统及衣物护理装置。



背景技术:

现有的衣物护理机,根据衣物的不同材质或者不同类型配置有多种护理程序供选择,在应用时,用户需要辨认衣物的材质或者类型,然后自行选择合适的程序运行,这种方式需要用户具备对材质或类型的辨别能力,但通常用户的辨别能力有限,导致选择的护理程序不合适。

为降低用户辨别和选择操作的难度,现有技术中存在基于机器学习方法自动识别衣物的类型或者材质,进而根据识别的衣物类型或者材质自动匹配护理程序的方式。

这种基于机器学习自动识别分类的方式,一般是针对衣物类型构建分类模型然后训练,或者针对衣物材质构建分类模型然后训练,模型之间不做信息交互。



技术实现要素:

本发明的目的在于提供一种衣物识别方法、系统及衣物护理装置,使用多任务的网络结构,将多个衣物属性共用一套卷积层,仅在最后全局全池化层后并联多个全连接层,每个全连接层对应一个衣物属性的分类输出,提高了模型对衣物多个属性相互关联的语义提炼能力,同时提高了多个任务的准确率。

本发明采用以下技术方案予以实现:

一种衣物识别方法,包括:创建神经网络模型;利用标记有m个衣物属性标签的衣物图像训练所述神经网络模型;将训练好的神经网络模型用于多属性衣物识别;其中,创建的神经网络模型依次包括输入层、第一个卷积层、第一个池化层、若干彼此连接的深度卷积层、全局池化层、m个全连接层和m个软化层;所述m个全连接层并联在所述全局池化层的输出上,每个全连接层的输出对应一个衣物属性的分类;每个全连接层的输出连接一个软化层;m为大于1的正整数。

进一步的,在所述若干彼此连接的深度卷积层的最后两层中加入空洞卷积,并改变步长以使得模型的感受野不变。

进一步的,在利用标记有m个衣物属性标签的衣物图像训练所述神经网络模型时,具体包括:采用创建的神经网络模型以及若干设定神经网络模型同时训练;融合训练结果得到融合训练模型;使用融合训练模型l训练的结果作为所述创建的神经网络的输入。

进一步的,在使用融合训练模型训练的结果作为所述创建的神经网络的输入进行训练时,所述方法还包括:取设定范围内的权重做加权平均得到最终的模型权重。

提出一种衣物识别系统,包括:创建模块,用于创建神经网络模型;所述创建的神经网络模型依次包括输入层、第一个卷积层、第一个池化层、若干彼此连接的深度卷积层、全局池化层、m个全连接层和m个软化层;所述m个全连接层并联在所述全局池化层的输出上,每个全连接层的输出对应一个衣物属性的分类;每个全连接层的输出连接一个软化层;m为大于1的正整数;训练模块,用于利用标记有m个衣物属性标签的衣物图像训练创建的神经网络;识别模块,用于采用训练好的神经网络模型进行多属性衣物识别。

进一步的,所述创建模块中,在所述若干彼此连接的深度卷积层的最后两层中加入空洞卷积,并改变步长以使得模型的感受野不变。

进一步的,所述训练模块包括:模型融合单元,用于采用创建的神经网络模型以及若干设定神经网络模型同时训练,融合训练结果得到融合训练模型,使用融合训练模型训练的结果作为所述创建的神经网络的输入。

进一步的,所述训练模块,还包括:权重融合单元,用于在使用融合训练模型训练的结果作为所述创建的神经网络的输入进行训练时,取设定范围内的权重做加权平均得到最终的模型权重。

提出一种衣物护理装置,包括:如上所述的衣物识别系统,设置在云端;衣物图像获取模块,用于获取衣物图像并发送所述云端;护理模块,用于接收所述云端返回的识别数据,基于识别数据选择衣物护理程序运行。

进一步的,所述云端还设置有:衣物检测系统,用于在所述衣物识别系统识别衣物图像之前,从所述衣物图像中检测目标区域作为所述衣物识别系统的输入。

与现有技术相比,本发明的优点和积极效果是:本发明提出的衣物识别方法、系统及衣物护理装置,将诸如包含衣物类型、衣物材质等多个衣物属性标签的多个识别任务共用卷积层,仅在最后全局池化层后分开连接多个并行输出的全连接层,每个全连接层的输出对应一个衣物属性的分类,其优点在于,将多个任务整合为一个多任务问题后,能够提高模型对衣物多个属性相互关联的语义提炼能力,同时加强了数据利用的效率,当两张衣物图像有共同的属性时,在对应属性的全连接层的输出是相近的,这样既只用了一个网络节省了系统消耗和运行时间,又将多个维度的特征剥离开,提高了多个任务的准确率。

进一步的,在训练模型时,采用多个模型融合的方式得到融合训练模型,再用融合训练模型的训练结果作为创建的神经网络模型的标签,通过这样的模型蒸馏,可以在只消耗单模型资源的情况下,得到近似于融合模型的精度效果。

进一步的,在模型训练的权重层面,取设定范围内较高的几组权重做加权平均,作为最终的模型权重,进一步提高识别精度。

结合附图阅读本发明实施方式的详细描述后,本发明的其他特点和优点将变得更加清楚。

附图说明

图1为本发明提出的衣物识别方法中创建的神经网络模型的架构图;

图2为本发明实施例一的衣物图像检测模型训练的流程图;

图3为本发明实施例一的衣物识别模型训练的流程图;

图4为本发明实施例二中衣物识别系统的系统架构图;

图5为本发明实施例二中衣物护理装置的装置架构图。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步详细的说明。

本发明提出的衣物识别方法,利用衣物的多个属性之间具有关联的特性,创建多任务网络结构,将包含多个属性的识别任务共用一套卷积层,仅在最后全局池化层后并联输出多个全连接层,每个全连接层对应一个衣物属性的分类输出,以此来提高模型对衣物多个属性相互关联的语义提炼能力,从而提高多个任务的准确率。

以一件衣物具有类型属性的同时也具有材质属性为例,现有技术中,两个任务会分别单独训练一个完整的深度神经网络,或者将两个任务的结合结果作为分类任务;第一种方式中,需要运行两遍神经网络,这会增大系统消耗和运行时间,并且两个任务完全独立,无法学习衣物类型与衣物材质之间潜在的相互关系;第二种方式中,将衣物类型和衣物材质捆绑起来,把二级类别作为最终的分类任务,但对于神经网络来说,存在衣物一与衣物二之间的特征距离和衣物一与衣物三之间的特征距离等价的情况,但衣物二和衣物三却存在两件明显不同材质或类型的情况,这明显与实际不符。

针对上述,本发明提出的衣物识别方法,创建一种神经网络模型,同时对多个任务进行训练,多个任务共用卷积层,在全局池化层后连接全连接层,全连接层的维度为多个属性相加的分类数。具体的,如图1所示,创建的神经网络模型包括输入层、第一卷积层、第一池化层、若干彼此连接的深度卷积层、全局池化层、m个全连接层以及m个软化层,其中,m为衣物的属性个数,每个全连接层的输出对应一个衣物属性的分类,每个全连接层的输出连接一个软化层。

以m=2,衣物包括类型属性和材质属性两个属性分类为例,衣物类型和衣物材质两个任务共用卷积层,经过第一卷积层的卷积和第一池化层处理后,采用四个resnet深度卷积层的连续处理,输出至全局池化层,全局池化层分开连接两个全连接层,一个全连接层输出衣物类型分类结果,一个全连接层输出衣物材质分类结果,每个全连接层连接一个软化层,这样将两个任务整合为一个多任务问题,提高了模型对衣物两个属性相互关联的语义提炼能力,加强了数据利用效率。

当两张衣物图像有共同的材质特征时,在材质维度的全连接层输出应该是相近的,这样,只用了一个网络节省了系统消耗和运行时间,同时,将衣物类型和衣物材质两个维度的特征剥离开;若某一张衣物图像只有单一维度的标注,例如只有衣物类型标注,本发明创建的神经网络模型只对单一维度的网络参数有影响,而对没有标注的维度参数不产生任何影响。

优选的,本发明创建的神经网络模型中,在模型最后两层深度卷积层中加入空洞卷积,以及改变步长,使得模型的感受野不变。

下面以具体实施例对本发明提出的衣物识别方法做出详细说明。

实施例一

本实施例中,采用创建的神经网络模型,利用标记有m个衣物属性标签的衣物图像训练该神经网络模型,并将训练好的神经网络模型用于多属性衣物的识别。

具体的,本实施例中,包括衣物图像检测模型训练和衣物识别模型训练两部分内容。

如图2所示,衣物图像检测模型的训练包括:

s21:衣物图像预处理。

包括但不限定于标准化输入图片尺寸、转换图像格式、图片清洗、标注、数据增强、数据扩增等;并随机划分为训练集和验证集。

s22:设置训练参数、学习率、优化器、损失函数。

s23:经过rfcn网络计算得到预测值。

使用训练集经过rfcn网络计算,得到预测值。

s24:通过损失函数计算预测值与正确值的差,反馈并反向求导进行迭代。

s25:经过n个epoch循环达到训练epoch。

s26:使用验证集测试,验证训练结果。

通过以上步骤训练得到衣物图像检测模型。

衣物识别模型训练中,采用本发明提出的神经网络模型,如图3所示,包括:

s31:图片预处理。

包括但不限定于尺寸调整、标注属性、诸如随机旋转、随机遮挡、随机翻转就、随机切割等的数据增强处理等;在本步骤中,使用attention机制,通过headmaps将模型注意力集中在设计的关键区域,并使用上下文填充增大感兴趣区域的面积,以减少衣物图像检测模型的误差对最终结果的影响,并且,因为有些衣物是穿在模特身上的,可以利用人体的信息做参考。

s32:设置训练参数。

s33:采用创建的神经网络模型和若干设定神经网络模型同时训练。

本实施例中,采用创建的神经网络模型、dpn模型、den模型和inception模型等四个模型分别进行训练。

s34:融合训练结果得到融合训练模型。

将四个模型的训练结果融合,赋值给创建的神经网络模型中的各个层,得到融合训练模型,也即teachermodel。

s35:使用融合训练模型进行训练。

用teachermodel对训练数据做预测。

s36:将融合训练模型训练的结果作为创建的神经网络的输入。

将融合训练模型训练的结果作为studentmodel的输入,也即作为创建的神经网络的输入。

s37:将s36的训练结果输入创建的神经网络模型进行训练。

s38:取设定范围内的权重做加权平均得到最终的模型权重。

在模型权重层面对模型进行融合,取设定范围内较高的几组权重做加权平均,以此作为最终的模型权重。

s39:将s38得到的权重赋值给创建的神经网络的各个层,得到最终的神经网络模型。

经过上述两个模型的训练后,在衣物识别时,将获取的衣物图像经过预处理后,输入衣物图像检测模型,衣物图像检测模型输出检测后的衣物图像输入衣物识别模型,衣物识别模型从其m个全连接层分别输出m个属性的分类结果。

实施例二

本实施例在实施例一创建的神经网络模型基础上,提出一种衣物护理装置,该衣物护理装置,如图5所示,包括衣物检测系统3、衣物识别系统4、衣物图像获取模块51、云端6以及衣物护理模块52。

衣物检测系统3用于基于实施例一中训练的衣物图像检测模型,在衣物识别系统4识别衣物图像之前,从衣物图像中检测目标区域作为衣物识别系统4的输入。

衣物识别系统4如图4所示,包括创建模块41、训练模块42以及识别模块43,设置在云端6上。该衣物识别系统4基于本发明提出的衣物识别方法实现,其中,创建模块41用于创建神经网络模型;创建的神经网络模型依次包括输入层、第一个卷积层、第一个池化层、若干彼此连接的深度卷积层、全局池化层、m个全连接层和m个软化层;m个全连接层并联在全局池化层的输出上,每个全连接层的输出对应一个衣物属性的分类;每个全连接层的输出连接一个软化层;m为大于1的正整数;训练模块42用于利用标记有m个衣物属性标签的衣物图像训练创建的神经网络;识别模块43用于采用训练好的神经网络模型进行多属性衣物识别。

创建模块41中,在若干彼此连接的深度卷积层的最后两层中加入空洞卷积,并改变stride以使得模型的感受野不变。

具体的,训练模块42包括模型融合单元421和权重融合单元422;模型融合单元421用于采用创建的神经网络模型以及若干设定神经网络模型同时训练,融合训练结果得到融合训练模型,使用融合训练模型训练的结果作为studentmodel的输入,也即创建的神经网络的输入。权重融合单元422用于在训练在使用融合训练模型训练的结果作为创建的神经网络的输入进行训练时,取设定范围内的权重做加权平均得到最终的模型权重。

衣物护理装置通过串口通信发送数据包至诸如树莓派等的中间件2,中间件2通过分析数据包判断是否进行拍照,在判断需要拍照时,衣物图像获取模块51对衣物进行拍照,中间件则将拍摄的衣物图像上传至云端6,衣物检测系统从衣物图像中检测目标区域作为衣物识别系统4的输入,衣物识别系统4对衣物进行识别,将识别的结果反馈给中间件,中间件对识别信息进行编码,并通过串口通信返回数据包给衣物护理模块52,衣物护理模块52根据中间件返回的数据包选择护理程序运行,对衣物进行护理。

应该指出的是,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的普通技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。

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