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 ...
随机推荐
- php多进程实现 亲测
php多进程实现 PHP有一组进程控制函数(编译时需要–enable-pcntl与posix扩展),使得php能在nginx系统中实现跟c一样的创建子进程.使用exec函数执行程序.处理信号等功能. ...
- Error -4075: File not found. An error occurred merging module <MODULENAME> for feature <FEATURENAME>.
利用Install Shield2010制作安装包的时候一直报这样的错误,原以为是我自己安装包制作流程的问题,又重新做了2个,但是还是出现问题. 解决办法: 查找资料发现是Install Shield ...
- shell输入与输出功能
一.shell输入功能 1. 2. 二.shell输出功能 1.字符界面前景颜色 2.字符界面背景颜色 3.其他输出命令 ①cat 输出文本,将文本的格式也输出 ②tee 既输出,也保存到文件里 ③m ...
- CentOS Linux 7.3 1611 (Core) 配置静态IP地址
详见: http://blog.csdn.net/johnnycode/article/details/50184073 设置静态IP 关于静态IP设置官方已经给出答案有兴趣的可以看官方WIKI指导, ...
- 抽象工厂模式的C++、Java实现
1.抽象工厂模式UML 图1. 抽象工厂模式的UML 2.C++实现 C++实现类图为: 图2. 抽象工厂模式的C++实现类图 其中,AbstractFactory的实现代码为: //抽象工厂类基类. ...
- httpclient x-www-form-urlencoded
1. 使用Apache httpclient提交post请求 http工具方法(需指定编码, 否则出错,这里用的UTF-8) public static String postWithParamsFo ...
- Python基础-socket编程
一.网络编程 自从互联网诞生以来,现在基本上所有的程序都是网络程序,很少有单机版的程序了. 计算机网络就是把各个计算机连接到一起,让网络中的计算机可以互相通信.网络编程就是如何在程序中实现两台计算机的 ...
- lua中的weak table
weakTable = {} weakTable[] = function() print("i am the first element") end weakTable[] = ...
- 关于比特币的“冷存储”和Armory的使用
转自:http://8btc.com/thread-1164-1-1.html 最近随着比特币话题的火热,又有一批人卖房或倾产换成比特币入圈,这一次与以前不同的是,以前倾产入圈的人都是技术人员,有足够 ...
- react-native-mapbox-gl
mapbox是基于谷歌地图集成的地图插件,可以在很多平台使用,具体可以看mapbox官网.这里具体讲解“react-native-mapbox-gl”插件,是mapbox结合react native封 ...