DeepFashion: Powering Robust Clothes Recognition and Retrieval with Rich Annotations, Ziwei Liu, Ping Luo, Shi Qiu, Xiaogang Wang, Xiaoou Tang, in CVPR 2016.

这篇文章接收了一个large-scale的带有完善标注的服装数据集DeepFashion。

它包含超过800,000张图片,标注有大量的attributes,clothing landmarks,和图像在不同场景(包括商店,街拍和消费者)下的相关性。

为了阐明DeepFashion的优势,文中提出一个新的deep model, FashionNet,通过联合预测义务attributes和landmarks学习衣物特征。

衣物识别算法主要面临三个基本挑战:

1) 衣物通常在类型、纹理和裁剪上有较大不同;

2) 衣物经常会有变形或遮挡;

3) 在不同场景下,同一件衣物表现差别很大,例如在线购物的照片和消费者的自拍照等。

先前的研究克服这些挑战通过使用语义attributes(例如color,category,texture),衣物位置(masks of clothes),或者cross-domain图像相关性来标注衣物数据集。但是不同数据集使用不同信息标注,这篇文章提出的DeepFashion数据集联合进行所有的标注。

FaceNet:能够同时预测landmarks和attributes

网络结构与VGG-16相似,第一到四个卷积层完全相同,FaceNet的第五个卷积层特别为衣物任务设计,分为三个分枝,红色分枝抓取整个衣物的global feature,绿色分枝基于估计的landmark位置做pooling,抓取local feature,蓝色分枝预测landmarks的位置和可见性(是否被遮挡)。红色分枝和绿色分枝的输出连接在一起联合预测衣物类别,attributes,对衣物pair之间的关系进行建模。如下图所示:

Forward pass:

分为三个阶段:(1)一幅衣物图片输入网络,传入蓝色分枝,预测landmark位置;(2)估计的landmark位置被传入pool5_local,在可见的landmark位置周围进行max-pooling,其余不可见landmark位置的响应gated to zero,获得local feature (对变形和遮挡具有不变性);(3)fc6_global和基于landmark pooled的local feature fc6_local被连接到fc7_fusion.

Backward pass:

Backward pass 后向传播四种类型的损失函数:

1) 回归损失:landmark的定位  v表示可见性,l表示landmark位置

2)softmax分类损失:对landmark可见性和衣物类别的预测

3)交叉熵损失:attributes的预测  这个公式感觉有点问题,a_j和(1 - a_j)的位置应该换成相应的后验p才对

4)triplet loss:成对衣物图像的metric learning

通过加权联合所有损失函数进行迭代优化,迭代分为两个步骤:

1)将蓝色分枝作为main task,其余分枝作为辅助任务。为实现这个目的,对landmark定位的回归损失函数和landmark可见性的分类损失赋予较大权重,其余损失函数赋予较小权重。这样做是因为对landmark的估计与其他任务是相关的,同时训练可以更好收敛;

2)预测衣物类别和attributes,学习衣物之间的成对关系。

以上两步迭代进行直到收敛。

实验中landmark的影响较大,该数据集中的landmark如下示例所示:

文中构建了三个平台,使用DeepFashion对不同方法进行评估:

1)category and attribute预测

2)In-shop clothes检索

3)Consumer-to-Shop衣物检索

很有用的数据集!

CVPR 2016 paper reading (3)的更多相关文章

  1. CVPR 2016 paper reading (2)

    1. Sketch me that shoe, Qian Yu, Feng Liu, Yi-Zhe Song, Tao Xiang, Timothy M. Hospedales, Cheng Chan ...

  2. CVPR 2016 paper reading (6)

    1. Neuroaesthetics in fashion: modeling the perception of fashionability, Edgar Simo-Serra, Sanja Fi ...

  3. 浅析"Sublabel-Accurate Relaxation of Nonconvex Energies" CVPR 2016 Best Paper Honorable Mention

    今天作了一个paper reading,感觉论文不错,马克一下~ CVPR 2016 Best Paper Honorable Mention "Sublabel-Accurate Rela ...

  4. (转)CVPR 2016 Visual Tracking Paper Review

    CVPR 2016 Visual Tracking Paper Review  本文摘自:http://blog.csdn.net/ben_ben_niao/article/details/52072 ...

  5. Paper Reading: In Defense of the Triplet Loss for Person Re-Identification

    In Defense of the Triplet Loss for Person Re-Identification  2017-07-02  14:04:20   This blog comes ...

  6. Paper Reading: Stereo DSO

    开篇第一篇就写一个paper reading吧,用markdown+vim写东西切换中英文挺麻烦的,有些就偷懒都用英文写了. Stereo DSO: Large-Scale Direct Sparse ...

  7. 深度视觉盛宴——CVPR 2016

    小编按: 计算机视觉和模式识别领域顶级会议CVPR 2016于六月末在拉斯维加斯举行.微软亚洲研究院在此次大会上共有多达15篇论文入选,这背后也少不了微软亚洲研究院的实习生的贡献.大会结束之后,小编第 ...

  8. Paper Reading - Deep Visual-Semantic Alignments for Generating Image Descriptions ( CVPR 2015 )

    Link of the Paper: https://arxiv.org/abs/1412.2306 Main Points: An Alignment Model: Convolutional Ne ...

  9. Paper Reading - Mind’s Eye: A Recurrent Visual Representation for Image Caption Generation ( CVPR 2015 )

    Link of the Paper: https://ieeexplore.ieee.org/document/7298856/ A Correlative Paper: Learning a Rec ...

随机推荐

  1. java 并发 (四) ---- 并发容器

    Hashmap 和 Concurrenthashmap Hashmap 不适合并发,应该使用ConcurrentHashMap . 这是很多人都知道的,但是为什么呢? 可以先看一下这两篇文章. JDK ...

  2. spring security入门

    1. Restful API和传统API的区别 用URL描述资源 用http描述方法行为,用http状态码描述结果 使用json交互数据 RESTful是一种风格,不是强制的标准 2. 使用sprin ...

  3. golang学习之regexp

    regexp是golang标准库自带的正则校验包,使用: re, _ := regexp.Compile(`(\d+)年(\d+)月`) //判断是否匹配category类别搜索 ismatch := ...

  4. Vue生命周期整理

    这篇博客将会从下面四个常见的应用诠释组件的生命周期,以及各个生命周期应该干什么事 单组件的生命周期 父子组件的生命周期 兄弟组件的生命周期 宏mixin的生命周期 生命周期:Vue 实例从开始创建.初 ...

  5. 互联网轻量级框架SSM-查缺补漏第七天(MyBatis的解析和运行原理)

    第七章MyBatis的解析和运行原理 SqlSessionFactory是MyBatis的核心类之一,其最重要的功能就是提供创建MyBatis的核心借口SqlSession,所以要先创建SqlSess ...

  6. spring框架-----轻量级的应用开发框架

    一.bean 1.容器实例化 ApplicationContext ac=             new ClassPathXmlApplicationContext("applicati ...

  7. Hibernate 注解(Annotations 一)

    1. @Entity 将一个类声明为一个实体bean(即一个持久化POJO类). 2. @Table 声明了该实体bean映射指定的表(table),目录(catalog)和schema名字 3. @ ...

  8. JS里的居民们6-数组排序

    编码 var arr = [43, 54, 4, -4, 84, 100, 58, 27, 140]; 将上面数组分别按从大到小以及从小到大进行排序后在console中输出 var arr = ['a ...

  9. C# javascript 全选按钮

    function selectAll(checkbox) {                  $('input[type=checkbox]').attr('checked', $(checkbox ...

  10. OpenStack系列

    一.概述 云计算介绍 OpenStack各组件详解和通信流程 二.keystone系列 三.glance系列 四.nova系列 虚拟化介绍 kvm介绍 五.neutron系列 六.horizon系列 ...