Learning Spatially Regularized Correlation Filters for Visual Tracking-SRDCF算法、STRCF算法
https://www.bbsmax.com/A/A2dmBX1qze/-视觉目标跟踪算法——SRDCF算法解读
https://blog.csdn.net/sinat_27318881/article/details/79703947-【小白笔记】目标跟踪算法SRDCF论文笔记
https://blog.csdn.net/qq_17783559/article/details/82965747-相关滤波跟踪算法中ADMM的使用
https://blog.csdn.net/qq_17783559/article/details/89333509-CVPR2018跟踪算法STRCF原理及代码解析
SRDCF算法是基于相关滤波器的跟踪算法,核心是滤波器filters的求解,我们希望找到一个滤波器模板,对样本进行滤波操作,得到响应结果,通过响应就能找到跟踪目标所在位置。转换成数学的线性回归或者二分类问题,就是求解高维映射下的岭回归问题。
问题:传统的相关滤波方法,通过滤波器求解响应最高位置,即为跟踪目标所在位置,通过傅里叶变换转换到频率域可极大简化运算速度,甚至实现算法的实时性。但在傅里叶变换过程中,会将处理的图像窗口边缘进行循环拼接,这就导致边缘处不连续,产生边缘效应。另外相关滤波还存在over-fitting过拟合的问题。
SRDCF主要贡献:
1、在KCF/DCF基础上改善了boundary effects,加入惩罚项[spatial regularization(空间正则) function that penalizes(惩罚) filter coefficients residing outside the target region],通过一个空间权值系数w来惩罚距离目标中心比较远的样本。(最主要贡献)
2、不同的scale搜索,处理尺度的问题(暴力的分为指定个尺度,依次匹配)。
3、利用iterative Gauss-Seidel method来求解滤波器。
4、融合多种特征:利用HOG(31维特征)和CN(11维特征)共计42维特征。
公式推导见:《视觉目标跟踪算法——SRDCF算法解读》
定位的部分,由于使用HOG特征导致样本的分辨率降低了,即一个位置对应原图的4*4的像素区域。这样固然计算更快,但是,如果直接将最后响应最大值的相对响应中心的偏移量(这里一定是整数)乘4作为最终偏移量则会导致定位精度有一定偏差,所以作者将最后得到的响应map先进行插值,类似离散傅里叶变换,将离散的map变成连续map,然后利用牛顿迭代法找到响应最大的点,这个点可能是个浮点数,因为是连续的map,那么算出的浮点数的偏移量乘4得到最终的偏移量就会更加准确了。
附上响应结果示例图,明显可以看到加了正则系数矩阵后得到的响应在背景处的值得到了明显的抑制,从而可以扩大搜索域进行大范围的跟踪。
另外,作者用Gauss-Seidel来迭代求解滤波器,这个迭代方法速度很慢,SRDCF计算速度在5fps左右,达不到实时跟踪的要求。因此,后来有人做了相应的改进,利用ADMM把一个大优化问题分成可分布式同时求解的多个子问题,通过对子问题的迭代可以快速得到滤波器的近似解。参见文章《相关滤波跟踪算法中ADMM的使用》。
Learning Spatial-Temporal Regularized Correlation Filters for Visual Tracking-STRCF算法 CVPR2018
和SRDCF算法相比,多了最后一项,ft-1是前一帧学习到的滤波器,u是时间正则因子
保证求得的f与历史的滤波器尽可能地相似,防止模型的腐败,对抗遮挡也能起到不错的作用。加入时间正则项比通过固定学习率来更新模型更有效一些,因为作者把这种更新约束直接加到了滤波器的求解当中,而不是独立的通过学习率来更新。
1、加入了时间正则项,防止模型的腐败
2、使用ADMM迭代求解,提高速度,获得实时性