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

     

     

     

     

     

    ==

  • 相关阅读:
    redis基础
    Django Meta
    Django Query
    Django FileFieldManage
    Django Managers管理器
    Django 模型
    Pytables h5py
    python 高级部分
    Python和HDF 5大数据应用
    是时候放弃pipeline 模型 ?
  • 原文地址:https://www.cnblogs.com/wangxiaocvpr/p/11747511.html
Copyright © 2011-2022 走看看