尺度变化是跟踪中比较基础和常见的问题,前面介绍的KCF/DCF和CN都没有尺度更新,如果目标缩小,滤波器就会学习到大量背景信息,如果目标扩大,滤波器就跟着目标局部纹理走了,这两种情况都很可能出现非预期的结果,导致漂移和失败。
SAMF ihpdep/samf,浙大Yang Li的工作,基于KCF,特征是HOG+CN,多尺度方法是平移滤波器在多尺度缩放的图像块上进行目标检测,取响应最大的那个平移位置及所在尺度:
Li Y, Zhu J. A scale adaptive kernel correlation filter tracker with feature integration [C]// ECCV, 2014.
Martin Danelljan的DSST Accurate scale estimation for visual tracking,只用了HOG特征,DCF用于平移位置检测,又专门训练类似MOSSE的相关滤波器检测尺度变化,开创了平移滤波+尺度滤波,之后转TPAMI做了一系列加速的版本fDSST,非常+非常+非常推荐:
Danelljan M, H??ger G, Khan F, et al. Accurate scale estimation for robust visual tracking [C]// BMVC, 2014.
Danelljan M, Hager G, Khan F S, et al. Discriminative Scale Space Tracking[J]. IEEE TPAMI, 2017.
<img src="https://pic6.zhimg.com/50/v2-ceafcb41ac2fca6a3b001bd5c240c93e_hd.jpg" data-caption="" data-rawwidth="1319" data-rawheight="423" class="origin_image zh-lightbox-thumb" width="1319" data-original="https://pic6.zhimg.com/v2-ceafcb41ac2fca6a3b001bd5c240c93e_r.jpg">
简单对比下这两种尺度自适应的方法:
DSST和SAMF所采用的尺度检测方法哪个更好?
首先给大家讲个笑话:Martin Danelljan大神提出DSST之后,他的后续论文就再没有用过(直到最新CVPR的ECO-HC中为了加速用了fDSST)。
虽然SAMF和DSST都可以跟上普通的目标尺度变化,但SAMF只有7个尺度比较粗,而DSST有33个尺度比较精细准确;
DSST先检测最佳平移再检测最佳尺度,是分步最优,而SAMF是平移尺度一起检测,是平移和尺度同时最优,而往往局部最优和全局最优是不一样的;
DSST将跟踪划分为平移跟踪和尺度跟踪两个问题,可以采用不同的方法和特征,更加灵活,但需要额外训练一个滤波器,每帧尺度检测需要采样33个图像块,之后分别计算特征、加窗、FFT等,尺度滤波器比平移滤波器慢很多;SAMF只需要一个滤波器,不需要额外训练和存储,每个尺度检测就一次提特征和FFT,但在图像块较大时计算量比DSST高。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-60218-10.html
减少人员及财产损失