打算整理一个关于Person Re-identification的系列论文笔记,主要记录近年CNN快速发展中的部分有亮点和借鉴意义的论文。

论文笔记流程采用contributions->algorithm pipeline>experiments->个人评价

  Scalable Person Re-identification: A Benchmark

  Zheng L, Shen L, Tian L, et al. Scalable Person Re-identification: A Benchmark[C]// IEEE International Conference on Computer Vision. IEEE Computer Society, 2015:1116-1124.

contributions

  本篇论文主要有two contributions:

  1.提供了一个大规模的行人重识别数据集Market-1501(包含326423标定框和50w的干扰集且单个目标多摄像头多真值),并提出使用mAP替代CMC作为性能评价指标。

2.基于最新的图片搜索系统,提出基于BoW的特征表达方法。

  首先是Market-1501与其他数据集的比较,优势明显目标数多,多cam,且包含万量级的干扰集。在当时是一个极具挑战力的数据集了。

algorithm  

这里注意几个概念:

1.mAP和CMC区别。CMC是排序中计算匹配度的指标,它考虑的第一个真值的匹配。而对应行人重识别任务来说,往往会存在multiple ground truths,因此需要使用同时考虑precision和recall的mAP。

2.multiple query。实现方式是将查询目标的多图以pooling的方式融合成一张查询图(其实还有种是融合距离),这样操作的好处是增强算法对类内的变化的鲁棒性。(实验结果证明是一个刷性能的策略)

3.rerank同样是刷性能的利器。

算法流程主要是经典的BoW。

a.提取local feature,文章使用Color Names。——>b.用k-means训练codebook——>c.量化(特征向量用visual words表示)和编码(TF-IDF)——>相似度计算

experiments

实验结果如下,在BoW的基础上逐条的添加tricks(可以看到在深度学习之前的性能是有多惨):

文章还有利用kd-trees实现ANN,从而成倍的提高检索效率的实验,具体不详述。

个人评价

本篇主要贡献点在一个较大规模的Re-id训练集Market-1501,这是在该方向利用深度学习的前提条件。其次使用一组具有代表性的传统方法提供了一个Re-id的benchmark。

研究person re-id的主要力量是国人,感兴趣的可以重点关注清华郑梁和悉尼科技大的杨易老师组的paper。

Person Re-identification 系列论文笔记(一):Scalable Person Re-identification: A Benchmark的更多相关文章

  1. Person Re-identification 系列论文笔记(二):A Discriminatively Learned CNN Embedding for Person Re-identification

    A Discriminatively Learned CNN Embedding for Person Re-identification Zheng Z, Zheng L, Yang Y. A Di ...

  2. Person Re-identification 系列论文笔记(三):Improving Person Re-identification by Attribute and Identity Learning

    Improving Person Re-identification by Attribute and Identity Learning Lin Y, Zheng L, Zheng Z, et al ...

  3. Person Re-identification 系列论文笔记(八):SPReID

    Human Semantic Parsing for Person Re-identification Kalayeh M M, Basaran E, Gokmen M, et al. Human S ...

  4. Person Re-identification 系列论文笔记(六):AlignedReID

    AlignedReID Zhang X, Luo H, Fan X, et al. AlignedReID: Surpassing Human-Level Performance in Person ...

  5. Person Re-identification 系列论文笔记(五):SVD-net

    SVDNet for Pedestrian Retrieval Sun Y, Zheng L, Deng W, et al. SVDNet for Pedestrian Retrieval[J]. 2 ...

  6. Person Re-identification 系列论文笔记(七):PCB+RPP

    Beyond Part Models: Person Retrieval with Refined Part Pooling Sun Y, Zheng L, Yang Y, et al. Beyond ...

  7. Person Re-identification 系列论文笔记(四):Re-ID done right: towards good practices for person re-identification

    Re-ID done right: towards good practices for person re-identification Almazan J, Gajic B, Murray N, ...

  8. 【论文笔记系列】AutoML:A Survey of State-of-the-art (下)

    [论文笔记系列]AutoML:A Survey of State-of-the-art (上) 上一篇文章介绍了Data preparation,Feature Engineering,Model S ...

  9. 论文笔记系列-Neural Network Search :A Survey

    论文笔记系列-Neural Network Search :A Survey 论文 笔记 NAS automl survey review reinforcement learning Bayesia ...

随机推荐

  1. iOS学习笔记-084.粒子效果——路径移动

    https://blog.csdn.net/qiwenmingshiwo/article/details/75806637 粒子效果路径移动一说明1 效果2 步骤分析二代码1 VCViewh2 VCV ...

  2. Leetcode264. Ugly Number II丑数2

    编写一个程序,找出第 n 个丑数. 丑数就是只包含质因数 2, 3, 5 的正整数. 示例: 输入: n = 10 输出: 12 解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 ...

  3. Leetcode131. Palindrome Partitioning分割回文串

    给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串. 返回 s 所有可能的分割方案. 示例: 输入: "aab" 输出: [ ["aa",&quo ...

  4. 使用Python Requests上传表单数据和文件

    在Python环境下写一个HTTP客户端,发送POST请求,同时上传表单数据和文件,我们可以使用Requests模块来实现.代码如下: data = { 'name': 'nginx' } files ...

  5. 前端js错误日志收集

    今天一个客户说他们的一个同事用OPPO R11的手机访问不了我们的项目,打开后一片空白,虽然后面发现你的手机网络断了,但是想起来毕竟手机端没有调试的工具可以查看抛出的错误信息,方便我们追踪问题,后端的 ...

  6. 【linux配置】Redhat6.5基础配置指南

    Redhat6.5基础配置指南 本文针对鄙人在工作中常用系统配置加以说明,通常公司用于生产和测试的服务器基本上都不能连接外网,需要针对刚刚安装好的系统做一系列的常用配置. 一.常用基础系统配置 1.关 ...

  7. c#的DateTime的各种字符串格式

    今天看到工程里有关DateTime的有关知识,之前了解一些用法,比如怎么获取年月日,当前系统时间等等,但是,感觉还是有好多不知道,于是上网搜罗了一下,找到很多有关知识,现在与大家分享下:     Da ...

  8. pstree进程管理

    功能:pstree命令列出当前的进程,以及它们的树状结构. 格式:pstree [选项] [pid|user] 主要选项如下: -a:显示执行程序的命令与完整参数. -c:取消同名程序,合并显示. - ...

  9. Laravel 批量替换某个字段

    Likeword::offset(16854)->chunk(100, function ($word_list) { foreach ($word_list as $word) { $new ...

  10. golang内置函数