DeepFashion: Powering Robust Clothes Recognition and Retrieval with Rich Annotations论文阅读

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011599639/article/details/79506617

1 问题背景

  1. 衣物易变形,衣服本身是柔性很大的物体,人摆出千奇百怪的姿势时,同一件衣服的样子会非常不同

  2. 在不同条件下拍出的衣服图片差距也非常大,比如模特的摆拍照和消费者的自拍照差别就很明显

  3. 衣服的设计包含了大量细节特征,比如领型、版型、衣长、装饰等等,想要算法区分出它们难度很大

2 解决思路

  1. 用带有成百上千的细节标签的图片来训练模型,使其学到能够区分这些细节属性的特征
  2. 使用同一件服装多个拍摄者提供的图片作训练,增加模型对此的鲁棒性
  3. 对服装的姿态进行估计,在若干关键点处提取特征,以抵消严重形变带来的影响。直观上,尽管衣服的形态可能千变万化,但只要在领口、袖口、下摆等一些固定区域去比较,其特征仍然非常稳定。

3 数据形式

来源电商和搜索引擎的图片数据,共80万张标注的数据。用来训练FashionNet网络的30万,5万做验证

数据地址

数据如下形式:
这里写图片描述
这里写图片描述

4 网络结构

这里写图片描述
1. 和VGG16相似相似,都能很好的解决对象识别和分割问题
2. 网络结构从顶层到倒数第二层都和VGG16相似,最后一层是专门为服装设计的
3. VGG16的最后一层被三个分支取代。
 - 蓝色:也就是1,主要的作用就是估计服装关键点,以及判断是否有关键点
 -绿色:图中的2模块,在1中预测的关键点位置处进行local pooling,提取局部特征,
 - 红色:图中的3模块,捕获整个衣服的全局特征特征
 -2和3模块相结合,预测衣服的种类属性

5 具体的过程

  1. 前向传播:将图片喂到1模块,预测服装的关键点,然后传到2模块,来控制pool5_local层,该步可以解决衣服局部特征易变化和遮挡的问题,最后和3模块联合输出。

  2. 反向传播:有四个损失函数

    • 是服装关键点位置的regression loss
      这里写图片描述

      • D 为训练样本数
      • V j 第j个关键点是否可见,可见为1,不可见则为0,控制是否进行损失函数计算
      • l j 第j个关键点的坐标
    • 预测关键点可见性和服装类别的softmax loss

        针对分类标签可视化和精细(fine-grained)分类采用1-K的 softmax loss,它们分别被称为 L v i s i b i l i t y L c a t e g o r y

    • 属性预测的cross-entropy loss
      这里写图片描述
        其中 x j a j 为第j个属性标签 w p o s w n e g 为两个属性,由正负样品的比率决定

    • 成对(pairwise)服装图像度量学习的 triplet loss
      这里写图片描述
        这里有一个三元组(x, x+, x-),其中x+和x-是指相对x的相同和不同的衣服图片,d()是距离函数,m是边缘参数
        FashionNet是通过以上几个损失函数加权组合来优化

  3. 迭代训练步骤:主要有以下两步,不断迭代,直到收敛

    • 第一步:蓝色分支作为主要的任务,其余分支作为辅助任务。分配 L v i s i b i l i t y L c a t e g o r y 更大的权重,其它的损失函数较小的权重,这是因为其它的任务和关键点的训练是相关的
    • 第二步:预测衣服种类和属性,同时学习两个衣服成对的关联性。在这一步中利用关键点坐标池化局部特征
  4. Landmark Pooling Layer
    这里写图片描述

    • 该landmark pooling 层的输入是 feature maps(如 conv4 ) 和 估计的 landmarks.
    • 针对每一个关键点位置 l,首先,确定其可见性 v. 不可见关键点的响应设为 0;然后,对关键点周围区域进行 max-pooling 操作,以得到局部 feature maps,并堆积成为 pool5_local 层的最终 feature maps.
    • landmark 池化层的反向传播类似于 Fast R-CNN中的 RoI pooling 层. 不同之处在于,Fast R-CNN中的 RoI 层将池化的区域(pooled regions) 独立对待,landmark pooling 层通过连接局部特征来捕捉不同服装关键点的交互关联性(interaction).

6 结果

这里写图片描述

猜你喜欢

转载自blog.csdn.net/u011599639/article/details/79506617
今日推荐