Multihypothesis Trajectory Analysis for Robust Visual Tracking
Multihypothesis Trajectory Analysis for Robust Visual Tracking
2019-10-27 14:33:49
Code: http://mcl.korea.ac.kr/research/object_tracking/dylee_cvpr2015/dylee_cvpr_2015_source_code.zip
Project page: http://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的更多相关文章
- 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 ...
- Resources in Visual Tracking
这个应该是目前最全的Tracking相关的文章了 一.Surveyand benchmark: 1. PAMI2014:VisualTracking_ An Experimental Sur ...
- Adaptive Decontamination of the Training Set: A Unified Formulation for Discriminative Visual Tracking
Martin Danelljan 判决类追踪模型是由训练样本学习得到,但是为了适应目标和背景的变化sample set在每一帧中都会更新. 令(xjk, yjk)表示第k帧k={1,2,...,t}中 ...
- Survey of single-target visual tracking methods based on online learning 翻译
基于在线学习的单目标跟踪算法调研 摘要 视觉跟踪在计算机视觉和机器人学领域是一个流行和有挑战的话题.由于多种场景下出现的目标外貌和复杂环境变量的改变,先进的跟踪框架就有必要采用在线学习的原理.本论文简 ...
- 论文笔记之: Hierarchical Convolutional Features for Visual Tracking
Hierarchical Convolutional Features for Visual Tracking ICCV 2015 摘要:跟卢湖川的那个文章一样,本文也是利用深度学习各个 layer ...
- 论文笔记: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 ...
- 论文笔记: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 ...
- Particle filter for visual tracking
Kalman Filter Cons: Kalman filtering is inadequate because it is based on the unimodal Gaussian dist ...
- ‘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 ...
随机推荐
- react 爬坑记录
1.父子组件优化其一发生render条件:数据改变(state或者props改变),有时子组件会过多render.这时可在子组件里面的生命周期钩子里执行 shouldComponentUpdate(n ...
- Java 7 NIO.2学习(Ing)
Path类 1.Path的基本用法 Path代表文件系统中的位置,即文件的逻辑路径,并不代表物理路径,程序运行的时候JVM会把Path(逻辑路径)对应到运行时的物理位置上. package com.j ...
- python-Arduino串口传输数据到电脑并保存至excel表格
起因:学校运河杯报了个项目,制作一个天气预测的装置.我用arduino跑了BME280模块,用蓝牙模块实现两块arduino主从机透传.但是为了分析,还需要提取出数据.因此我用python写了个上位机 ...
- Android AMS服务
继续来研究Android Framework层相关的一些东东,这里是以Android8.0版本的源码进行梳理的,关注的还是其核心流程,不是彻底分析,了解了核心流程是为了了期其大概的原理. Androi ...
- js--同步运动json上
如何实现几个属性的同时变化?这个问题需要运用到json,这里我们先来简要的介绍一下json json的形式是这样的,他的元素是有一对对的键值对组成的{name1:value1,name2:value2 ...
- graylog-日志收集
1.linux主机日志收集 使用syslog协议将系统日志发送到graylog上进行收集,可以指定端口 touch /etc/rsyslog.d/graylog.conf *.* @192.168.9 ...
- 【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" ...
- Excel——读取文件后——组装成待插入数据库数据——实体映射模式
package com.it.excel.excelLearn; import java.io.IOException; import java.util.HashMap; import java.u ...
- Python 类的继承__init__() takes exactly 3 arguments (1 given)
类(class),可以继承基类以便形成具有自己独特属性的类,我们在面向对象的编程中,经常用到类及其继承,可以说没有什么不是类的,今天我们就来详细探讨一下在python中,类的继承是如何做的. 我们假设 ...
- react native断点调试--Debug React-Native with VSCode
.babelrc { "presets": [ "react-native" ], "sourceMaps": true } Many Ja ...