时装分类+检索之DeepFashion

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

Github:https://github.com/liuziwei7/fashion-landmarks

 

CVPR2016,汤老师,王小刚老师组的。

时装分类+检索之DeepFashion_第1张图片

  1. 增加额外的landmark定位,有助于提高类别分类的精度
  2. 更多的衣服属性,有助于训练产生更好的特征空间,从而更好优化识别

 

论文贡献:

  1. 提出大型时装数据集DeepFashion
  2. 提出了FashionNet 进行DeepFashion 数据集的衣服属性的预测和分类
  3. 定义了多种任务的评价标准

 

DeepFashion 数据集:

DeepFashion 包含80W张图片,具体包含50种类别,1000个属性,4-8个关键点,同一种衣服的配对属性。

图片主要来源于,

  1. 购物网站Forever212和Mogujie,一共收集了1320078 张
  2. Google网络图片,一共收集了1, 273, 150 张
  3. 先使用Alexnet的全连接层剔除了特征相差较大的,然后进行人工清洗,得到最终的80W张图片。

和其他时装数据集的对比:

时装分类+检索之DeepFashion_第2张图片

FashionNet 网络:

时装分类+检索之DeepFashion_第3张图片

网络的基础结构类似于VGG-16,将VGG-16的最后一个卷积层替换为上图的红,绿,蓝,三个网络子模块。

红色的模块负责提取基础模块的全图的特征。

绿色的模块输入为基础网络的最后特征层和蓝色网络的landmark,然后经过landmark pooling layer层得到局部的特征层。再将红色的全局特征和绿色的局部特征进行融合,最终特征进行预测时装类别,属性和triplet类内类间分类

蓝色的网络输入为基础网络的最后特征层,然后回归得到landmark的坐标位置,已经坐标的是否可见。

 

landmark pooling layer类似于roi pooing。通过landmark的坐标,取一个L的区域,进行pooling操作,然后将所有关键点提取的pooling区域concat起来,就形成了绿色模块的pool5_local层。

 

训练loss:

训练过程中,首先加大蓝色模块的权值,先把蓝色模块训练收敛,然后再减少权值,整体训练。

landmark回归loss为加权的L2 loss,其中Vj为其权值,代表landmark的可见性,对于不可见的就不进行梯度的回传。

衣服类别分类和landmark是否可见分类,采用传统的softmax crossentrop loss

衣服属性分类采用加权的sigmoid crossentrop loss,Xj代表第j个衣服,aj代表第j个衣服的属性,Wpos和Wneg代表正负样本的权值

时装分类+检索之DeepFashion_第4张图片

类内类间度量学习的loss采用triplet loss。(x, x+, x-) 表示三元组,m表示margin,d表示距离函数。

References:

http://mmlab.ie.cuhk.edu.hk/projects/DeepFashion.html

https://liuziwei7.github.io/papers/deepfashion_slides.pdf

你可能感兴趣的:(深度学习)