CVPR 2016 paper reading (3)
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)的更多相关文章
- CVPR 2016 paper reading (2)
1. Sketch me that shoe, Qian Yu, Feng Liu, Yi-Zhe Song, Tao Xiang, Timothy M. Hospedales, Cheng Chan ...
- CVPR 2016 paper reading (6)
1. Neuroaesthetics in fashion: modeling the perception of fashionability, Edgar Simo-Serra, Sanja Fi ...
- 浅析"Sublabel-Accurate Relaxation of Nonconvex Energies" CVPR 2016 Best Paper Honorable Mention
今天作了一个paper reading,感觉论文不错,马克一下~ CVPR 2016 Best Paper Honorable Mention "Sublabel-Accurate Rela ...
- (转)CVPR 2016 Visual Tracking Paper Review
CVPR 2016 Visual Tracking Paper Review 本文摘自:http://blog.csdn.net/ben_ben_niao/article/details/52072 ...
- 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 ...
- Paper Reading: Stereo DSO
开篇第一篇就写一个paper reading吧,用markdown+vim写东西切换中英文挺麻烦的,有些就偷懒都用英文写了. Stereo DSO: Large-Scale Direct Sparse ...
- 深度视觉盛宴——CVPR 2016
小编按: 计算机视觉和模式识别领域顶级会议CVPR 2016于六月末在拉斯维加斯举行.微软亚洲研究院在此次大会上共有多达15篇论文入选,这背后也少不了微软亚洲研究院的实习生的贡献.大会结束之后,小编第 ...
- 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 ...
- 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 ...
随机推荐
- java 并发 (四) ---- 并发容器
Hashmap 和 Concurrenthashmap Hashmap 不适合并发,应该使用ConcurrentHashMap . 这是很多人都知道的,但是为什么呢? 可以先看一下这两篇文章. JDK ...
- spring security入门
1. Restful API和传统API的区别 用URL描述资源 用http描述方法行为,用http状态码描述结果 使用json交互数据 RESTful是一种风格,不是强制的标准 2. 使用sprin ...
- golang学习之regexp
regexp是golang标准库自带的正则校验包,使用: re, _ := regexp.Compile(`(\d+)年(\d+)月`) //判断是否匹配category类别搜索 ismatch := ...
- Vue生命周期整理
这篇博客将会从下面四个常见的应用诠释组件的生命周期,以及各个生命周期应该干什么事 单组件的生命周期 父子组件的生命周期 兄弟组件的生命周期 宏mixin的生命周期 生命周期:Vue 实例从开始创建.初 ...
- 互联网轻量级框架SSM-查缺补漏第七天(MyBatis的解析和运行原理)
第七章MyBatis的解析和运行原理 SqlSessionFactory是MyBatis的核心类之一,其最重要的功能就是提供创建MyBatis的核心借口SqlSession,所以要先创建SqlSess ...
- spring框架-----轻量级的应用开发框架
一.bean 1.容器实例化 ApplicationContext ac= new ClassPathXmlApplicationContext("applicati ...
- Hibernate 注解(Annotations 一)
1. @Entity 将一个类声明为一个实体bean(即一个持久化POJO类). 2. @Table 声明了该实体bean映射指定的表(table),目录(catalog)和schema名字 3. @ ...
- JS里的居民们6-数组排序
编码 var arr = [43, 54, 4, -4, 84, 100, 58, 27, 140]; 将上面数组分别按从大到小以及从小到大进行排序后在console中输出 var arr = ['a ...
- C# javascript 全选按钮
function selectAll(checkbox) { $('input[type=checkbox]').attr('checked', $(checkbox ...
- OpenStack系列
一.概述 云计算介绍 OpenStack各组件详解和通信流程 二.keystone系列 三.glance系列 四.nova系列 虚拟化介绍 kvm介绍 五.neutron系列 六.horizon系列 ...