论文:DeepFashion: Powering Robust Clothes Recognition and Retrieval with Rich Annotations
Github:https://github.com/liuziwei7/fashion-landmarks
CVPR2016,汤老师,王小刚老师组的。
- 增加额外的landmark定位,有助于提高类别分类的精度
- 更多的衣服属性,有助于训练产生更好的特征空间,从而更好优化识别
论文贡献:
- 提出大型时装数据集DeepFashion
- 提出了FashionNet 进行DeepFashion 数据集的衣服属性的预测和分类
- 定义了多种任务的评价标准
DeepFashion 数据集:
DeepFashion 包含80W张图片,具体包含50种类别,1000个属性,4-8个关键点,同一种衣服的配对属性。
图片主要来源于,
- 购物网站Forever212和Mogujie,一共收集了1320078 张
- Google网络图片,一共收集了1, 273, 150 张
- 先使用Alexnet的全连接层剔除了特征相差较大的,然后进行人工清洗,得到最终的80W张图片。
和其他时装数据集的对比:
FashionNet 网络:
网络的基础结构类似于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代表正负样本的权值
类内类间度量学习的loss采用triplet loss。(x, x+, x-) 表示三元组,m表示margin,d表示距离函数。
References: