Multihypothesis Trajectory Analysis for Robust Visual Tracking

2019-10-27 14:33:49

Paperhttps://www.cv-foundation.org/openaccess/content_cvpr_2015/papers/Lee_Multihypothesis_Trajectory_Analysis_2015_CVPR_paper.pdf

Codehttp://mcl.korea.ac.kr/research/object_tracking/dylee_cvpr2015/dylee_cvpr_2015_source_code.zip

Project pagehttp://mcl.korea.ac.kr/research/object_tracking/dylee_cvpr2015/

1. Background and Motivation:

本文提出使用多个轨迹假设的方法来进行跟踪,貌似也是首次将 trajectory 引入到跟踪中。该方法可以有效地考虑前后帧之间的关联。 用多个 tracker 去跑,然后设计度量公式,去选择轨迹片段。

2. STRUCK tracker:

本节对 STRUCK 跟踪算法进行了回归。

3. MTA Tracker

作者这里通过通过对比前向跟踪结果后向跟踪结果的差异性,来判断当前前向跟踪器的结果是否可靠。此外,作者采用多个前向跟踪器来提供多个轨迹假设。通过前向和后向分析,作者选择最好的 前向跟踪轨迹来改善跟踪的精确度和鲁棒性。

3.1 Multiple Component Trackers:

作者为同一个 tracker,输入不同的 feature,从而达到得到不同跟踪轨迹的目的。三条轨迹分别使用:Haar-like feature,Color histograms,Illumination invariant feature,具体细节如下所示:

为了衡量特征向量 u 和 v 之间的相似性,我们用交叉核(intersection kernel)来组合他们,得到:

3.2 Trajectory Analysis --- Robustness Score

三个成分的跟踪器产生了三个轨迹假设。作者衡量每一个跟踪器的鲁棒性,然后选择当前时刻最优的作为最终的轨迹。

跟踪器鲁棒性得分的计算方法如下:

首先,从前些帧到当前帧,先用 tracker 进行跟踪,那么可以得到前向轨迹:

然后,在 frame t2 时刻的位置,我们初始化再初始化一个 tracker 进行后向的跟踪。后向轨迹如下:

注意到,在间隔 [t1, t2] 的最后一帧 t2,我们有 作者用后向轨迹来检查前向轨迹的可靠性,但是采用三种不同的度量方式:geometric similarity, cyclic weight, and appearance similarity。如图 2 (a)所示,几何相似性得分如下:

利用的是前向位置 和 后向位置的距离,其中分母为 500。理想的情况下,后向估计应该和前向是一致的,此时的几何相似性为 1。

接下来,我们衡量前向和后向的循环权重。由于跟踪失败情况的存在,后向传播的最终位置可能和前向的起始位置不相同。在这种情况下,两个轨迹并不能构成一个闭环。如图 2(b)所示,跟踪器 1 和 2 构成了闭环,但是 3 并没有。此外,虽然 1 和 2 都构成了闭环,但是两者的 IoU 差距还是很大的,因为 2 出现了很大的不重合。但是这可能是因为 heavy occlusion,反而 跟踪器 2 可能是成功跟踪上的。与此对比,跟踪器 3 可能就是失败的 tracker 了。

实际上,作者计算两个对应 BBox 的重合度,得到:

其中,德尔塔 里面有一个 x 的表示的是该 BBox 的面积,而有两个 BBox 的是两个 BBox 的重合面积。当该比值小于 0.3 的时候,表示前向和后向轨迹不一致。作者统计在这个短期内不匹配的次数,以检查两个轨迹是否构成一个闭环。然后,定义两个轨迹的循环权重如下:

注意到,10^6 是一个任意的大数(big number)。

此外,作者也定义了 appearance similarity 来衡量反向位置的可靠性。假设我们已经用多个 tracker 跑完了某一段,得到了前向轨迹。我们保持四个图像块,沿着前向轨迹选择的 bbox。第一帧的 bbox 是默认选择的,其他三个bbox更新用于产生最高的判别函数得分。假设 P(x) 表示 x 位置的 image patch,然后,其后向轨迹对应该图像块的 appearance similarity 可以定义为:

其中,分母中 delta 2 的平方 为 900,w 和 h 分别是 BBox 的宽和高。K 是高斯权重 mask,黑点表示 pixel-by-pixel weight multiplication。如果该指标较小,则表明:反向轨迹的 bbox 相对于以前的,快速改变了其外观,可能表明出现了 tracking error。

最终,我们组合几何相似性,循环权重,外观相似性来量化跟踪器的鲁棒性,得到:

该度量值越大,表明前向轨迹越可靠。

3.3 Tracking by Optimal Trajectory Selection.

作者为了降低计算复杂度,每间隔 $\tao$ 帧运行一次轨迹分析。然后开始计算鲁棒性得分,得到当前 frame clip 的轨迹,即:公式(11)。

3.4 Failure Handling

作者也设置了一个阈值,对多个轨迹进行分析,进行 tracking failure 的判断。

4. Experiments

==

Multihypothesis Trajectory Analysis for Robust Visual Tracking的更多相关文章

  1. Summary on Visual Tracking: Paper List, Benchmarks and Top Groups

    Summary on Visual Tracking: Paper List, Benchmarks and Top Groups 2018-07-26 10:32:15 This blog is c ...

  2. Resources in Visual Tracking

    这个应该是目前最全的Tracking相关的文章了 一.Surveyand benchmark: 1.      PAMI2014:VisualTracking_ An Experimental Sur ...

  3. Adaptive Decontamination of the Training Set: A Unified Formulation for Discriminative Visual Tracking

    Martin Danelljan 判决类追踪模型是由训练样本学习得到,但是为了适应目标和背景的变化sample set在每一帧中都会更新. 令(xjk, yjk)表示第k帧k={1,2,...,t}中 ...

  4. Survey of single-target visual tracking methods based on online learning 翻译

    基于在线学习的单目标跟踪算法调研 摘要 视觉跟踪在计算机视觉和机器人学领域是一个流行和有挑战的话题.由于多种场景下出现的目标外貌和复杂环境变量的改变,先进的跟踪框架就有必要采用在线学习的原理.本论文简 ...

  5. 论文笔记之: Hierarchical Convolutional Features for Visual Tracking

    Hierarchical Convolutional Features for Visual Tracking  ICCV 2015 摘要:跟卢湖川的那个文章一样,本文也是利用深度学习各个 layer ...

  6. 论文笔记:SiamRPN++: Evolution of Siamese Visual Tracking with Very Deep Networks

    SiamRPN++: Evolution of Siamese Visual Tracking with Very Deep Networks 2019-04-02 12:44:36 Paper:ht ...

  7. 论文笔记:Deeper and Wider Siamese Networks for Real-Time Visual Tracking

    Deeper and Wider Siamese Networks for Real-Time Visual TrackingUpdated on 2019-04-01 16:10:37 Paper ...

  8. Particle filter for visual tracking

    Kalman Filter Cons: Kalman filtering is inadequate because it is based on the unimodal Gaussian dist ...

  9. ‘Skimming-Perusal’ Tracking: A Framework for Real-Time and Robust Long-term Tracking

    ‘Skimming-Perusal’ Tracking: A Framework for Real-Time and Robust Long-term Tracking 2019-09-05 21:1 ...

随机推荐

  1. react 爬坑记录

    1.父子组件优化其一发生render条件:数据改变(state或者props改变),有时子组件会过多render.这时可在子组件里面的生命周期钩子里执行 shouldComponentUpdate(n ...

  2. Java 7 NIO.2学习(Ing)

    Path类 1.Path的基本用法 Path代表文件系统中的位置,即文件的逻辑路径,并不代表物理路径,程序运行的时候JVM会把Path(逻辑路径)对应到运行时的物理位置上. package com.j ...

  3. python-Arduino串口传输数据到电脑并保存至excel表格

    起因:学校运河杯报了个项目,制作一个天气预测的装置.我用arduino跑了BME280模块,用蓝牙模块实现两块arduino主从机透传.但是为了分析,还需要提取出数据.因此我用python写了个上位机 ...

  4. Android AMS服务

    继续来研究Android Framework层相关的一些东东,这里是以Android8.0版本的源码进行梳理的,关注的还是其核心流程,不是彻底分析,了解了核心流程是为了了期其大概的原理. Androi ...

  5. js--同步运动json上

    如何实现几个属性的同时变化?这个问题需要运用到json,这里我们先来简要的介绍一下json json的形式是这样的,他的元素是有一对对的键值对组成的{name1:value1,name2:value2 ...

  6. graylog-日志收集

    1.linux主机日志收集 使用syslog协议将系统日志发送到graylog上进行收集,可以指定端口 touch /etc/rsyslog.d/graylog.conf *.* @192.168.9 ...

  7. 【Java】SpringBoot-Ajax-Json:Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported for @RequestBody XXX

    1.重新组装数据 var params=JSON.stringify({"userword":XXXXX,"password":"XXXXX" ...

  8. Excel——读取文件后——组装成待插入数据库数据——实体映射模式

    package com.it.excel.excelLearn; import java.io.IOException; import java.util.HashMap; import java.u ...

  9. Python 类的继承__init__() takes exactly 3 arguments (1 given)

    类(class),可以继承基类以便形成具有自己独特属性的类,我们在面向对象的编程中,经常用到类及其继承,可以说没有什么不是类的,今天我们就来详细探讨一下在python中,类的继承是如何做的. 我们假设 ...

  10. react native断点调试--Debug React-Native with VSCode

    .babelrc { "presets": [ "react-native" ], "sourceMaps": true } Many Ja ...