DeepFashion: Powering Robust Clothes Recognition and Retrieval with Rich Annotations
1. DeepFashion Dataset
- 综合性强(Comprehensiveness) —— 标注信息包括:50 fine-grained categories, 1000 attributes, landmarks, bounding box, 300000 cross-pose/cross-domain pair correspondences.
- 规模大(Scale) —— 超过 800K 标注的服装图像
- 可利用性好(Availability) —— 对研究性应用公开.
针对服装识别和检索,数据标注主要考虑三个方面:
- 大规模属性(Massive attributes) - 对于服装商品识别必须的信息;
- 关键点(Landmarks) - 关键点位置能够有效处理形变和姿态变化;
- 买家与商家对(Consumer-to-shop pairs) - 建立 cross-domain gap 的桥梁.
DeepFashon 数据集用途:
类别与属性预测(Category and Attribute Prediction)
该任务是对 50 个fine-gained 类别和 1000 个属性进行分类. 共 63720 张标注图片.- 对于类别分类,采用标准的 top-k 分类精度 作为评价准则; 1-of-K classification problem.
- 对于属性预测,采用 top-k recall rate 作为评价准则,通过对 1000 个分类 scores 进行排名,检测在 top-k 中所匹配的属性数量; multi-label tagging problem.
商家服装检索(In-Shop Clothes Retrieval)
该任务是判断两张商家图像是否属于同一款. 共 11735 款服装,54642 张图片(From Forever21).
采用 top-k 检索精度作为评价准则,如果在 top-k 检索结果中能够精确找到服装款,则认为是检索正确.买家到商家服装检索(Consumer-to-Shop Clothes Retrieval)
该任务是匹配买家所拍照片与商家的服装. 251361 张买家与商家对{From Mogujie).
采用 top-k 检索精度作为评价准则.
2. FashionNet
通过联合预测服装属性 (clothing attributes) 和关键点(landmarks) 来学习服装特征. 再利用估计的关键点位置来池化(pool/gate) 学习的特征. 以迭代的方式进行.
2.1 网络结构
基础网络采用 VGG16 . 从开始到倒数第二层,与VGG16相同,最后一个卷积层重新设计用于服装问题. 如图:
Figure 5. FashionNet 结构. 包括全局特征分支(橙色部分),局部特征分支(绿色部分),pose 分支(蓝色分支). 其中,忽略了共享卷积层.
全局特征分支—— 整个服装商品的全局特征;
局部特征分支—— 由估计的服装关键点池化(pooling) 得到服装的局部特征;
Pose分支—— 预测关键点位置及其可见性(可见性指,关键点是否存在).
橙色分支和绿色分支的输出在 fc7_fusion 层连接,以联合预测服装类别、属性,对服装对建模.
2.2 前向传播(Forward Pass)
FusionNet 主要包括三个阶段:
- Stage 1 - 服装图像输入网络,并在蓝色分支传递,以预测关键点位置;
- Stage 2 - 在 pool5_local 层对估计的关键点进行池化(pooling or gate)特征,以使布局特征对服装形变和缺失具有不变性;
- Stage 3 - 在 fc7_fusion 对 fc6_global 层全局特征和 fc6_local池化后的关键点局部特征进行连接.
2.3 反向传播(Backward Pass)
FusionNet 有四种损失函数,以迭代方式进行.
四种损失函数主要是:
关键点定位的 regression loss;
L2 regression loss:
Llandmarks=∑|D|j=1||vj⋅(lˇj−lj)||22 L l a n d m a r k s = ∑ j = 1 | D | | | v j ⋅ ( l ˇ j − l j ) | | 2 2D D - 训练样本数;