首先看下MD大神2015年ICCV论文:Martin Danelljan, Gustav Häger, Fahad Khan, Michael Felsberg. "Learning Spatially Regularized Correlation Filters for Visual Tracking." ICCV (2015).

【code: https://www.cvl.isy.liu.se/research/objrec/visualtracking/regvistrack/

一、相关滤波跟踪算法原理回顾

相关跟踪的核心就是滤波器filters的求解,从MOSSE到KCF再到SRDCF,滤波器的模型越来越复杂,计算速度越来越慢,使得相关滤波在计算速度上的优势越来越不明显。

如上述公式所示,我们希望找到一个滤波器模板,可将样本进行滤波操作,得到响应结果,通过响应就能找到跟踪目标所在位置。因此问题就在怎么找到这个滤波器。转换成数学的线性规划或者二分类问题,就是求解高维映射下的岭回归问题。

二、存在问题

    传统的相关滤波方法,通过滤波器求解响应最高位置,即为跟踪目标所在位置,公式求解通过傅里叶变换转到频率域可极大简化运算速度,甚至实现算法的实时性。但在傅里叶变换过程中,会将处理的图像窗口边缘进行循环拼接,这就导致边缘处不连续,便产生边缘效应。

三、SRDCF解决思路

主要贡献:

1、在KCF/DCF基础上改善了boundary effects,加入惩罚项[spatial
regularization function that penalizes(惩罚) filter
coefficients residing outside the target region].

2、不同的scale搜索,处理尺度的问题(暴力的分为指定个尺度,依次匹配)。

3、在求解corelation filters时,利用iterative Gauss-Seidel method在线学习。

4、融合多种特征:利用HOG(31维特征)和CN(11维特征)共计42维特征。

主要在于第一点:SRDCF将图像信号x尽量取大一些的尺寸,保留目标更多的真实信息,然后再通过一个空间权值系数w来惩罚距离目标中心比较远的样本。

    对上述公式进行求解,作者用的Gauss-Seidel来迭代求解,我觉得这个迭代方法很一般,速度很慢,SRDCF计算速度在4fps左右,达不到实时跟踪的要求,不如ADMM(可参考知乎《交替方向乘子法(ADMM)算法的流程和原理是怎样的?》)。故就不做详细说明了。

四、公式推导(引自知乎用户)

    接着如下:

由第一帧的groundtruth可以计算第一帧的情况:

随后进行迭代。

五、效果与待解决问题

正则项 www 用二次函数来构造:

w(m,n)=μ+η(m/P)2+η(n/Q) 2

1.P×QP\times QP×Q 表示目标尺寸

2.w的最小值 μ=0.1

3.正则化影响因子 η=3

4.实际上频域下的 w只有几个值有较大的幅值,如下图所示。为保证 wˆ的稀疏特性,设置阈值来移除较小的值,结果包含约10个非零值。

5.HOG特征,cell大小为 4×44,特征大小为 M×N(M=N)

6.样本区域是目标区域的 4^2

7.初始尺度的样本M=50

8.学习率 γ=0.025,Gauss-Seidel迭代次数 NGS=4

9.在普通台式机matlab环境下5FPS

六、ADMM求解SRDCF

参见文章《相关滤波跟踪算法中ADMM的使用》,代码可下载。

最后,给出代码下载地址和搜罗的各路大神对算法解读的文章,供大家参考学习。

视觉目标跟踪算法——SRDCF算法解读的更多相关文章

  1. 挑战目标跟踪算法极限,SiamRPN系列算法解读

    商汤科技智能视频团队首次开源其目标跟踪研究平台 PySOT.PySOT 包含了商汤科技 SiamRPN 系列算法,以及刚被 CVPR2019 收录为 Oral 的 SiamRPN++.此篇文章将解读目 ...

  2. 基于MeanShift的目标跟踪算法及实现

    这次将介绍基于MeanShift的目标跟踪算法,首先谈谈简介,然后给出算法实现流程,最后实现了一个单目标跟踪的MeanShift算法[matlab/c两个版本] csdn贴公式比较烦,原谅我直接截图了 ...

  3. TLD目标跟踪算法

    1. 简介 TLD目标跟踪算法是Tracking-Learning-Detection算法的简称.这个视频跟踪算法框架由英国萨里大学的一个捷克籍博士生Zdenek Kalal提出.TLD将传统的视频跟 ...

  4. Video Target Tracking Based on Online Learning—TLD单目标跟踪算法详解

    视频目标跟踪问题分析         视频跟踪技术的主要目的是从复杂多变的的背景环境中准确提取相关的目标特征,准确地识别出跟踪目标,并且对目标的位置和姿态等信息精确地定位,为后续目标物体行为分析提供足 ...

  5. 【目标跟踪】相关滤波算法之MOSSE

    简要 2010年David S. Bolme等人在CVPR上发表了<Visual Object Tracking using Adaptive Correlation Filters>一文 ...

  6. 目标跟踪算法meanshift优缺点

    原博主:http://blog.csdn.net/carson2005/article/details/7341051 meanShift算法用于视频目标跟踪时,采用目标的颜色直方图作为搜索特征,通过 ...

  7. 目标跟踪之粒子滤波---Opencv实现粒子滤波算法

    目标跟踪学习笔记_2(particle filter初探1) 目标跟踪学习笔记_3(particle filter初探2) 前面2篇博客已经提到当粒子数增加时会内存报错,后面又仔细查了下程序,是代码方 ...

  8. Python Opencv-contrib Camshift&kalman卡尔曼滤波&CSRT算法 目标跟踪实现

    本次课题实现目标跟踪一共用到了三个算法,分别是Camshift.Kalman.CSRT,基于Python语言的Tkinter模块实现GUI与接口设计,项目一共包含三个文件: main.py: # co ...

  9. 【图像处理】Haar Adaboost 检测自定义目标(视频车辆检测算法代码)

    阅读须知 本博客涉及到的资源: 正样本:http://download.csdn.net/detail/zhuangxiaobin/7326197 负样本:http://download.csdn.n ...

随机推荐

  1. Python-删除多级目录

    def rmdirs(top): for root, dirs, files in os.walk(top, topdown=False): # 先删除文件 for name in files: os ...

  2. python 前端素材提供

    小图标素材:http://fontawesome.dashgame.com/

  3. resin远程调试debug

    wangqiaowqo Resin 远程debug Resin Windows下提升Resin默认的虚拟机内存大小 httpd.exe -Xmx1024m 参考外部文章 Resin远程debug配置文 ...

  4. python爬虫练手项目快递单号查询

    import requests def main(): try: num = input('请输入快递单号:') url = 'http://www.kuaidi100.com/autonumber/ ...

  5. Jekyll的_config文件配置报错

    8 April 2019 by IchiehPan Jekyll 搭建博客时, 修改完_config.yml文件后就收到了github的build error邮件. 大致内容如下: did not f ...

  6. 百度测试架构师眼中的百度QA

    百度测试架构师眼中的百度QA(一)   发表于2013-04-09 15:31| 4004次阅读| 来源架构师Jack的个人空间| 13 条评论| 作者董杰 百度测试QA 摘要:一直以来百度质量部在业 ...

  7. Linux 下的/usr/bin /usr/sbin /usr/local/bin /usr/local/sbin区别

    一./usr/sbin与/usr/bin区别: 1./usr/sbin:root权限下的命令属于基本的系统命令,如shutdown,reboot,用于启动系统,修复系统: 2./usr/bin普通用户 ...

  8. Allenmind's Blog

    听说,Sass和Compass更配哟.来看看Compass的基本用法! 目录 Compass和Sass 安装Compass 项目初始化 编译 Compass的模块 Compass的Helper函数 一 ...

  9. 非对称加密算法RSA 学习

    非对称加密算法RSA 学习 RSA加密算法是一种非对称加密算法.RSA是1977年由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Ad ...

  10. sql -- 利用order by 排名作弊

    表结构: 需求: 方法1:union ,,) order by user_total desc ) a union (,,) order by user_total desc ) b) 方法2:直接在 ...