zoukankan      html  css  js  c++  java
  • Multihypothesis Trajectory Analysis for Robust Visual Tracking

    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/ 

    Related works: 

    1). Kim, Chanho, et al. "Multiple hypothesis tracking revisited." Proceedings of the IEEE International Conference on Computer Vision. 2015. [Paper]

     

    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

     

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

     

    3.4 Failure Handling

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

     

    4. Experiments

     

     

     

     

     

    ==

  • 相关阅读:
    【Lintcode】112.Remove Duplicates from Sorted List
    【Lintcode】087.Remove Node in Binary Search Tree
    【Lintcode】011.Search Range in Binary Search Tree
    【Lintcode】095.Validate Binary Search Tree
    【Lintcode】069.Binary Tree Level Order Traversal
    【Lintcode】088.Lowest Common Ancestor
    【Lintcode】094.Binary Tree Maximum Path Sum
    【算法总结】二叉树
    库(静态库和动态库)
    从尾到头打印链表
  • 原文地址:https://www.cnblogs.com/wangxiaocvpr/p/11747511.html
Copyright © 2011-2022 走看看