本申请属于图像信息处理技术领域,尤其涉及一种图片风格识别方法及装置。
背景技术:
随着互联网消费时代的发展,消费者可以线上挑选自己喜爱的商品,极大的方便了用户购物。例如消费者可以通过线上商家展示的商品图片选取自己喜欢的商品种类。
一般的,消费者在线上购买商品时往往会受到多种概念因素的影响,例如比如品牌、价格、颜色、风格类型等,这些概念因素一般可以由商家在服务操作平台进行人工设置。在众多概念因素中,一些例如服装的品牌、价格、色彩等因素通常是容易定义,且一般有着相对明确、规范的界限进行区分。而对于其他一些商品的概念如服装风格,由于概念的语义性较强,受个人主观判断影响严重等,导致不同的商家或消费者对具体的某一件服装风格定义上出现较大偏差。例如有的消费者会认为服装上包含了字母“ROCK”的应该是街头风格,有的消费者则会认为服装上有铆钉等元素的是街头风格。而对于服装设计者来说,可能综合了各种各样的元素来组成最后的成品,其中可能包含了街头的元素,也可能有民族或文艺的元素。经过一些实际应用数据分析,发现约有15%的消费者在购买服装类商品时,会结合风格关键词进行商品搜索,这个比例仅仅落后于服装的品牌和类目两个因素。可见商品风格类型这个因素对于线上商品导购起到非常重要的作用。然而,无论是商家还是消费者会在判断填写商品所属的风格类型时往往会因为出现主观因素影响出现较大偏差,因此类似这样商品风格类型的概念在商家和消费者中常常产生混淆和歧义,影响商家商品的风格分类或者消费者商品风格的筛选,降低商品营销效果。这样不仅影响成交转化率,也降低了用户体验。同时,由于线上商品种类繁多,一般在涉及商品风格类型处理的信息量较大,也会消耗作业人员大量的作业时间和劳动量。
现有技术中采用人工主观判断的方式对商品风格进行识别往往会导致商品风格识别结果的差异化较大,难以进行准确、合理、统一的风格识别。同时采用人工识别的判断方式也加大了作业人员商品风格识别的工作强度,降低了风格识别效率。
技术实现要素:
本申请目的在于提供一种图片风格识别方法及装置,可以实现对商品图片的商品风格类型进行自动、准确的识别,可以提高商品风格识别准确性和效率,降低作业人员的工作强度。
本申请提供一种图片风格识别方法及装置是这样实现的:
一种图片风格识别方法,所述方法包括:
获取样本图片,按照预设方式对所述样本图片进行处理后形成样本训练集;
对预先设置的多目标卷积神经网络进行参数初始化,以及将所述样本训练集中的样本图片在所述参数初始化后的多目标卷积神经网络中进行训练,得到图片风格识别模型;
利用所述图片风格识别模型对待识别图片进行识别,获取所述待识别图片属于不同风格类型的概率向量,所述概率向量中每个风格类型的概率值的取值范围为0至1;
根据预先设置的判断规则和所述概率向量识别所述待识别图片所属的风格类型。
一种图片风格识别装置,所述装置包括:
训练集构建模块,用于获取样本图片,以及按照预设方式对所述样本图进行处理形成样本训练集;
样本训练模块,用于存储设置的多目标卷积神经网络;还用于对所述多目标卷积神经网络进行参数初始化,以及将所述样本训练集中的样本图片在所述参数初始化后的多目标卷积神经网络中进行训练,得到图片风格识别模型;
图片识别模块,用于利用所述图片风格识别模型对待识别图片进行识别,获取所述待识别图片属于不同风格类型的概率向量,所述概率向量中每个风格类型的概率值的取值范围为0至1;
风格识别模块,用于存储预先设置的图片风格判断规则,以及根据所述判断规则和所述概率向量识别所述待识别图片所属的风格类型。
本申请提供的图片风格识别方法及装置,采用了利用商品的图片信息结合设置的卷积神经网络来进行商品风格的识别。具体的实施过程中可以利用样本训练集中的样本图片在预先设置的特定网络层结构的多目标卷积神经网络中进行训练,得到具有图片风格识别能力的识别模型,进而可以实现自动识别需要进行风格分类的待识别图片的风格类型。本申请提供的方法可以实现商品风格自动快速识别,降低作业人员工作强度,提高识别效率。本申请中所述的样本训练集中的样本图片可以预先经过归一化和数据扩展处理,这样可以提高识别模型的风格识别准确性和可靠性。本申请中可以根据需要预先设置风格判断规则,再基于识别模型输出的概率向量,合理、有效、准确的识别出商品图片所属的风格类型。利用本申请实施方案,不仅可以大大提高图片风格识别准确率,降低作业人员的工作强度,还可以为用户提 供准确的款式导购以及为商户提供准确的商品风格分类,可以改善用户体验,增加商品成交转化率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的图片风格识别方法一种实施例的方法流程图;
图2是本申请对服装样本图片进行裁剪的实施过程示意图;
图3是本申请提供的预先设置的多目标卷积神经网络一种实施例的模型结构示意图;
图4是本申请一种应用场景中第一卷积层学习到的64个高斯卷积核的可视化效果示意图;
图5是本申请所述服装风格识别装置一种实施例的模块结构示意图;
图6是本申请提供的所述样本训练模块中多目标卷积神经网络一种实施例的模型结构示意图;
图7是本申请提供的所述风格识别模块一种实施例的模块结构示意图;
图8是本申请提供的所述训练集构建模块一种实施例的模块结构示意图;
图9是本申请提供的所述训练集构建模块另一种实施例的模块结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
下面结合附图对本申请所述的图片风格识别方法及装置进行详细的说明。图1是本申请提出的图片风格识别方法的一种实施例的方法流程图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块结构。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本申请实施例提供的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品执行时,可以按照实施例或者附图 所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
本申请可以从商品的图片信息出发,对商品的图片信息进行特征提取,然后以每个风格为维度结合分类器进行分类。分类器可以对商品图片属于各个风格类型的可能性进行判断,得到相应的概率值。本申请方法可以结合每个风格得到的概率值对该商品可能属于的风格类型进行输出,从而识别出商品所属的风格类型。本申请可以以服装商品识别为例进行方案的具体说明,当然,本申请所述的图片风格识别技术方案不仅可以用于男装、女装、内衣等服装类图片风格类型的识别,同样可以适用于包括但不限于鞋、帽、箱、包、装修风格等商品展示图片的风格类型识别。具体的如图1所示,本申请提供的图片风格识别方法的一种实施例可以包括:
S1:获取样本图片,按照预设方式对所述样本图片进行处理后形成样本训练集。
本申请服装风格实施例的应用场景中可以获取服装商品的样本图片,具体的获取方式可以包括预先通过网络搜索或拍摄或存储的数据库中获取等。本申请在构建形成所述样本训练集的处理过程中,可以对不同服装类目的图片进行采样,获取服装样本图片。一般的,所述获取的服装样本图片通常为矩形形状,当然,本申请中所述的样本图片并不排除其他多边形的形状。一种实施例中,在实施本申请方案时可以将非矩形的样本图片预先处理为矩形的样本图片。本申请具体可以以女装连衣裙为一种应用场景实施例进行说明,在本实施例中可以定义11种不同风格的连衣裙风格类型,然后可以对每个连衣裙风格类型采集1500张服装样本图片。本实施例中每个样本图片可以包括设置的图片款式标签的标注数据。
进一步的,本申请可以根据预先设置的处理方式对样本图片进行处理,形成样本训练集。具体的处理方式可以根据设计需要进行设置。一般的,设置的对样本图片进行处理以形成样本训练集的预设方式通常可以包括将所述样本图片处理成符合后续如本申请下述的卷积神经网络对数据处理要求的方式,如将图片处理成符合规定大小或色彩要求的格式。本申请一种实施例的应用场景中,所述的预设方式可以包括对采集获取的服装样本图片进行统一规则的归一化处理,形成预定图片格式的归一化服装样本图片。本实施例中进行归一化处理后,可以提高后续服装风格识别时数据处理的效率和准确性。然后,本申请可以对所述归一化处理后的服装样本图片进行数据扩展处理,提高卷积神经网络训练结果的准确性和可靠性。经过上述处理后的服装样本图片的集合可以作为本申请所述的样本训练集。
所述的对服装样本图片归一化以及数据扩展处理,可以将不同服装样本图片的大小归一化到同等大小,减少不同尺寸的图片对确定服装图片风格的影响,其具体的归一化方案可以根据数据处理要求选择相应的处理方法。具体的,本申请的一种实施例中,所述按照预设方 式对所述样本图片进行处理可以包括:
S101:将所述样本图片的颜色信息转换为RGB三通道颜色信息;
S102:将所述样本图片的短边缩放至第一预设值,相应的,所述样本图片的长边按照所述短边的缩放比例进行同比例缩放,形成第一样本图片;
S103:以所述第一样本图片的所述长边和短边的垂直中分线交点为中心点将所述第一样本图片裁剪为边长为所述第一预设值的正方形样本图片。
实际的实施过程中,随机采集获取的样本图片的尺寸大小通常为不一致的。在本实施例中可以对采集获取的服装样本图片进行归一化处理。具体的主要可以包括两个处理过程:第一个处理过程可以为将所述服装样本图片的颜色信息转换为RGB三通道颜色信息;第二个处理过程可以为将所述服装样本图片的尺寸统一缩放为短边为第一预设值,另一长边则同比例缩放的第一样本图片。例如,本实施例中所述第一预设值可以设置为256像素,假设服装样本图片的尺寸大小为[W,H],W为服装样本图片宽度,H为服装样本图片高度。若W>H,那么可以将所述服装样本图片的高度H缩放为256像素,所述比例为H/256,相应的,W进行同比例缩放后为W=W/(H/256)。若W<H,则相应的将W缩放为256像素,然后H进行同比例缩放。举例说明,某服装样本图片P1的尺寸为800*1200像素,那么经过上述处理后形成的第一样本图片P1’的尺寸为256*384像素。
本申请中所述的样本图片可以在申请设置的多目标卷积神经网络中进行训练。本申请的一种实施方式中,得到所述第一样本图片后,可以进一步对所述第一样本图片中的非正方形图片进行裁剪操作,将其处理为边长第一预设值的正方形样本图片。本实施例中考虑到在服装样本图片中的服装主体一般出现在图片的中心区域,因此,可以在裁剪时保留所述样本图片的中心区域,这样可以最大化的保留服装样本图片中的服装主体信息,提高服装风格识别的准确性。本实施中所述的中心区域可以以所述第一样本图片的长边垂直中分线和短边垂直中分线的交点进行定位处理。具体的应用场景中,例如:
假如所述服装样本图片的尺寸缩放后为[256,H],即H>256像素,那么此时可以对所述服装样本图片的顶部和底部进行对称裁剪,从而保证可以保留所述服装样本图片的中心区域并且服装样本图片的垂边H为256像素。具体的所述服装样本图片的上边和下边可以分别裁剪(H-256)/2个像素;
假如所述服装样本图片的尺寸缩放后为[W,256],即W>256像素,那么此时可以对所述服装样本图片的左边和右边进行对称裁剪,从而保证可以保留所述服装样本图片的中心区域并且服装样本图片的横边W为256像素。具体的所述服装样本图片的左边和右边可以分别裁剪(W-256)/2个像素。
本申请的一种实施例中可以对上述归一化后的样本图片进行数据扩展。具体的可以将原有采集获取的样本图片数据量采用一定方式的扩展到预定要求的数据量,这样可以在后续卷积神经网络处理时防止过拟合,可以提高卷积神经网络数据处理的可靠性。本申请提供一种所述数据扩展的处理方法,具体的,本申请的一种实施例中,对所述样本图片进行归一化后进行数据扩展处理后,所述方法还可以包括:
分别所述边长为所述第一预设值的正方形样本图片的左上角、右上角、左下角、右下角、左边中部、右边中部、上边中部、下边中部为边界裁剪出边长为第二预设值的正方形样本图片,以所述边长为第二预设值的正方形样本图片的一条垂边为轴做镜像翻转形成新的边长为第二预设值的正方形样本图片。
本实施例提供的数据扩展的处理方法在服装风格识别的应用场景中可以将原有的服装样本图片数据扩展到原有数据量的16倍。具体的例如图2所示,图2是本申请对服装样本图片进行裁剪的实施过程示意图。如图2所示,对归一化后边长为256像素的正方形服装样本图片PA进行数据扩展时,可以对服装样本图片PA的8个关键部分即本实施例中设置的左上角、右上角、左下角、右下角、左边中部、右边中部、上边中部和下边中部进行裁剪,抽离出8张边长为227像素的正方形样本图片P01、P02、P03、P04、P05、P06、P07、P08。然后可以对每一张裁剪抽离出227*227像素的正方形样本图片做一次以垂边为轴的镜像翻转,形成新的8张边长为227像素的正方形样本图片P11、P12、P13、P14、P15、P16、P17、P18。这样,所述归一化后的服装样本图片PA经过上述数据扩展处理后得到16张边长为227像素的正方形样本图片P01、P02、P03、P04、P05、P06、P07、P08、P11、P12、P13、P14、P15、P16、P17、P18。每一张所述归一化后的服装样本图片经过数据扩展处理后生成的图片集合形成本申请所述的样本训练集。
需要说明的是,本实施例中所述的第二预设值227像素具体的可以根据实际的数据处理需求进行设置。一般的,所述第二预设值设置可以略小于归一化后的服装样本图片的短边边长。如上述实施例中对边长为256像素的正方形样本图片可以设置第二预设值为227像素。另外,本实施例中所述的镜像翻转具体的可以以所述边长为第二预设值的正方形样本图片的左边或者右边的垂边为轴进行处理。例如本实施例应用场景中可以以抽离出的所述边长为227像素的正方形样本图片的右边垂边为轴进行镜像翻转。
本申请中可以采集获取样本图片,对获取的样本图片进行归一化和数据扩展处理后可以得到样本训练集。
S2:对预先设置的多目标卷积神经网络进行参数初始化,以及将所述样本训练集中的样 本图片在所述多目标卷积神经网络中进行训练,得到图片风格识别模型。
商品的风格识别在现实场景中面对的场景通常比较复杂,因而本申请可以采用将定制化的神经网络进行重新设计形成的多目标卷积神经网络进行样本训练,得到具有风格识别能力的卷积神经网络模型。本申请中使用的卷积神经网络可以是以多目标进行训练的。本申请可以预先设置所述多目标卷积神经网络的模型结构,将上述样本训练集中的样本图片在预先设置的多目标卷积神经网络中进行训练,进而得到可以识别图片中商品风格的识别模型。
一般的,在确定所述多目标卷积神经网络模型后可以对所述多目标卷积神经网络进行参数初始化。具体的本申请的一种实施方式中可以采用微调(fine-tuning)方法对本申请中所述的多目标卷积神经网络的参数进行初始化,这样可以有效减少因标注数量较少导致的模型训练不充分的影响,提高本申请图片风格识别的准确性和可靠性。通常来说,对于风格识别的深度学习问题而言,每个类别获取的样本图片的标注数据可能会存在数据不足的情况,特别是对于参数的有效收敛条件不充分的情况。因此,在本申请的一种实施例中可以使用微调技术(fine-tuning),通过已有的稳定模型对本申请预先设置的多目标卷积神经网络的参数进行初始化。一种实施例中具体的操作可以参考专利申请号为:CN201510020689.9,《一种用于确定图片陈列信息的方法及设备》中所示的线上稳定模型对本申请所述的多目标卷积神经网络的参数进行初始化,初始化的网络内容可以包括全部卷积层和全连通层。待初始化完成后,多目标卷积神经网络训练可以直接基于现有的1500张样本图片继续进行训练,也可以对初始化参数进行适应性调整后进行训练,从而可以更快也更加准确的收敛到风格需要的参数内容中。
本申请中所述预先设置的多目标卷积神经网络的模型结构可以根据样本训练要求和实际应用场景进行设计、设置。本申请提供一种多目标卷积神经网络的模型结构,具体的,本申请的一种实施例中,所述预先设置的多目标卷积神经网络被设置成,可以包括:
三层卷积层、两层全连通层、三层RELU层、三层Maxpooling层、包括至少两个Softmax子层的Softmax层。
在本实施例的多目标卷积神经网络中具体的实施过程中可以根据卷积神经网络处理需求和服装风格识别的设计需求设置相应的神经网络层结构。例如一种实施例中可以在每个卷积层接入一层RELU层和归一化层,这样可以避免模型训练过程中的过拟合问题(over-fitting)。其他的实施例中还可以在全连通层接入Dropout层,可以用于提升模型收敛的效率。当然,实际的深度卷积神经网络可以根据应用场景需求添加其他网络结构,例如还可以添加Norm层等。
本申请的一种实施方式中,所述Softmax层的各个子层判断得到的损失值(Loss)可以 在向后传播(Back Propagation)并对上层的参数进行影响。具体的,本申请所述图片风格识别方法的另一种实施例中,所述预先设置的多目标卷积神经网络被设置成,可以包括:
所述Softmax层的Softmax子层将判断得到的损失值向后传播至与所述Softmax子层连接的全连通层,所述全连通层根据接收到的所述损失值相应的调整所述全连通层的参数。
具体的例如假设Softmax-A子层对应的是街头风格,Softmax-B子层对应的是文艺风格,那么两个判别函数会得到两个Loss值,如Loss-A和Loss-B。这两个值均可以在后向传播时影响上一层的全连通层的参数。所述上一层的全连通层可以根据各个Softmax子层反馈过来的损失值调整优化所述全连通层的参数,进而使所述全连通层对服装图片风格的描述更为准确。相应的,在下一次服装样本图片训练时,各个所述Softmax子层可以根据上述调整优化后的全连通层的描述信息更加准确的判别服装风格类型。这样,基于本实施例所述的多目标卷积神经网络的结构及处理方式,在得到足够量的样本训练后,可以大大提高本申请中的多目标卷积神经网络图片风格识别的准确性。
图3是本申请提供的所述预先设置的多目标卷积神经网络一种实施例的模型结构示意图。具体的如图3所示,本申请的一种实施例中,所述预先设置的多目标卷积神经网络被设置成,可以包括:
包括64个卷积核的第一高斯卷积层;与所述第一高斯卷积层相连的第一Maxpooling层、RELU层、归一化层;与所述第一Maxpooling层相连的包括32个卷积核的第二高斯卷积层;与所述第二斯卷积层相连的第二Maxpooling层、RELU层、归一化层;与所述第二Maxpooling层相连的包括16个卷积核的第三高斯卷积层;与所述第三斯卷积层相连的第三Maxpooling层、RELU层、归一化层;所述第三Maxpooling层相连的第一全连通层;与所述第一全连通层相连的第二全连通层和Dropout层;与所述第二全连通层相连的包括N个Softmax子层的Softmax层,N≥2。
如图3所示,本实施例中的多目标卷积神经网络可以在最后一个全连通层接入Softmax层,这里所述的Softmax层可以包括多个子层,其中每一个Softmax子层可以对应一个服装风格类型的判断函数,例如Softmax-A子层对应的是街头风格,Softmax-B子层对应的是文艺风格。所述Softmax子层中判断函数具体的参数可以通过卷积神经网络样本训练的过程进行确认、优化得到。本实施例中所述的每个Softmax子层可以基于相同的全连通层中的特征信息进行判断,并且每个Softmax子层的判断可以是相互独立、互不影响的。
具体的,本实施例中使用的Softmax层可以为一个非线性分类器,可以利用全连通层输出的特征向量与对应的标签进行分类器训练。整个Softmax层处理的过程通常可以包括三步:第一步可以对全连通层输出的固定特征向量X所有维的值求最大值,记为Max_i;第二步可 以使用exp表达式将所述特征向量X中的每一维都转化到0~1之间的数,即特征向量X中的每一维x[i]=exp(x[i]–Max_i);第三步可以对第二步转化后的特征向量X所有的值求和,然后相应的做归一化,即x[i]=x[i]/sum(x[i])。
所述的卷积处理通常为一种特征提取方式,可以将图像中符合条件的部分筛选出来。本申请的一种实施例中,所述预先设置的多目标卷积神经网络中的卷积层可以采用高斯卷积层,所述的高斯卷积层主要用于包括对前一层的输出结果与多个高斯卷积核进行卷积操作。本实施例中所述高斯卷积核的参数可以通过学习得到。一种实施方式中,可以使用三层高斯卷积层,且每层使用的高斯卷积核的尺寸可以设置为5*5像素,同时每一个高斯卷积层中卷积核可以对服装样本图片中的所有像素计算处理一遍。一般的,从深度学习的原理上来说,底层卷积层的数据可以代表细粒度的特征,高层卷积层的数据可以代表抽象特征。因此,本申请的一种实施例所述的多目标卷积神经网络中的卷积层中,高层的卷积层的卷积核数量可以大于底层卷积层的卷积核。在一个具体的应用中,例如所述三个卷积层可以包括有64个卷积核的第一层卷积层(即高层卷积层)、有32个卷积核的第二层卷积层以及有16个卷积核的第三层卷积层(即底层卷积层),所述三个卷积层的卷积核的尺寸可以均为5*5像素。如图4所示的是所述第一卷积层学习到的64个高斯卷积核的可视化效果示意图。
本实施例中所述的Maxpooling层可以用于对上一层卷积层的输出进行降采样操作,即在预先设置的固定大小的采样窗口中选取最大值作为降采样后的点的值。例如在一个具体的实施例中,所述的Maxpooling层使用的采样窗口可以均设置为3*3像素,采样间隔可以为2个像素。
一般的,神经网络中的神经元有着不饱和的非线性特性。传统的神经元的输出与输入x之间有着饱和的非线性特性,即f(x)=tanh(x),而不饱和的非线性特性则使神经元有着新的函数关系f(x)=(0,x)。本实施例中所述RELU(rectified linear unit,校正线性单元,一种激活函数)层主要可以用于对上一层数据结果进行修正,包括将上一层小于0的输入全部变成0后输出,大于0的输出不变。本实施例中使用RELU层可以提高所述多目标卷积神经网络模型整体的训练效率。
本申请实施例中可以在所述多目标卷积神经网络中的RELU层接入归一化层,可以用于增强所述多目标卷积神经网络整体的泛化性能。在具体的处理过程中,所述归一化可以是基于每个像素的局部窗口,即可以进行局部归一化操作。所述局部窗口的大小可以与所述卷积层卷积核的尺寸大小相同,如5*5像素。
本申请实施例中所述全联通层可以作为上下两层的节点之间的连接层,将上下两层所得到的各节点数据建立连接关系。例如本实施例中所述全联通层的输出可以是128维的矩阵。
本实施例中所述的Dropout(休眠层)层可以用于提升模型收敛的效率,例如可以随机让上一层50%的输出节点的数据为0,避免过拟合。
本申请在模型训练过程中可以不需要对样本训练集中的样本图片进行特征预处理,可以将所述样本图片本身作为一个特征输入所述多目标卷积神经网络。这样所述样本训练集中每张图片经过训练可以直接转化为相应的特征矩阵[W,H,C]。然后可以每次以K张样本图片为单位将所述样本训练集中的所有图片调入所述多目标卷积神经网络中进行学习。本实施例的多目标卷积神经网络避免了例如服装样本图片前期的背景处理、干扰信息处理等对图片整体或局部特征预处理的过程,可以直接使用整个样本图片进行训练和识别,提高了图片风格识别效率。所述的K可以根据数据处理需求进行设置,一般的可以取值32或64。
具体的,在上训练过程中可以采用随机梯度下降方法对上述的多目标卷积神经网络进行迭代学习。通常每一轮的迭代会更新所述多目标卷积神经网络中每一层的参数,例如包括网络层内节点的权重值以及偏执值等,直到这些参数值收敛,以取得最优解。具体的收敛条件可以根据数据处理需求进行设置,一般来说,本实施例提供的多目标卷积神经网络在经过约150000次迭代后,可以得到符合设计要求的最优卷积神经网络模型。经过上述样本训练后得到的所述多目标卷积神经网络已经具备了一定风格类型识别判断能力,因此,可以将其作为本申请所述的图片风格识别模型。
本申请中可以对预先设置的多目标卷积神经网络进行参数初始化,然后将所述样本训练集中的样本图片在所述多目标卷积神经网络中进行训练,得到具备判断图片中商品风格类型的图片风格识别模型。
S3:利用所述图片风格识别模型对待识别图片进行识别,获取所述待识别图片属于不同风格类型的概率向量,所述概率向量中每个风格类型的概率值的取值范围为0至1。
经过上述预先设置的多目标卷积神经网络对经过特定方式处理的服装样本图片的训练后,本申请可以得到具备判断图片风格的服装风格识别模型。此时对于任意输入的待识别图片,本申请可以利用训练得到的图片风格识别模型对该待识别图片进行预测和识别,从而可以获得一个N维的概率向量P={P1,P2,…,PN}。对于所述图片风格识别模型中任意一个风格类型i,其在所述N维的概率向量中相应的概率值Pi可以表示当前待识别图片属于该风格类型i的概率。例如一种应用场景中可以通过所述服装风格识别模型获取连衣裙图片PA的11维的概率向量P={0.70,0.35,0.98,0.84,0.69,0.11,0.20,0.48,0.97,0.92},可以依次表示为该连衣裙图片PA属于文艺风、街头风、清新风,学院风,百搭风,朋克风,中性,民族风,欧美风、淑女风、田园风的概率。
需要说明的是,本申请中设置的多目标卷积神经网络的输出结果数据在最后进行图片风格判定时得到N个特征值,如P={P1,P2,…,PN}。对于传统常规的卷积神经网络而言,所有N个特征值的概率和是1,即:
而本申请实施例所述预先设置的多目标卷积神经网络得到的每个图片风格类型的概率都可以为属于0到1,即本申请实施例中的pi∈[1,N]。本申请实施例设置的多目标卷积神经网络可以有效提升样本图片的训练效果及待识别样本图片风格识别的准确性。
利用上述训练得到的图片风格识别模型对待识别图片进行识别,可以获取所述待识别图片属于不同风格类型的概率向量。
S4:根据预先设置的判断规则和所述概率向量识别所述待识别图片中所属的风格类型。
本实施例获取得到待识别服装图片属于不同风格类型的概率向量后,可以根据预先设置的判断规则,基于得到的所示概率向量识别出所述待识别服装图片所属的风格类型,最后可以输出确定出的所述待识别服装图片的风格类型。具体的判断、输出规则可以根据实际应用场景和设计需求进行设置,不同的设计人员可以基于所述预先设置的多目标卷积神经网络输出的概率向量设置不同的判断规则,如可以直接选取值最高的概率向量所对应风格类型最为最后识别出的风格类型,或者按照某种特定方式对概率值进行筛选、比较后确定待识别图片所述的风格类型。基于所述多目标卷积神经网络输出的概率向量进行识别判断所述待识别图片所属的风格类型的其他实施方式都应当属于本申请的实施范围内。
本申请考虑到服装鞋帽等商品风格识别实际的应用场景,提供了一种图片风格类型的判断输出机制。在该实施方案中,最后识别出的每个商品的风格类型可以不超过M种。具体的,本申请的一种实施例中,所述根据预先设置的判断规则和所述概率向量识别所述待识别图片中所属的风格类型可以包括:
从所述概率向量中选取概率值最大的前M个概率值,1≤M<N,N为所述概率向量中概率值的个数;以及,
若所述M个概率值均大于等于第一阈值,则判断所述待识别图片属于所述M个概率值所对应的风格类型;
若所述M个概率值均小于所述第一阈值,且所述M个概率值中最大的概率值大于等于 第二阈值,则判断所述待识别图片属于所述M个概率值中最大的概率值所对应的风格类型;
若所述M个概率值均小于第二阈值,且所述M个概率值中最小的概率值大于等于第三阈值,则判断所述待识别图片中属于所述M个概率值所对应的风格类型;
若所述M个概率值均小于第二阈值,且所述M个概率值中存在至少一个概率值小于第三阈值以及至少一个概率值大于等于第三阈值,则判断所述待识别图片属于所述M个概率值中大于等于第三阈值的概率值所对应的风格类型;
若所述M个概率值均小于第三阈值,则判断所述待识别图片属于所述M个概率值所对应的风格类型。
本实施中所述的M的取值以及第一阈值、第二阈值、第三阈值可以根据实际的判定要求和输出要求进行自定义的设置。在本实施服装风格识别的应用场景中,一般的,所述M可以表示为输出的所述待识别图片可属于的风格类型数的最大值,本实施例中可以设置所述第一阈值大于所述第二阈值,所述第二阈值大于所述第三阈值,所述第一阈值可以表示为设置的所述待识别服装图片有较高概率属于某种风格类型的阈值。在本实施例方案中,即使M个概率值均小于第三阈值,表示所述待识别服装图片属于M个概率值所对应的风格类型的概率较小,低于设定的第三阈值,本实施例中仍然采用输出所述M个概率值所对应的风格类型。这样可以有效保证待识别图片自动、有效的识别、输出风格类型,保障用户体验。
本申请实施例提供的图片风格判定规则及风格输出机制可以根据服装风格实际应用特点及结合本申请设置的特定结构的多目标卷积神经网络模型的输出结果,自动、合理、有效的识别服装风格。与现有技术相比,利用本申请实施例提供的技术方案可以大大提高图片的风格识别准确率,不仅为用户提供准确的款式导购以及为商户提供准确的商品风格分类,还可以改善用户体验,增加商品成交转化率。
本申请另一种优选实施例中还提供了一种图片风格判定输出规则具体实际应用的设置方案。在本实施例方案中,最后识别出的每个图片的风格类型可以不超过3种,避免过多的输出结果对造成用户识别干扰或选择困难。同时,本实施例基于实际服装鞋帽等场景应用提供了一种所述第一阈值、第二阈值、第三阈值的取值范围,可以根据准确的识别、判断出待识别图片所属的风格类型。具体的,本申请的另一种实施例中,可以采用下述中的至少一种设置方式识别所述待识别图片所属的风格类型:
M取值为3;
所述第一阈值取值范围包括:0.9至0.95;
所述第二阈值取值包括:0.4至0.6;
所述第三阈值取值包括:0.2至0.3。
具体的一个应用场景中,例如通过所述服装风格识别模型获取的待识别连衣裙图片PA的11维概率向量P={0.70,0.35,0.98,0.84,0.69,0.11,0.20,0.48,0.97,0.92}。可以从所述概率向量PA中选取概率值最大的前三个值Pa,Pb,Pc,那么,相应的判断输出逻辑可以包括:
S401:若所述Pa、Pb、Pc的概率值均大于等于0.9,则判断所述待识别服装图片中的服装属于所述Pa、Pb、Pc所对应的风格类型。例如Pa、Pb、Pc分别为0.98、0.97、0.92时输出三个概率值对应的清新风、淑女风、田园风。
S402:若所述Pa、Pb、Pc的概率值均小于0.9,且所述Pa、Pb、Pc中最大的概率值大于等于0.5,则判断所述待识别服装图片中的服装属于所述Pa、Pb、Pc中最大的概率值所对应的风格类型。例如Pa、Pb、Pc分别为0.70、0.84、0.69时输出0.84概率值对应的学院风。
S403:若所述Pa、Pb、Pc的概率值均小于0.5,且所述Pa、Pb、Pc中最小的概率值大于等于0.25,则判断所述待识别服装图片中的服装属于所述Pa、Pb、Pc所对应的风格类型。
S404:若所述Pa、Pb、Pc的概率值均小于0.5,且所述Pa、Pb、Pc中存在至少一个概率值小于0.25以及至少一个概率字大于等于0.25,则判断所述待识别服装图片中的服装属于所述Pa、Pb、Pc中大于等于0.25的概率值所对应的风格类型。例如Pa、Pb、Pc分别为0.35、0.20、0.48时则输出0.35和0.48所对应的街头风和欧美风。
S405:若所述Pa、Pb、Pc的概率值均小于第三阈值,则判断所述待识别服装图片中的服装属于所述Pa、Pb、Pc所对应的风格类型。
本申请提供了一种可以自动对商品图片中商品主体风格进行识别的方法,可以针对每个具体的商品图片可以自动的输出多个(如3个以内)识别出的应属于的风格类型。与现有技术相比,利用本申请实施例提供的技术方案不仅可以大大提高图片风格识别的准确率,降低作业人员的工作强度,还可以为用户提供准确的款式导购以及为商户提供准确的商品风格分类,可以改善用户体验,增加商品成交转化率。
基于本申请所述的图片风格识别方法,本申请提供一种图片风格识别装置。图5是本申请所述图片风格识别装置一种实施例的模块结构示意图,如图5所示,所述装置可以包括:
训练集构建模块101,可以用于获取样本图片,以及按照预设方式对所述样本图进行处理形成样本训练集;
样本训练模块102,可以用于存储设置的多目标卷积神经网络;还可以用于对所述多目标卷积神经网络进行参数初始化,以及将所述样本训练集中的样本图片在所述参数初始化后的多目标卷积神经网络中进行训练,得到图片风格识别模型;
图片识别模块103,可以用于利用所述图片风格识别模型对待识别图片进行识别,获取所述待识别图片属于不同风格类型的概率向量,所述概率向量中每个风格类型的概率值的取值范围为0至1;
风格识别模块104,可以用于存储预先设置的图片风格判断规则,以及根据所述判断规则和所述概率向量识别所述待识别图片所属的风格类型。
所属样本训练模块102中存储的多目标卷积神经网络具体的可以根据不同应用场景的数据处理需求进行设置。图6是本申请提供的所述样本训练模块102中多目标卷积神经网络一种实施例的模型结构示意图,如图6所示,所述样本训练模块102中存储设置的多目标卷积神经网络被设置成可以包括:
三层卷积层、两层全连通层、三层RELU层、三层Maxpooling层、包括至少两个Softmax子层的Softmax层。
当然,如其他实施例所述,在实际设计多目标卷积神经网络时还可以增加一个或多个层结构,例如增加Maxpooling层、RELU层、归一化层、Dropout层等。
在一种实施例中,所述预先设置的多目标卷积神经网络可以被设置成,包括:
所述Softmax层的Softmax子层将判断得到的损失值向后传播至与所述Softmax子层连接的全连通层,所述全连通层根据接收到的所述损失值相应的调整所述全连通层的参数。
这样,与所述Softmax子层连接的全连通层可以根据各个Softmax子层反馈过来的损失值调整优化所述全连通层的参数,进而使所述全连通层对图片风格的描述更为准确。相应的,在下一次样本图片训练时,各个所述Softmax子层可以根据上述调整优化后的全连通层的描述信息更加准确的判别图片风格类型。
在本申请所述样本训练模块102中存储设置的多目标卷积神经网络具体的另一种实施例中,所述预先设置的多目标卷积神经网络被设置成可以包括:
包括64个卷积核的第一高斯卷积层;与所述第一高斯卷积层相连的第一Maxpooling层、RELU层、归一化层;与所述第一Maxpooling层相连的包括32个卷积核的第二高斯卷积层;与所述第二斯卷积层相连的第二Maxpooling层、RELU层、归一化层;与所述第二Maxpooling层相连的包括16个卷积核的第三高斯卷积层;与所述第三斯卷积层相连的第三Maxpooling层、RELU层、归一化层;所述第三Maxpooling层相连的第一全连通层;与所述第一全连通层相连的第二全连通层和Dropout层;与所述第二全连通层相连的包括N个Softmax子层的Softmax层,N≥2。
具体的可以参照图3所示的多目标卷积神经网络结构。
图7是本申请提供的所述风格识别模块104一种实施例的模块结构示意图。如图7所示, 所述风格识别模块104可以包括:
概率值选取模块1041,可以用于从所述概率向量中选取概率值最大的前M个概率值,1≤M<N,N为所述概率向量中概率值的个数;
识别结果输出模块1042,可以用于采用下述中的风格判定规则识别待识别图片所属的风格类型:
若所述M个概率值均大于等于第一阈值,则判断所述待识别图片属于所述M个概率值所对应的风格类型;
若所述M个概率值均小于所述第一阈值,且所述M个概率值中最大的概率值大于等于第二阈值,则判断所述待识别图片属于所述M个概率值中最大的概率值所对应的风格类型;
若所述M个概率值均小于第二阈值,且所述M个概率值中最小的概率值大于等于第三阈值,则判断所述待识别图片中属于所述M个概率值所对应的风格类型;
若所述M个概率值均小于第二阈值,且所述M个概率值中存在至少一个概率值小于第三阈值以及至少一个概率值大于等于第三阈值,则判断所述待识别图片属于所述M个概率值中大于等于第三阈值的概率值所对应的风格类型;
若所述M个概率值均小于第三阈值,则判断所述待识别图片属于所述M个概率值所对应的风格类型。
本申请所述风格识别装置的另一种实施例提供了所述风格识别模块104中参数具体的取值范围的实施方式。具体的,所述风格识别模块104可以采用下述中的至少一种设置方式识别所述待识别图片所属的风格类型:
M取值为3;
所述第一阈值取值范围包括:0.9至0.95;
所述第二阈值取值包括:0.4至0.6;
所述第三阈值取值包括:0.2至0.3。
图8是本申请提供的所述训练集构建模块101一种实施例的模块结构示意图,如图8所示,所述训练集构建模块101可以包括:
颜色信息转换模块1011,可以用于将所述样本图片的颜色信息转换为RGB三通道颜色信息;
缩放模块1012,可以用于将所述样本图片的短边缩放至第一预设值,以及将所述样本图片的长边按照所述短边的缩放比例进行同比例缩放,形成第一样本图片;
中心区域裁剪模块1013,可以用于以所述第一样本图片的所述长边和短边的垂直中分线交点为中心点将所述第一样本图片裁剪为边长为所述第一预设值的正方形样本图片。
图9是本申请提供的所述训练集构建模块101另一种实施例的模块结构示意图,如图9所示,所述训练集构建模块101还可以包括:
第一扩展模块1014,可以用于分别以所述边长为所述第一预设值的正方形样本图片的左上角、右上角、左下角、右下角、左边中部、右边中部、上边中部、下边中部为边界裁剪出边长为第二预设值的正方形样本图片;
第二扩展模块1015,可以用于以所述边长为第二预设值的正方形样本图片的一条垂边为轴做镜像翻转形成新的边长为第二预设值的正方形样本图片。
上述所述训练集构建模块101的实施方式中,可以所述的对样本图片归一化以及数据扩展处理,可以将不同样本图片的大小归一化到同等大小,减小不同尺寸的图片对确定图片风格的影响。一种实施例中考虑到样本图片中的商品主体一般出现在图片的中心区域,因此,可以在裁剪时保留所述样本图片的中心区域,这样可以最大化的保留样本图片中的商品主体信息,提高风格识别的准确性。本实施例提供的数据扩展方式可以将原有采集获取的样本图片数据量扩展到预定要求的数据量,这样可以在后续卷积神经网络处理时防止过拟合,可以提高卷积神经网络数据处理的可靠性。
本申请提供的图片风格识别方法及装置,可以利用样本训练集中的样本图片在预先设置的特定网络结构的多目标卷积神经网络中进行训练,得到具有图片风格识别能力的识别模型,进而可以实现自动识别需要进行风格分类的待识别图片的风格类型。本申请提供的方法可以实现商品风格自动快速识别,降低作业人员工作强度,提高识别效率。本申请中所述的样本训练集中的样本图片可以预先经过归一化和数据扩展处理,这样可以提高识别模型的风格识别准确性和可靠性。本申请中可以根据需要预先设置风格判断规则,再基于识别模型输出的概率向量,合理、有效、准确的识别出商品图片所属的风格类型。利用本申请实施方案,不仅可以大大提高图片风格识别准确率,降低作业人员的工作强度,还可以为用户提供准确的款式导购以及为商户提供准确的商品风格分类,可以改善用户体验,增加商品成交转化率。
尽管本申请内容中提到图片裁剪、RGB通道颜色转换、微调(fine-tuning)、卷积神经网络模型层结构、卷积、损失反馈以及参考文献等的图片信息处理、神经网络模型结构的描述,但是,本申请并不局限于必须是完全标准或者所提及的方式的信息处理、神经网络模型结构的情况。本申请中各个实施例所涉及的上述描述仅是本申请中的一些实施例中的应用,在某些标准、模型、方法的基础上略加修改后的实施方式也可以实行上述本申请各实施例的方案。当然,在符合本申请上述各实施例的中所述的处理方法步骤的其他无创造性的变形,仍然可以实现相同的申请,在此不再赘述。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
上述实施例阐明的装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。当然,也可以将实现某功能的模块由多个子模块或子单元组合实现。
本申请中所述的方法、装置或模块可以以计算机可读程序代码方式实现控制器按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本申请所述装置中的部分模块可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的硬件的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,也可以通过数据迁移的实施过程中体现出来。该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请的全部或者部分可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、移动通信终端、多处理器系统、基于微处理器的系统、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。