目标跟踪DSST算法的操作流程笔记

DSST基于DCF,特征只有HOG,但排名却在SAMF之前,得益于更加简单精确的尺度方法。

算法的思路是把目标跟踪看成目标中心平移和目标尺度变化两个独立问题,首先用HOG特征的DCF训练平移相关滤波,负责检测目标中心平移,然后用HOG特征的MOSSE(注意区别,不加padding)训练另一个尺度相关滤波,负责检测目标尺度变化,(标配)步长1.02的33个尺度。

尺度滤波器仅需要检测哪个尺度最匹配而无须关心平移情况,所以DSST将特征压缩成一维(没有循环移位),尺度检测的响应图也是一维的(1*33),同时为了减小计算量,DSST将尺度检测图像块全部缩放到512像素以内,所以DSST能精细检测33个尺度变化同时保持可观的帧率(论文中是24FPS)。更新阶段两个滤波器都以固定学习率逐帧更新。DSST转PAMI后的快速改进版本fDSST虽然性能略有下降,帧率达到了54.3FPS。

这是它的操作流程:

1.取出序列中的第一帧和目标boundingbox

2.提取目标位置候选窗口的特征x,变换到傅里叶域xf

3.生成目标位置回归矩阵y,变换到傅里叶域yf

4.生成n个尺度boundingbox

5.对于每个boundingbox,提取对应区域的特征,这样生成n个特征s,将s变换到傅里叶域sf

6.生成目标尺度回归矩阵ys,变换到傅里叶域ysf

7.训练得到位置跟踪模板

8.训练得到尺度跟踪模板

9.对于序列中未来的所有帧

10.用位置跟踪模板去计算候选窗口上的响应response

11.求得最大响应处位置pos

12. 在所求位置pos上用尺度跟踪模板去计算不同尺度乘子的响应response_s

13. 求得最大响应的尺度乘子,获得新的boundingbox尺寸

14. 这个新的boundingbox尺寸继续用于下一帧图像的位置跟踪

15.预测完所有帧,结束

以上流程中所有加粗的步骤,就是DSST增加的步骤,你会发现去掉这些步骤,这个算法就变成了一个最简单的相关滤波位置跟踪的框架

所以DSST只是在原先位置跟踪的基础上,增加了尺度跟踪的操作,同时需要注意的是,位置跟踪和尺度跟踪其实是相互依赖的关系,预测尺度需要位置信息,预测位置又需要尺度信息。

而最后的检测步骤,也是两者穿插进行的(相互依赖),从这点上看,这个过程又有点像动态规化的感觉。

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