zoukankan      html  css  js  c++  java
  • CVPR19_Patch-based Discriminative Feature Learning for Unsupervised Person Re-identification

    同样来自中山大学Weishi Zheng老师组的一篇unsupervised person reid,但这篇不是domain adaption,而是只有unlabeled data


    PCB等监督模型的出现表明分块对于行人重识别的有效性。因此这篇文章利用分块的思想解决非监督问题上。

     整个模型如上图:

    • 输入:包括原图像和预处理图像,预处理包括crop, scaling, rotation, brightness, contrast和saturation。其中预处理是对整张图像做而不是图像块做
    • 整个模型包括PatchNet和两个loss。PatchNet包括CNN backbone和patch generation network (PGN)。backbone用作特征提取;PGN用作预测不同的分块位置,以输出不同的分块。整个PatchNet在另外的label dataset上预训练。显然和PCB直接进行水平分块不同,该模型是自适应分块的。
    • loss部分是两个contrast learning loss:
      • 一个loss$mathbb{L}_c^m$是instance level的softcross entropy,显然也是借鉴了cvpr18年的Unsupervised feature learning via non-parametric instance discrimination。简单来说就是设置feature bank,$W^m={w_j^m}_{i=1}^N$,N是训练集图像数目,m应该是$m=1,...M$(即M个patch)。每次forward更新部分bank

         每个patch分类到自己的instance那一类,有

      • 另外一个类是triplet loss$mathbb{V}$
        • 正样本对是原图像块和同一张图像的预处理图像块
        • 负样本对的选择:在每个mini-batch中,l2 norm和点乘的方式计算patch间的余弦相似性并排序,最相似的前$r$个认为是positive,negative中的第一个被当做hard negative
  • 相关阅读:
    LeetCode :: Validate Binary Search Tree[具体分析]
    一世12年龄在泥土还在打,硅谷00创业毕竟开始播放!
    大学毕业生上班第一天6月3号码
    发送到快捷方式不见了
    【转】三种方式在C++中调用matlab
    【转】C++调用Matlab的.m文件
    C++函数模板与模板函数
    Visual Studio 行末回车时运算符两侧自动加空格是怎么设置的
    java回顾4 Java基本数据类型
    zoj 2402
  • 原文地址:https://www.cnblogs.com/xiaoaoran/p/11923173.html
Copyright © 2011-2022 走看看