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. openlayers 各种图层,持续更新

    /*高德地图*/ var vectorLayerLine = new ol.layer.Tile({ source: new ol.source.XYZ({ urls: [ "http:// ...

  2. JAVA线程池的原理分析

    线程池的作用 1.降低资源的消耗 2.提高效率 3.方便管理 相关概念 corePoolSize核心线程数:核心池的大小,当有任务到达之后,就会创建一个线程去执行任务,当任务数量到达核心线程数后,就会 ...

  3. Windbg 脚本命令简介 一

    Windbg  脚本命令简介 一 Windbg command r: registers的简写,可以显示或修改寄存器的值.浮点寄存器的值.定义别名变量. 可以显示当前线程下的寄存器值. The r c ...

  4. hibernate下Session的获取方式

    Session是应用程序与数据库之间的一个会话,其重要性不言而喻.初学Hibernate,使用SessionFactory,老老实实地打开事务,提交,回滚,关闭session. 1.直接通过Sessi ...

  5. 使用模块化工具打包自己开发的JS库(webpack/rollup)对比总结

    打包JS库demo项目地址:https://github.com/BothEyes1993/bes-jstools 背景 最近有个需求,需要为小程序写一个SDK,监控小程序的后台接口调用和页面报错(类 ...

  6. 02_dubbo的SPI

    [dubbo为什么不采用JDK自带的SPI] 1.JDK自带的SPI(ServiceLoader)会一次性实例化扩展点所有实现,基本只能通过遍历全部获取,也就是接口的实现类全部加载并实例化一遍,如果我 ...

  7. Python爬虫教程-21-xpath 简介

    本篇简单介绍 xpath 在python爬虫方面的使用,想要具体学习 xpath 可以到 w3school 查看 xpath 文档 xpath文档:http://www.w3school.com.cn ...

  8. Github上600多个iOS开源项目地址

    将Github上600多个iOS开源项目进行分类并且有相应介绍,小伙伴们快来看呀 地址:http://github.ibireme.com/github/list/ios/

  9. CSS布局之传统方法

    传统的页面布局依赖于盒模型+流动模型(flow)+浮动模型(float)+层模型(layer)来实现页面的布局,具体方法是通过盒模型+display属性+float属性+position属性来加以实现 ...

  10. 4 关于word2vec的skip-gram模型使用负例采样nce_loss损失函数的源码剖析

    tf.nn.nce_loss是word2vec的skip-gram模型的负例采样方式的函数,下面分析其源代码. 1 上下文代码 loss = tf.reduce_mean( tf.nn.nce_los ...