论文笔记《Unsupervised Deep Tracking》

文章目录

        • 参考
        • 摘要
        • 方法实现
          • 相关滤波回顾
          • 原型无监督学习
            • 前向跟踪过程
            • 反向跟踪
            • 一致性损失计算
          • 改进无监督跟踪
            • 多帧验证
            • Cost-sensitive Loss 成本敏感的损失函数
        • 实验
        • 总结

参考

1.Unsupervised Deep Tracking
论文
2.KCF目标跟踪方法分析与总结

摘要

本文基于DCFnet 跟踪方法为其设计一种无监督的训练方法。训练只需无标签的视频数据。实验结果表明其准备度和性能能接近最好的方法。

方法实现

相关滤波回顾

参考 KCF目标跟踪方法分析与总结,滤波器为样本 ( X , Y ) (X,Y) (X,Y)下岭回归的解 W W W
在这里插入图片描述
将计算过程转换为傅里叶域下的计算,得到解为
在这里插入图片描述
F \mathcal{F} F为傅里叶变换。推导可参考博客2.
同样在傅里叶域里快速检测得到响应图。
在这里插入图片描述
DCF框架方法通过目标模板X学习目标过滤器W,然后使用W与搜索区域Z卷积得到响应图。

原型无监督学习

无监督学习过程是经过前向跟踪再反向跟踪,比较反向预测与初始的响应图之间的一致性,具体如下
论文笔记《Unsupervised Deep Tracking》_第1张图片
如a图所示,对于一个样本对第1帧template patch 和第2帧search patch ,先前向跟踪,对应图a,图b中浅蓝区域,即在第1帧中随机初始化一个框即红框,在第2帧中计算响应图(图b浅蓝区域的响应图)得到跟踪位置为第2帧中的蓝框。再反向跟踪,对应图a,图b中蓝色区域,将前向跟踪在第2帧中的蓝框作为初始框,在第1帧中搜索目标,计算响应图得到位置为响应图上的绿框,最后一致性检验,计算初始框(第1帧的红框)与反向跟踪得到的绿框之间的误差,作为训练时一个样本对的损失。理想情况下,反向跟踪的结果与初始框一致。图b对应的跟踪网络为CFnet,实际代码中使用的是DCFnet。

前向跟踪过程

在第1帧 P 1 P_1 P1中初始化边框,裁剪出目标模板templat patch T,计算相关滤波
在这里插入图片描述
φ θ ( ⋅ ) \varphi_\theta(\centerdot) φθ()是CNN特征提取网络。 Y T Y_T YT是模板T对应的高斯响应,峰值在初始框中心。得到 W T W_T WT后就可以计算 P 2 P_2 P2帧搜索区域S的响应图
在这里插入图片描述
如果有 P 2 P_2 P2帧对应的label,就可以使用监督训练一个跟踪器。

反向跟踪

根据前向跟踪,我们得到了 P 2 P_2 P2的响应图 R S R_S RS,根据响应图我们构造一个中心在响应图最大处的高斯伪label,记为 Y S Y_S YS,以第2帧 P 2 P_2 P2为目标模板在第一帧 P 1 P_1 P1中搜索目标,计算过程与前向跟踪一致,就替换模板和搜索区域,以及相应的label,得到在第1帧中的响应图 R T R_T RT

一致性损失计算

比较前后向跟踪的一致性。经过前后向跟踪,我们得到在第一帧中的响应图 R T R_T RT,以及初始化的真实label Y T Y_T YT。理想的跟踪器应反向跟踪结果与初始label相同,计算方式为对应位相减计算二范式。
在这里插入图片描述

改进无监督跟踪

原型的计算方式并未考虑中间结果。实际中,可能前向跟踪结果与目标位置偏离但反向跟踪后目标位置与初始目标位置一致,这样一致性的计算并不能反应跟踪器的好坏。另外,视频可能包括无用信息如背景,目标阻塞问题。

多帧验证

在原两帧基础上将样本增加一帧,即三帧作为一个训练样本。增加样本的作用是,放大偏离,如果第一次前向跟踪偏离了目标,那么第二次前向跟踪再次偏离目标,反向跟踪相同,这样损失函数就可以考虑到前后向跟踪偏离的问题。
论文笔记《Unsupervised Deep Tracking》_第2张图片
左边是原型的无监督跟踪一致性计算,右图是改进地无监督跟踪一致性计算。包括 P 1 P_1 P1 P 2 P_2 P2 P 2 P_2 P2 P 3 P_3 P3两个前向跟踪预测过程, P 3 P_3 P3 P 1 P_1 P1一个反向跟踪过程,注意不是两个反向跟踪过程。这样我们在反向跟踪后也得到了在 P 1 P_1 P1帧的响应图 R ~ T \widetilde{R}_T R T。再计算一致性损失。
在这里插入图片描述

Cost-sensitive Loss 成本敏感的损失函数

多帧验证放大了偏离,但因为初始框是初始化的,图片中背景信息远多于前景目标信息,并且背景信息如天空,绿植等是不会运动的,为了减少这些目标对损失的贡献,我们为每个样本的损失增加权重。
先计算目标的运动信息。
在这里插入图片描述
i i i是样本索引, R S 1 R_{S_1} RS1为第一个前向跟踪的响应图, Y T Y_T YT为初始目标对应的label, R S 2 R_{S_2} RS2为第二个前向跟踪的响应图, Y S 1 Y_{S_1} YS1 R S 2 R_{S_2} RS2对应的伪label。对于运动的目标该值更大,对损失贡献也就越大。另外作者还过滤10%的小样本,用二元变量 A d r o p i A_{drop}^i Adropi表示是否将样本i的损失放入总损失函数中。
在这里插入图片描述
最后计算一个batch每个样本的运动信息在整个batch中运动总信息所占比例,值越大说明该样本越重要,则权重应越大。一致性损失计算方式为
在这里插入图片描述

实验

与其它跟踪算法的比较
论文笔记《Unsupervised Deep Tracking》_第3张图片

论文笔记《Unsupervised Deep Tracking》_第4张图片
在原型UDT基础止增加多帧验证,增加数据等改进方法止的比较。

论文笔记《Unsupervised Deep Tracking》_第5张图片

总结

为目标跟踪设计一种无监督的训练方法,并为其增加多帧验证技术,设计成本敏感损失函数。实验表明,与其它跟踪算法相比,其性能达到了基准线。

你可能感兴趣的:(目标跟踪)