基于神经网络模型精细分类的服饰属性标签识别方法与流程

文档序号:17589296发布日期:2019-05-03 21:37阅读:215来源:国知局
基于神经网络模型精细分类的服饰属性标签识别方法与流程
本发明涉及基于神经网络模型进行计算机视觉处理实现图像分类和目标检测,具体涉及一种基于神经网络模型精细分类的服饰属性标签识别方法。
背景技术
:随着计算机视觉(机器视觉)的迅速发展,计算机视觉中的物体分类和目标检测方法被应用到实际生活中的方方面面,自动驾驶、刷脸支付、工业自动分类机、图像检索等都是这方面的应用。神经网络和深度学习的最新进展极大地推动了这些最先进的视觉识别系统的发展。并且计算机视觉在时尚界也展露头角,ai时尚对于我们的生活有了更大的改变,对我们的穿衣搭配产生了巨大的影响,而服饰属性分类也是这里面的一部分,也使用了相关的技术。对于图像分类技术而言,从最初的统计机器学习方法,如svm、knn等,发展到现在流行的神经网络,其中最具有代表性的网络像zfnet(2013),googlenet(2014),vggnet(2014),resnet(2015),densenet(2016),这些都具有里程碑的意义,逐步提高了分类的精度。对于图像分类方面,技术上也面临很大的挑战,具体一点的有视点变化,尺度变化,类内变化,图像变形,图像遮挡,照明条件和背景杂斑等。对于物体检测技术而言,识别图像中的对象这一任务,通常会涉及到为各个对象输出边界框和标签。识别必须先进行图像分割,其中分割的方法主要有阈值分割方法,边缘检测方法,区域提取方法。从最初的基于区域的搜索(extractregionproposals),再到经过深度网络的自动区域选取。发展过程中,最主要的几个模型,alexnet(2012),rcnn(2012),overfeat(2012),zfnet(2013),sppnets(2013),yolo(2013),fastrcnn(2013),multibox(2015)等。技术实现要素:针对计算机视觉在时尚方面的应用,本发明提出了基于神经网络模型精细分类的服饰属性标签识别方法,针对一个服饰,本方法能够提供服饰所有的属性标签,服饰属性标签是构成服饰知识体系的重要根基,内部庞大复杂。本发明对服饰属性进行了专业的整理和抽象,构建了一个符合认知过程,结构化且满足机器学习要求的标签知识体系。由此诞生的服饰属性标签识别技术可以广泛应用在服饰图像检索,标签导航,服饰搭配等应用场景。本发明的目的是通过以下技术方案实现的:基于神经网络模型精细分类的服饰属性标签识别方法,包括以下步骤:(1)将收集的服饰图片运用目标检测算法fasterrcnn进行切割,将多余的无关背景去掉;(2)将不同的背景种类图片分开,分为平铺图片和模特图片;(3)将得到的图片进行数据增广,包括反射、旋转和随机拉伸操作,增加图片的数量,得到增广训练数据;(4)将得到的增广训练数据作为训练集,训练nasnet改进的多分类网络,训练inceptionresnetv2改进的多分类网络;(5)将nasnet和inceptionresnetv2训练的网络模型进行融合,采用加权平均的融合方法,输出服饰的属性标签。本发明应用在在目前较流行的fashionai方面,应用和改性目前先进的网络模型,使用fasterrcnn更加充分的进行图像中服饰的检测,将含有服饰的部分分割出来,减少其他环境背景对后续模型的影响。然后将分割出来的图片,进行图片的扩充技术,主要包括大小size的扩充、像素的增强。分模块化的处理流程,进行属性标签的识别。该方法预期达到以下有益效果:1、本发明选取了目前准确率较高的fasterrcnn模型进行目标检测,并重新训练和修改相关的网络参数,使得网络结构能够更好的应用于服饰数据中,极大的提高了后续属性标签的准确识别率,减少了背景因素的影响。2、本发明运用很多图像增广的技术,将原始的数据进行了有效的扩充,减少了单一环境对识别的影响,也使得这些属性能够更加充分的被训练,提高了模型最后的准确率。3、本发明采用nasnet网络模型的部分结构,并修改nasnet网络模型的输出结构,使得模型能够用于服饰多属性标签的识别,这比原始单一属性的识别经度上提高了几乎3%,然后以相同的技术应用于inceptionresnetv2的网络,所有的类别共享浅层的特征,每个类别又在深层学习各自独有的特征。然后将这两种网络模型进行融合。附图说明图1是服饰属性结构框架示意图;图2是服饰属性标签示意图;图3是服饰属性在模特图表征示意图;图4是整体框架处理示意图;图5是经过fasterrcnn分割的图片示意图;图6是nasnet与其他网络模型的比较;图7是nasnet和inceptionresnetv2修改后的输出网络结构;具体实施方式下面结合附图对本发明作进一步的描述。本发明从多个维度出发,能够将服饰的各个属性都列举出来,从服饰的特征方面,能够得到三个视角,上身视角、下身视角、全身视角。就上身视角而言,又能够得到属性包括:领、袖、衣。对于下身视角,能够得到的属性包括裙和裤。对于全身视角,能够得到廓形和腰的属性。再经过模型的精分,又能得到更加精细的属性。以领为例子,会得到脖颈设计、领子设计、翻领设计、颈线设计、细节设计。其中每一种设计又包含很多不同的设计类型。本实施例以脖颈设计为例,下面包含荷叶半高领、常规半高领、堆堆领、高常规领。通过本发明方法,可以将一张服饰属性的标签识别出来。如图1所示,是整个发明的服饰属性分类的详细属性框架图,包含了所有服饰的属性,也是这个系统最后的输出属性结果。如图2所示,是有训练模型时的标签。也是模型输出的标签,通过标签我们就能查询到相应的属性,其中,n表示非,y表示是。脖领属性设计有4个属性,那么nnyn就表示堆堆领。这个可以在图1中查找,通过脖颈设计属性这个属性分支,查找下面一共四个小属性,分别是荷叶半高领、常规半高领、堆堆领、高常规领,通过对应nnyn,可以知道是堆堆领。如图3所示,是模特图表征示意图,能够很好的体现出图4框架的输入形式,几乎所有的图像都是以这种形式输入到图4框架当中,然后经过框架得到输出结果。如图4所示,是整个发明框架的流程示意图。先得到一个输入的图片,图片并没有什么特殊的处理,就是原始图片,然后将图片经过fasterrcnn,这时候需要先重新训练这个fasterrcnn这个模型,因为这次的数据不同于原始模型训练的数据,为了能够更好的输出分割后图片的效果,使用微调的技术,对fasterrcnn进行训练,我们也可以看到其中的损失函数:公式(1)中,pi为中心点预测为目标的概率,表示背景标签,当为正标签时当为负标签时ti={tx,ty,tw,th}是一个向量,表示预测的界限框的四个坐标,正向中心预测对应的正确背景包围盒的坐标向量,是目标和非目标的对数损失,是回归损失,λ是平衡权重,ncls是cls项的归一化值,nreg是reg项的归一化值。训练过程中,使得损失函数最小。然后就能得到相对于数据集的最优模型,能够以最优的方式将图像进行分割,图示5是得到的部分数据,框内就是经过fasterrcnn模型,将框内的图片分割出来得到所需的图片。以下详细介绍本发明中的fasterrcnn训练过程:不管是rpn还是fast-rcnn网络,其网络结构的一部分来自预训练模型的卷积层(下面均简称模型),另一部分则是他们各自特有的结构(下面简称特有结构)第一步:用模型初始化rpn网络,然后训练rpn,在训练后,模型以及rpn的特有结构会被更新。第二步:用模型初始化fast-rcnn网络,注意这个模型和第一步一样。然后使用训练过的rpn来计算候选框,再将候选框给予fast-rcnn网络。接着训练fast-rcnn。训练完以后,模型以及fast-rcnn的特有结构都会被更新。说明:第一和第二步,用同样的模型初始化rpn网络和fast-rcnn网络,然后各自独立地进行训练,所以训练后,各自对模型的更新一定是不一样的,因此就意味着模型是不共享的。第三步:使用第二步训练完成的模型来初始化rpn网络,第二次训练rpn网络。但是这次要把模型锁定,训练过程中,模型始终保持不变,而rpn的特有结构会被改变。说明:因为这一次的训练过程中,模型始终保持和上一步fast-rcnn中模型一致,所以就称之为着共享。第四步:仍然保持第三步的模型不变,初始化fast-rcnn,第二次训练fast-rcnn网络。其实就是对其特有结构进行微调,训练完毕。由于在实验过程中,发现平铺的图片和模特的图片相混合进行整个框架的后期训练,会降低实验的效果,使得结果并不能很理想,于是,在发明中将这两类图片分开,然后用相同的模型训练,这样也能得到不同的参数,使得后期模型能够表现的更好。分开的图片先要经过一个数据增广的过程。这个过程称为图像增强,由于一张图像由于拍摄的角度,光照,饱和度等因素会对训练模型产生不一样的结果,这就是造成模型的训练数据过少,使得结果过拟合,为了提高模型的泛化能力。本发明使用的数据增广有指定旋转角度范围为10,宽度改变的范围为0.2,高度改变的范围为0.05,剪切的范围为0.1,变焦范围为0.05,设置水平的flip,垂直的flip不设置,置为false,填充的模式为'nearest',通道的转换范围为10,这是发明的详细的数据增广的参数。经过数据增广能够得到大量的数据。图像增广后,先修改nasnet网络的结构,网络的浅层网络不变,将网络的输出端修改成八分类的网络输出,本实施例中采用多任务学习的结构,所有的类别共享浅层的特征,每个类别又在深层学习各自独有的特征。由于属性的标签过多,一张图上不能够完全的展示所有的属性标签,所以将部分的属性标签网络结构展示如图7所示,第一步:我们需要先统计每个属性的类别,这里举个例子,例如衣领设计的类别有5种,那么我们就会得到collar_design=5,其他的属性类推。第二步:得到属性的类别后,构建一个对分类器的模型,构建是通过设置基模型为nasnetlarge,不包含top层。然后在后面层中添加属性长度的多分类层。最后,将数据经过softmax进行多分类。第三步:由于修改了网络的结构,那么metrics里面的函数也要进行相应的修改,使能够更加的拟合数据,从而训练出更加准确的模型。由于每个样本只对应一个问题,所以用默认的metrics里的acc计算准确率的时候会出现偏低的情况,因此需要实现一个准确率评估函数,这里仅计算y_true不为0的样本的准确率。然后将inceptionresnetv2网络进行相同的操作。终将得到的两个模型的结果,剩下的就是将这两个进行模型融合,选择加权融合,这里采用sigmoid反函数的加权融合。使用stacking结合sigmoid反函数的方法进行融合。用两个模型的结果作为新的特征进行训练,然后利用不同折数加参数,特征,样本(随机数种子)扰动,再使用加权平均结合sigmoid反函数得到最终结果。其中sigmod反函数的应用,首先将各个模型的结果代入到sigmoid反函数中,然后得到其均值,对其结果使用sigmoid函数。相较于普通的加权平均,这种方法更适合于结果具有较小差异性的。其中sigmoid公式如下所示:公式(2)中,x为输入变量,e为常数,s(x)为得到的结果。通过公式(2)可以得到的标签文件,我们就能够通过图2属性标签示意图得到服饰的属性。具体的,对于nasnet网络模型,可以看下nasnet网络的和目前其他流行网络的对比,如图6所示,nasnet能够以较少的操作数获得较高的准确率。几乎很好用的模型了,准确率十分的高。在imagenet图像分类上,nasnet在验证集上的预测准确率达到了82.7%,超过了之前构建的所有inception模型[2,3,4]。此外,nasnet的准确率比之前公布的所有结果提升了1.2%。nasnet还可以调整规模,生成一系列可以实现较高准确率的模型,同时将计算开销控制在非常低的水平。例如,小版本的nasnet可以实现74%的准确率,比面向移动平台的同等规模最先进模型提升了3.1%。大型nasnet则可实现最高的准确率。本发明还做了一些对比实验,其中使用原始的单分类,就是将服饰属性中所有的属性都训练一个模型,这样会产生和属性标签一样多的模型,先不考虑准确性,就单从模型的角度来看,大量的模型冗余,造成系统的不可用性。然后我们在对比准确性,发现单一模型还不如混合的输出适配模型,这种改进的网络能够提高3%的准确率。表1不同模型的准确率对比模型准确率属性衣长裙长裤长单一模型91.23%91.67%91.42%混合模型93.20%93.31%93.25%对于inception-resnet-v2架构的精确度比之前的最优模型更高,通过修改inception-resnet-v2架构我们能获得更高的准确率。为的是使用两个模型,减少单一模型造成的部分缺陷,两个模型通过加权融合,能够优势互补,提高整体的准确率,其中我们可以看到如下表所示的inception-resnet-v2错误率的对比情况。表2不同网络结构的错误率本发明使用的数据集有20g多,几乎涵盖了所有的服饰类型,基本都上图片来自于淘宝上服饰展示的图片,所以本模型几乎能够应用于绝大多数的。本发明并不限于上文描述的实施方式。以上对具体实施方式的描述旨在描述和说明本发明的技术方案,上述的具体实施方式仅仅是示意性的,并不是限制性的。在不脱离本发明宗旨和权利要求所保护的范围情况下,本领域的普通技术人员在本发明的启示下还可做出很多形式的具体变换,这些均属于本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1