Multi-shot Pedestrian Re-identification via Sequential Decision Making

2019-07-31 20:33:37

Paperhttp://openaccess.thecvf.com/content_cvpr_2018/papers/Zhang_Multi-Shot_Pedestrian_Re-Identification_CVPR_2018_paper.pdf

Codehttps://github.com/TuSimple/rl-multishot-reid

1. Background and Motivation:

本文引入 DRL 到 person re-ID 任务,通过序列决策来完成难易样本的识别问题。主要动机如下图所示:

2. The Proposed Method

2.1 Image-level feature extraction:

作者对图像特征提取,采用了多个组合损失函数的形式,即:classification loss, pairwise verification loss, and triplet verification loss。用了两种经典的骨干网络,即:Inception-BN 和 AlexNet。作者将一个序列中所有图像的 feature 进行聚合,得到 l2-normalized features,即:

并且根据 l (*, *) 进行 identities  的排序,即:

2.2 Sequence Level Feature Aggregation :

作者将该问题看做是 Markov Decision Processes (MDP), 表达为 (S, A, T, R)。 在每一个步骤中,agent 将会从两个输入序列中得到一个选择的图像对,来观察 state,然后选择一个动作,接下来该 agent 将会得到一个奖励 r。在此之后,如果序列没有结束,该智能体将会接收下一个 image pair,然后得到一个新的 state。

Actions and Transitions:

首先随机的从两个序列中,选择两个图像,构成 image pair。然后将该样本对输入到 agent 中,agent 会输出三个动作:same, different, and unsure。前两个动作将会停止当前的 episode,然后即可输出当前的结果。作者认为当智能体收集到了足够的信息,并且足够自信来进行决策的时候,就可以及时停止以避免不必要的计算代价。如果智能体选择的 action 是 unsure,那么我们将会选择其他的 image pair 来进行判别。

Rewards:我们定义如下的奖励情况:

如果 agent 给定的结果和 gt 一致,那么给定 +1 的奖励;

如果 at 与 gt 不同,奖励将是 -1;要么当 t = $t_{max}$ 时,at 仍然是 unsure 的时候;

当 t < $t_{max}$,$a_t$ 是 unsure 的时候,奖励是 $r_p$ ;

这里的 rp 可能是 + 也可能是 -,具体看情况:If rp is negative, it will be penalized for requesting more pairs; on the other hand, if rp is positive, we encourage the agent to gather more pairs, and stop gathering when it has collected $t_{max}$ pairs to avoid a penalty of -1. 这个值,将会极大地影响最终 agent 的行为。

States and Deep Q-learning:

我们使用 deep Q-learning 来找到最优的策略。对于每一个 state and action $(s_t, a_t)$, $Q(s_t, a_t)$ 代表了当前状态和动作下的折扣的累积奖励。在训练阶段,我们可以迭代的更新 Q-function:

在时刻 t,状态 st 由如下的三个部分构成:

1). the first part is the observation $o_t$,即图像的特征;

2). the second part is a weighted average of the difference between historical image features of two sequences; 权重计算方法如下:

3). we also augment the image features with hand-crafted features for better discrimination.

3. Experimental Results

==

Multi-shot Pedestrian Re-identification via Sequential Decision Making的更多相关文章

  1. Parallel Gradient Boosting Decision Trees

    本文转载自:链接 Highlights Three different methods for parallel gradient boosting decision trees. My algori ...

  2. ICCV 2017论文分析(文本分析)标题词频分析 这算不算大数据 第一步:数据清洗(删除作者和无用的页码)

    IEEE International Conference on Computer Vision, ICCV 2017, Venice, Italy, October 22-29, 2017. IEE ...

  3. ICLR 2013 International Conference on Learning Representations深度学习论文papers

    ICLR 2013 International Conference on Learning Representations May 02 - 04, 2013, Scottsdale, Arizon ...

  4. metasploit-post模块信息

    Name                                             Disclosure Date  Rank    Description ----           ...

  5. Andrew Ng机器学习公开课笔记–Reinforcement Learning and Control

    网易公开课,第16课 notes,12 前面的supervised learning,对于一个指定的x可以明确告诉你,正确的y是什么 但某些sequential decision making问题,比 ...

  6. Learning Structured Representation for Text Classification via Reinforcement Learning 学习笔记

    Representation learning : 表征学习,端到端的学习 pre-specified  预先指定的 demonstrate  论证;证明,证实;显示,展示;演示,说明 attempt ...

  7. David Silver强化学习Lecture1:强化学习简介

    课件:Lecture 1: Introduction to Reinforcement Learning 视频:David Silver深度强化学习第1课 - 简介 (中文字幕) 强化学习的特征 作为 ...

  8. (转)Applications of Reinforcement Learning in Real World

    Applications of Reinforcement Learning in Real World 2018-08-05 18:58:04 This blog is copied from: h ...

  9. 论文笔记之:SeqGAN: Sequence generative adversarial nets with policy gradient

    SeqGAN: Sequence generative adversarial nets with policy gradient  AAAI-2017 Introduction :  产生序列模拟数 ...

随机推荐

  1. java自定义注释及其信息提取

    转自:https://xuwenjin666.iteye.com/blog/1637247 1. 自定义注解 import java.lang.annotation.Retention; import ...

  2. SpringBoot加载配置文件(@PropertySource@importSource@Value)

    情景描述 最近新搭建了一个项目,从Spring迁到了Springboot,为了兼容Spring加载配置文件的风格,所以还想把PropertyPlaceholderConfigurer放在.xml文件里 ...

  3. 如何使用Prometheus采集SAP ABAP Netweaver的应用日志数据

    Prometheus是一套开源的系统监控报警框架.它启发于Google的borgmon 监控系统,由工作在 SoundCloud 的 google 前员工在 2012 年创建,作为社区开源项目进行开发 ...

  4. Linu如何查看磁盘占用情况及处理办法

    free -h: 查看当前剩余的内存大小 df: 查看文件系统磁盘使用率,可能free -h得到的剩余空间还有很多,但是df查询得到的部分文件系统磁盘使用率较高 当发现磁盘使用率较高的时候,可以: 先 ...

  5. 【等待事件】等待事件系列(5.1)--Enqueue(队列等待)

    [等待事件]等待事件系列(5.1)--Enqueue(队列等待)   1  BLOG文档结构图   2  前言部分   2.1  导读和注意事项 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可 ...

  6. 【DATAGUARD】物理dg配置客户端无缝切换 (八.2)--Fast-Start Failover 的配置

    [DATAGUARD]物理dg配置客户端无缝切换 (八.2)--Fast-Start Failover 的配置 一.1  BLOG文档结构图       一.2  前言部分   一.2.1  导读 各 ...

  7. jmeter bodydata参数传递

    参见:接口测试, jmeter bodydata 传送的参数,在请求中显示为空 新增http header信息头:

  8. Linux 常见 RAID 及软 RAID 创建

    RAID可以大幅度的提高磁盘性能,以及可靠性,这么好的技术怎么能不掌握呢!此篇介绍一些常见RAID,及其在Linux上的软RAID创建方法. mdadm 创建软RAID mdadm -C -v /de ...

  9. new 的对象如何不分配在堆而分配在栈上(方法逃逸等)

    当能够明确对象不会发生逃逸时,就可以对这个对象做一个优化,不将其分配到堆上,而是直接分配到栈上,这样在方法结束时,这个对象就会随着方法的出栈而销毁,这样就可以减少垃圾回收的压力. 如方法逃逸. 逃逸分 ...

  10. python学习之鼠标事件&键盘事件

    driver.maximize_window()   浏览器最大化 ActionChains类与输入事件 1:from selenium.webdriver.common.action_chains ...