Deep Attributes Driven Multi-Camera Person Re-identification 
2017-06-28  21:38:55  

  【Motivation】

  本文的网络设计主要分为三个部分:

    Stage 1: Fully-supervised dCNN training
    Stage 2: Fine-tuning using attributes triplet loss
    Stage 3:Final fine-tuning on the combined dataset

  

  大致的网络网络结构以及流程图,如下所示:

  从这里,可以大致看出本文 属性识别的方法:sem-supervised learning 的方法来提升 网络识别能力,之所以识别能力不强,是因为现有的 attribute dataset 都是非常小的,这就导致了 deep neural network 训练不够充分,而手工标注这些数据又非常的困难,耗时费力。比较尴尬。。。

  

  本文首先在全部标注的行人属性识别网络上进行 监督训练,以得到初始的【属性识别网络】,此时的识别网络能力是不足的,即:weak。如何进一步的提升属性识别的能力呢?本文考虑到这么一个现象【同一个人的属性,应该有类似的属性识别结果】,基于该观察,作者利用 triplet loss function,在 instance 的基础上进行属性识别能力的改进:

  【三元组的构建】

  1. select an anchor sample

  2. select another positive sample with the same person ID ;

  3. select a negative sample with different person ID.

  

  而这部分网络训练的目标是:使得同一个人的属性输出结果尽可能的一致,而不同 instance 之间的属性输出结果差距尽可能的大,作者称该 triplet loss 为:attribute triplet loss。这部分的目标函数为:

  

  其中,D(.) 代表两个二元属性向量之间的距离函数,所以对应的损失函数可以表达为:

  

    其中 E 表示 triplet 的个数。

  但是,作者提到上述损失函数可能存在一些问题:the person ID label is not strong enough to train the dCNN with accurate attributes. Without proper constraints, the above loss function may generate meaningless attribute labels and easily overfit the training dataset U.

  于是,作者在上述损失函数的基础上添加了几条规则化项:

  

  公式(4)不仅确保了同一个人拥有相似的属性,并且避免了meaningless attribute。

  

  【在组合的数据集上进行微调】:

  用第二部分得到微调后的网络,预测一部分无标签数据,并且将这部分无标签数据 和 原始标注好的数据,一起来微调 属性识别网络。

  

  最后,就是如何利用这些属性进行最终的再识别???

  其实就是依赖于 属性之间的差距,借用作者摘要当中的话来说就是:

  By directly using the deep attributes with simple Cosine distance, we have obtained surprisingly good accuracy on four person ReID datasets. Experiments also show that a simple distance metric learning modular further boosts our method, making it significantly outperform many recent works.  
  

  

论文笔记之:Deep Attributes Driven Multi-Camera Person Re-identification的更多相关文章

  1. 论文笔记——A Deep Neural Network Compression Pipeline: Pruning, Quantization, Huffman Encoding

    论文<A Deep Neural Network Compression Pipeline: Pruning, Quantization, Huffman Encoding> Prunin ...

  2. 论文笔记:Deep feature learning with relative distance comparison for person re-identification

    这篇论文是要解决 person re-identification 的问题.所谓 person re-identification,指的是在不同的场景下识别同一个人(如下图所示).这里的难点是,由于不 ...

  3. 论文笔记:Deep Residual Learning

    之前提到,深度神经网络在训练中容易遇到梯度消失/爆炸的问题,这个问题产生的根源详见之前的读书笔记.在 Batch Normalization 中,我们将输入数据由激活函数的收敛区调整到梯度较大的区域, ...

  4. 论文笔记:Deep Attentive Tracking via Reciprocative Learning

    Deep Attentive Tracking via Reciprocative Learning NIPS18_tracking Type:Tracking-By-Detection 本篇论文地主 ...

  5. 论文笔记(4)-Deep Boltzmann Machines

    Deep Boltzmann Machines是hinton的学生写的,是在RBM基础上新提出的模型,首先看一下RBM与BM的区别 很明显可以看出BM是在隐含层各个节点以及输入层各个节点都是相互关联的 ...

  6. 论文笔记 Pose-driven Deep Convolutional Model for Person Re-identification_tianqi_2017_ICCV

    1. 摘要 为解决姿态变化的问题,作者提出Pose-driven-deep convolutional model(PDC),结合了global feature跟local feature, 而loc ...

  7. 深度学习论文笔记:Deep Residual Networks with Dynamically Weighted Wavelet Coefficients for Fault Diagnosis of Planetary Gearboxes

    这篇文章将深度学习算法应用于机械故障诊断,采用了“小波包分解+深度残差网络(ResNet)”的思路,将机械振动信号按照故障类型进行分类. 文章的核心创新点:复杂旋转机械系统的振动信号包含着很多不同频率 ...

  8. 论文笔记 — L2-Net: Deep Learning of Discriminative Patch Descriptor in Euclidean Space

    论文: 本文主要贡献: 1.提出了一种新的采样策略,使网络在少数的epoch迭代中,接触百万量级的训练样本: 2.基于局部图像块匹配问题,强调度量描述子的相对距离: 3.在中间特征图上加入额外的监督: ...

  9. 论文笔记《Deep Hand: How to Train a CNN on 1 Million Hand Images When Your Data Is Continuous and Weakly Labelled》

    一.概述 这个是最近的核心工作了,基本上都是靠着这篇paper的model过日子了啊.. 论文主要讲的是hand gesture recognition,实际上是用googlenet做的一个class ...

随机推荐

  1. Yii2将查询数据变为键值对数组及查询构建器

  2. hdu3374 最大最小表示法 +kmp

    #include <iostream> #include <algorithm> #include <string.h> #include <cstdio&g ...

  3. 【转】 如何导入excel数据到数据库,并解决导入时间格式问题

    在办公环境下,经常会用到处理excel数据,如果用写程序导入excel数据到数据库那就太麻烦了,涉及解析excel,还要各种格式问题,下面简单利用数据库本身支持的功能解决这类导入问题. 准备 创建表 ...

  4. HTML转义符

    空格的替代符号有以下几种: 名称 编号 描述   &#; 不断行的空白(1个字符宽度)   &#; 半个空白(1个字符宽度)   &#; 一个空白(2个字符宽度)   & ...

  5. 20165305 苏振龙《Java程序设计》第九周学习总结

    第十三章 Java网络编程 学习了解用于网络编程的类,了解URL.Socket.InetAddress和DatagramSocket类在网络编程中的重要作用 使用URL创建对象的应用程序称作客户端程序 ...

  6. python locust 性能测试:locust安装和一些参数介绍

    安装参考 https://www.cnblogs.com/fnng/p/6081798.html <虫师大大的,很详细> ps:python3.7暂不支持locust:python3安装建 ...

  7. NFS客户端阻塞睡眠问题与配置调研

    Linux NFS客户端需要很小心地配置,否则在NFS服务器崩溃时,访问NFS的程序会被挂起,用ps查看,进程状态(STAT)处于D,意为(由于IO阻塞而进入)不可中断睡眠(如果是D+,+号表示程序运 ...

  8. VS2017调试闪退之Chrome

    巨硬build后发了15.7.1满载期待的升级了..结果NM泪奔................... 为啥 泪奔? 使用Chrome 调试闪退,MMP ,一想肯定是VS的锅咯,各种抓头发.. 试试看 ...

  9. struts2 + spring + mybatis 框架整合详细介绍

    struts2 + spring + mybatis  框架整合详细介绍 参考地址: https://blog.csdn.net/qq_22028771/article/details/5149898 ...

  10. PHP中array_map与array_column之间的关系分析

    array_map()与array_column()用法如下: array_map();将回调函数作用到给定数组的单元上array_column();快速实现:将二维数组转为一维数组 array_co ...