基于深度学习的服装图像分类与检索

摘要

     面对海量的服装图像数据,如果使用人工进行服装图像的语义属性标注以用于分类和检索,则需要花费大量的人力和时间,而且语义属性并不能完全表达服装图像中的丰富信息,造成检索效果不佳。
    针对服装图像对多个属性同时进行分类和识别的要求,构建了基于多任务学习的卷积神经网络结构。为了克服背景、光照、变形等因素的影响,采用了结合度量学习的卷积神经网络结构,具体包括Siamese和Triplet两种模型结构。实验结果表明,度量学习的引入,特别是采用Triplet结构,可以显著提高分类的准确性。
    之后使用训练好的卷积神经网络进行特征提取用于图像检索,并和基于SIFT特征的检索方法进行比较。实验结果表明,检索时使用卷积神经网络提取的特征相比于传统的SIFT特征具有明显的优势,特别是基于Triplet结构的卷积神经网络的抗干扰能力显著提高。此外,融合卷积层和全连接的特征映射作为特征表示也比使用单一的特征映射具有更好的效果。为了更进一步消除背景因素的影响,还使用Faster-RCNN算法进行衣物检测以提取出感兴趣的区域。
    最后为了提升检索速率,采取了两种可行的方法,一是K-means聚类,二是使用语义属性预测进行预分类,实验结果表明使用K-means的效果更好。

第一章 绪论

1.1 本文的研究背景    

      目前在国内各大电商购物平台,主要还是通过关键字或文本来检索图像,实质是以文搜图[1]。该技术要求事先对服装图像进行精细分类并打上相应的标签。但是随着服装图像数量的爆发式增长,该方法的缺点越来越显著。首先,关键字只能描述易于提取的、抽象的语义特征,并不能全面地反映服装图像的视觉特征,尤其是一些精细的、难以描述的特征;其次,由于图像数量巨大,需要花费大量的人力物力进行人工标注,而且人工标注容易出现主观性偏差[2];最后,如果用户输入的搜索关键词描述不够准确,则难以检索到想要的商品。

1.2国内外研究现状

    随着互联网多媒体数据海量增长,基于文本标注的传统方法渐显疲态,而基于图像内容的新方法方兴未艾。通过对图像进行特征提取,获得其特征表示,然后进行相似性度量,并依据相似性进行排序,从而得到检索结果。目前,图像特征提取方法可分为基于传统图像处理和基于深度学习两种方式。

第三章 服装图像分类

3.1 多类别属性分类

3.1.1 多任务学习

    多任务学习是指同时进行两个及以上学习任务的方法,其大致结构如图3. 4所示。通常对于复杂的任务会拆分为多个子任务进行单独学习,但是这样做往往会忽略子任务之间的相关性。如果同时学习多个任务,那么对网络权值的更新会互相影响,从而最终的输出结果也会相互牵制。在多任务学习中,当各任务的相关性比较大时,某个任务可以利用其他任务的信息以此获得更好的效果〔52]。比如,在物体识别中,同时识别形状、纹理、对光照的反射等,而不是一次只识别一个方面。此外在样本较少的情况下,多任务学习的泛化能力明显优于单任务学习。



    目前多任务学习的方法可以归为两大类,一是在不同任务之间共享参数(common  parameters),二是挖掘不同任务之间隐含的共有数据特征(latent features)。在神经网络模型中,文献[53」提出了一种如图3. 5所示的多个任务
共享隐含层神经元的模型结构。该模型中各个任务通过权值的调整来选择相关的隐含层神经元,并把其他相关任务的训练信号作为了本任务训练的归纳偏置以此来提高网络的泛化能力。

3.1.2 多标签学习    

     对于多标签学习,可以简单地认为一个样本拥有多个而不是唯一的标签,可以被归属于多个类别。目前多标签分类被广泛应用于文本标注、生物信息学习、信息检索等领域。与单标签学习相比,多标签学习的特点在于输出特征的空间维数与标签集成指数关系,其标签之间也可能具有相关关系。
    在求解多标签问题时,根据如何处理标签之间的关联关系可以把求解策略分为三大类:
    一阶策略:单独处理一个标签而不考虑其他标签的影响。该策略的优点在于简单高效,但忽略了标签之间潜在的关联关系,因而泛化能力较差。
    二阶策略:考虑标签之间的两两相互关联。二阶策略部分表达了不同标签间的相关关系,但是仍有较大的局限性。如果标签的关联关系更加复杂,那么此策略相对于一阶策略的优势不大。
    高阶策略:考虑标签间复杂的高阶关系,拥有更好的建模和表达能力。比如考虑某标签和其他所有标签之间的关系。显然高阶策略考虑的因素更多,因此其算法也更加复杂,学习速率也相对较低。
    目前常用的多标签学习方法主要包括问题转化、算法适应和标签排序等。问题转化是指将多标签问题转化为其他已有成熟解决方案的且与之等效的问题。比如根据一阶策略的思路将多标签分类问题分解为多个独立的二分类问题,这种方法除了具有一阶策略的优缺点外,还有一个比较明显的缺点是需要进行多次二分类,当类别数目很大时需要很大的计算量。
    算法适应是指改造已有的单标签学习方法使其能够处理多标签问题。例如,对AdaBoost算法进行该着得到的AdaBoost.MH算法[[54],基于经典的KNN算法改进的K近邻懒惰学习方法ML-KNN[5}等。
    标签排序是指根据标签和样本的相关程度进行排序,排名越靠前的表示相关性越大。例如,Schapire等[56]提出的可用于文本分类的在线主体排名学习算法。

3.1.3采用多任务学习的卷积神经网络






第四章 服装图像检索