Learning to Track: Online Multi-Object Tracking by Decision Making

ICCV   2015

  本文主要是研究多目标跟踪,而 online 的多目标检测的主要挑战是 如何有效的将当前帧检测出来的目标和之前跟踪出来的目标进行联系。本文将 online MOT problem 看做是 MDPs 问题,用一个 MDP 来建模一个物体的生命周期。学习物体相似性的度量 就等价于学习MDP的一个策略,而该策略的学习可以用RL 的方式进行,能够兼顾 online 和 offline 方式的优点。与此同时,本文算法可以处理物体的出现和消失的情况,即将该过程转化为 MDP的状态转移问题。

  1. Introduction

  首先介绍的是 MOT 的重要意义和广泛的应用,然后提出各个其他算法基本都是 batch mode 的进行跟踪。进一步的指出这种算法模式不适合需要 online 的应用场景,如:机器人导航 和 自动驾驶等问题。

  然后提出对于 online mode 中tracking-by-detection方法的主要挑战是:how to associate noisy object detections in the current video frame with previously tracked objects ? 任何数据联系算法的基础都是物体检测和目标的相似性函数的计算。为了排除联系过程中的模糊现象,要尽可能的利用一切有用的信息来协助进行联系,如:appearance,location,motion等等。

  最近的MOT算法可以大致分为两类:

  首先是,offline-learning,在进行跟踪之前就进行学习,从gt轨迹有监督的学习到物体检测和目标之间的相似性函数。所以,offline-learning 是静态的:他没有考虑到动态状态和物体的轨迹,这些在实际跟踪过程中缓解模糊情况,都是非常重要的。

  与此对应的是,online learning 是在跟踪的过程中进行学习。一种常见的策略是将跟踪地结果分为 positive and negative samples,然后根据这些样本进行相似性函数的计算(similarity function)。

  online-learning的方法可以充分的结合 dynamic status 和 the history of the target。但是悲剧的是,并没有 gt 可以参考进行有监督的学习。所以,就容易导致当跟踪地结果出现误差时,错误的分类,最终导致模型的 drift。

  如上图所示,本文将单个目标的跟踪问题看做是 MDP 过程中的策略决定问题,从而,多目标跟踪就变成了多个 MDP 的问题。本文将数据联系的相似性函数的学习看作是学习MDP的一个策略。策略的学习通过 RL 的方式,可以兼顾 offline learning 和 online learning 的优势。

  首先,学习以offline的方式进行,所以可以利用 gt 轨迹进行协助的有监督方式进行;

  其次,当跟踪目标出现在训练序列中才进行学习,所以 MDP 可以根据当前的状态和轨迹的历史进行综合的做出决定。

  特别地,给定物体的 gt 轨迹 和一个初始的相似性函数,MDP 可以试着去跟踪物体然后从gt中收集反馈信息。根据反馈信息,MDP 更新相似性函数来改善跟踪性能。只有当 MDP 做出了错误的决定时,才进行相似性函数的更新,这样就可以确保我们收集hard training samples 来学习相似性函数。

  最后,MDP 可以成功的跟踪上物体的时候,就停止学习过程。

  除了我们学习策略的优势之外,还可以自然的处理物体的消失和产生,即:将其看做是MDP 的状态转移问题。我们的方法也从 online 的单目标跟踪方法上受益,我们学习和更新一个 appearance model 来处理物体检测失败的情况。

 


  2. 相关工作(略)

  3. Online Multi-Object Tracking Framework

  3.1 Markov Decision Process

  本文的框架中,用MDP 来建模一个物体的 lifetime,主要包括四个成分:状态,动作,状态转移矩阵,实值奖励函数。

  States. 作者将目标 MDP 的状态空间分为 4个子空间,即:$\mathcal{S} = \mathcal{S}_{Active} U \mathcal{S}_{Tracked} U \mathcal{S}_{Lost} U \mathcal{S}_{Inactive}$,每一个子空间包括有限的状态个数,编码依赖于特征表示的目标信息。

  各个状态之间的转换也是很有意思的,有点像操作系统中进程的几个状态之间的转换。任何物体的初始状态都是 “Active”,然后该物体可能被跟踪到,即转到“Tracked”,或者没有被激活,就是“Inactive”。被跟踪的物体有可能被跟踪丢失,即:由“Tracked”转到“Lost”。丢失的物体可能重新被发现,即转回到 “Tracked” 状态,或者就此丢失了,或者转为“Inactive”状态。此处需要注意的是:“Inactive” 永远无法被重新跟踪了,即是一种死锁状态。

  

  Actions and Transition Function. 联系各个状态之间的转换,利用的就是 状态转移函数。例如,在跟踪的物体上,执行动作 a4 就会导致状态转向 Lost state, 即:$T(s_{Tracked}, a_4) = s_{Lost}$。

  Reward Function.

  3.2. Policy:

  在MDP当中,一个策略 $\pi$ 是从状态空间 S 到动作空间 A 的一个映射。给定目标的当前状态,该策略可以决定才去哪一个动作。同样的,MDP 当中的策略决定也是按照一定的策略进行的。策略学习的目标就是可以学到一个策略使得最终的总的奖励最大。本节首先讲讲在 Active subspace and the Tracked subspace 的策略设计,然后才是在 Lost subspace 中数据联系的策略。

  3.2.1 Policy in an Active State

  在一个 Active state s,MDP 决定了关于转移一个物体检测到被跟踪或者 inactive target 来处理噪声检测。策略决定可以看做是tracking 的预处理。像 NMS 或者 阈值化检测得分的策略经常被使用。

  3.2.2 Policy in a Tracked State

  在一个Tracked state,MDP 需要决定是否要继续跟踪该物体或者将其转换为 lost state。只要该物体没有被遮挡或者说一直在视野当中,那么就要一直保持 tracked state。否则,就要将其标记为:lost。本文采用了单目标跟踪经常使用的 appearance model 来对物体进行跟踪,并且采用了 TLD tracker 来跟踪物体。

  Template Representation:

  物体的外观可以简单地看做是视频帧上的图像patch,不管何时一个物体检测转化为跟踪目标,我们都用检测的 bounding box 来初始化目标模板。下图给出了一组行人的模板。当物体被跟踪时,MDP 在跟踪地视频帧上收集其模板来表示目标的历史,这个会在 lost state 做决策的时候用到。

  Template Tracking.

  Template Updating. 

  3.2.3 Policy in a Lost State.

  

  Data Association.

  

   

   

  

  

   

  

论文笔记之:Learning to Track: Online Multi-Object Tracking by Decision Making的更多相关文章

  1. 论文笔记:Learning Dynamic Memory Networks for Object Tracking

    Learning Dynamic Memory Networks for Object Tracking  ECCV 2018Updated on 2018-08-05 16:36:30 Paper: ...

  2. 论文笔记之:Fully-Convolutional Siamese Networks for Object Tracking

    gansh Fully-Convolutional Siamese Network for Object Tracking 摘要:任意目标的跟踪问题通常是根据一个物体的外观来构建表观模型.虽然也取得了 ...

  3. 【论文笔记】Learning Fashion Compatibility with Bidirectional LSTMs

    论文:<Learning Fashion Compatibility with Bidirectional LSTMs> 论文地址:https://arxiv.org/abs/1707.0 ...

  4. 论文笔记:Learning regression and verification networks for long-term visual tracking

    Learning regression and verification networks for long-term visual tracking 2019-02-18 22:12:25 Pape ...

  5. 论文笔记:Rich feature hierarchies for accurate object detection and semantic segmentation

    在上计算机视觉这门课的时候,老师曾经留过一个作业:识别一张 A4 纸上的手写数字.按照传统的做法,这种手写体或者验证码识别的项目,都是按照定位+分割+识别的套路.但凡上网搜一下,就能找到一堆识别的教程 ...

  6. 论文笔记: Deep Learning based Recommender System: A Survey and New Perspectives

    (聊两句,突然记起来以前一个学长说的看论文要能够把论文的亮点挖掘出来,合理的进行概括23333) 传统的推荐系统方法获取的user-item关系并不能获取其中非线性以及非平凡的信息,获取非线性以及非平 ...

  7. 深度学习论文笔记-Deep Learning Face Representation from Predicting 10,000 Classes

    来自:CVPR 2014   作者:Yi Sun ,Xiaogang Wang,Xiaoao Tang 题目:Deep Learning Face Representation from Predic ...

  8. 论文笔记:Learning wrapped guidance for blind face restoration

    这篇论文主要是讲人脸修复的,所谓人脸修复,其实就是将低清的,或者经过压缩等操作的人脸图像进行高清复原.这可以近似为针对人脸的图像修复工作.在图像修复中,我们都会假设退化的图像是高清图像经过某种函数映射 ...

  9. SfMLearner论文笔记——Unsupervised Learning of Depth and Ego-Motion from Video

    1. Abstract 提出了一种无监督单目深度估计和相机运动估计的框架 利用视觉合成作为监督信息,使用端到端的方式学习 网络分为两部分(严格意义上是三个) 单目深度估计 多视图姿态估计 解释性网络( ...

  10. 论文笔记:Learning Attribute-Specific Representations for Visual Tracking

    Learning Attribute-Specific Representations for Visual Tracking AAAI-2019 Paper:http://faculty.ucmer ...

随机推荐

  1. (三)获取iphone的IMSI

    今天的任务是 iPhone上怎样获取 imsi 信息 来判断所属运营商,资料找了很久!总体有两种方案,但是其中一种好像不行 这里我都记录下来吧: 1: 这是使用coreTelephony.framew ...

  2. linux学习笔记2:linux 下java开发的软件安装

    一.java ee开发环境的搭建 1.jdk的安装步骤 (1)首先必须要有安装文件,具体的可以去相关网站上下载,并制作iso文件 (2)将制作的iso文件挂载到linux系统上,并在虚拟机上将iso文 ...

  3. 生成1~n的全排列

    输入正整数n,输出n的全排列. 样例输入1: 3 样例输出1: 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 分析: 按字典序从小到大的顺序输出所有的排列. (字典序:两个序 ...

  4. Java基础毕向东day03

    Java基础毕向东day03 1.变量 2.条件结构 3.循环结构,for while,和几种特殊的情况. 4.函数重载

  5. javascript 构造函数中的属性与原型上属性优先级的比较

    备注: 下面这个问题是我前天看书上发现的. 按照我以前的理解, a.rename()这个方法传什么值,结果都会弹出 小a,但我看书上的demo 弹出的是大A.... 我的困惑是:  js的构造函数中的 ...

  6. 使用开源工具MonoDevelop开发GTK#图形界面

    转自:http://developer.51cto.com/art/201011/235040.htm Mono一直到现在的2.8已经完全可以胜任一些比较小的项目了,但相关的开发文档与教程一直比较匮乏 ...

  7. 王家卫i

    〈旺角卡门〉 因为我很了解我自己,我不能对你承诺什么. 你不要说两次,说两次我就相信了. 我宁愿做一日英雄,都不想成世做条虫! 厨房里有煮好的饭,另外我还买了几个杯子,我知道,用不了多久就都会被打破, ...

  8. XMPP协议的原理介绍

    XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测.它在促进服务器之间的准即时操作.这个协议可能最终允许因特网用户向因特网上的其他任何人发送 ...

  9. @Html.DropDownListFor 绑定列表项

    MVC中为 DropDownListFor 绑定列表项, 一种方案从后台加载列表内容,通过ViewData传递到前台页面. View: <div class="editor-label ...

  10. 【avalon】data

    if (root.dataset) { avalon.fn.data = function (name, val) { name = name && camelize(name) va ...