转自:http://blog.csdn.net/ben_ben_niao/article/details/51364323

上次介绍了SRDCF算法,发展历史轨迹为CSK=>>KCF/DCF/CN.鄙人首先介绍最基本的CSK算法,其实在上一篇已经提过,但是原理,思路讲的不清晰,这次争取把思路讲清楚。

CSK:[paper:Exploiting the Circulant Structure of Tracking-by-detection with Kernels(作者和KCF/DCF同一个作者)]

  • 文章特点:

    • 输入:整个候选search区域的raw pixel(作为特征,并不是每个候选框),label(y_i),label为符合Gauss分布的连续取值
    • 目的:训练一个分类器,学习分类器的权重W。
    • 求解分类器的权重W,探究了subimage_window和circular struct以及kernel的关系,利用这个关系引入kernel Trick.
    • 利用cirlular matrix和来求解分类器的权重,利用FFT以及循环矩阵的性质,避免了求W时的矩阵逆运算。
    • 输出:相对平移量,实验选区响应值最大的位置作为目标移动的大小。
  • 缺点:

    • scale问题。
    • 循环矩阵bounding效应(SRDCF解决)。
    • 输入为raw gray pixel(KCF,CN,DeepSRDCF丰富了特征的选取).
  • details

    • 首先,候选框subimage_window存在很多重合,计算特征导致冗余。所以为了满足一定的速度要求,无法Dense sampling,只能random sampling少许,导致结果不好。
    • 发现,所有subimage_window可以有候选区域和循环矩阵来表示。设候选区域的特征连接为vector:V,循环矩阵为如下:

all_subimage_window = C(u)V,其实就是一个kernel变换,从候选区域中得到子区域。其实C(u_i),为(1,1,0. ...)等。其实这里作者只是以此说明这个关系,具体在代码中使用时却没那么复杂。

有了上面的发现,则回到tracking问题,跟踪其实就是训练一个分类器:

其中w为分类器的系数,需要学习。引入kernel trick(get the subimage_window):

如果式(1)中的loss function:L取二范数距离,则求解的结果为:

进而转化为求a_i,公式如下:

其中最为关键的是求K为循环矩阵,而选择好对应的核变换函数(线性核,高斯核,多项式核)即可求K,从而得到a_i,及分类器的权重。利用FFT变换,将卷积变换为频域的dot-product,加快速度。

  • 核函数的选举有多种,具体看原paper.所以通过这一步一步从而求解出分类器。

 

KCD/DCF[paper:High-Speed Tracking with Kernelized Correlation Filters],和CSK是同一个作者

这篇文章核心算法同CSK,只是从特征和多尺度以及核变换进行了改进。

  • 在CSK的基础上解决了如下几个问题:

    • 输入为multi-channels(可以是彩色,可以是Hog),并定义了multi-channel特征的连接方法。
    • 采用不同函数,Gauss核函数,paper叫KCF,采用linear kernel时,paper取名叫DCF,其中DCF由于采用的linear-kernel,所以multi-channel合并时有优势,速度比KCF快,效果差一点点。
  • detail

多通道特征连接,由于卷积在频域是dot-product的求和,所以将不同channels的特征vector连接在一起为一个vector即可。multi-channel特征可以是彩色,也可以时Hog和及其方向的不同channel.如果时Gauss核(KCF)则核函数计算如paper中式(31),如果时线性核(DCF)则根据式(32)计算。paper中分析了速度方面的影响,linear-kernel的DCF更简单,所以速度更快。

CN[paper:Adaptive Color Attributes for Real-Time Visual Tracking]

  • 在CSK的基础上,将输入变为11个颜色空间,具体略

 

SRDCF见以前的博文

  • 在kcf上解决scale[多尺度搜索]和bounding effect[加入惩罚项]

DeepSRDCF

    • 在SRDCF基础上 用CNN来提取特征[CNN第一层输出作为特征]

CSK & KCF(tracking)的更多相关文章

  1. [Object Tracking] Overview of algorithms for Object Tracking

    From: https://www.zhihu.com/question/26493945 可以载入史册的知乎贴 目标跟踪之NIUBILITY的相关滤波 - 专注于分享目标跟踪中非常高效快速的相关滤波 ...

  2. KCF:High-Speed Tracking with Kernelized Correlation Filters 的翻译与分析(一)。分享与转发请注明出处-作者:行于此路

    High-Speed Tracking with Kernelized Correlation Filters 的翻译与分析 基于核相关滤波器的高速目标跟踪方法,简称KCF 写在前面,之所以对这篇文章 ...

  3. [Tracking] KCF + KalmanFilter目标跟踪

    基于KCF和MobileNet V2以及KalmanFilter的摄像头监测系统 简介 这是一次作业.Tracking这一块落后Detection很多年了,一般认为Detection做好了,那么只要能 ...

  4. [Object Tracking] Overview of Object Tracking

    From: 目标跟踪方法的发展概述 From: 目标跟踪领域进展报告 通用目标的跟踪 经典目标跟踪方法 2010 年以前,目标跟踪领域大部分采用一些经典的跟踪方法,比如 Meanshift.Parti ...

  5. KCF跟踪算法 入门详解

    一.算法介绍 KCF全称为Kernel Correlation Filter 核相关滤波算法.是在2014年由Joao F. Henriques, Rui Caseiro, Pedro Martins ...

  6. correlation filters in object tracking

    http://www.cnblogs.com/hanhuili/p/4266990.html Correlation Filter in Visual Tracking系列一:Visual Objec ...

  7. KCF目标跟踪方法分析与总结

    KCF目标跟踪方法分析与总结 correlation filter Kernelized correlation filter tracking 读"J. F. Henriques, R. ...

  8. (转)CVPR 2016 Visual Tracking Paper Review

    CVPR 2016 Visual Tracking Paper Review  本文摘自:http://blog.csdn.net/ben_ben_niao/article/details/52072 ...

  9. Correlation Filter in Visual Tracking系列二:Fast Visual Tracking via Dense Spatio-Temporal Context Learning 论文笔记

    原文再续,书接一上回.话说上一次我们讲到了Correlation Filter类 tracker的老祖宗MOSSE,那么接下来就让我们看看如何对其进一步地优化改良.这次要谈的论文是我们国内Zhang ...

随机推荐

  1. 在进行分布式框架搭建的过程中,出现问题advised by org.springframework.transaction.interceptor.TransactionInterceptor.invoke(org.aopalliance.intercept.MethodInvocation)?

    今天在进行宜立方商城,进行文件配置的时间,遇到如下的问题,问题是:advised by org.springframework.transaction.interceptor.TransactionI ...

  2. 微软职位内部推荐-SW Engineer II for Windows System

    微软近期Open的职位: Microsoft's Operating Systems Group delivers the operating system and core user experie ...

  3. 浅谈TSM概念、系统架构及技术发展

    NFC作为一种近距离的无线通信技术,提供了一种更直接.更安全的现场交互解决方案.它能够允许电子设备之间进行非接触式点对点数据传输,实现数据交换.访问内容与服务.有了它,手机不再只是打电话.发短信以及上 ...

  4. 7. B+树

    一.B+树是应文件系统所需而产生的一种B树的变形树 1. 定义(使用阶数m来定义) 除了根结点外,其他非终端结点最多有m个关键字,最少有⌈m/2⌉个关键字 结点中的每个关键字对应一个子树 所有的非终端 ...

  5. HDU 5228 ZCC loves straight flush 暴力

    题目链接: hdu:http://acm.hdu.edu.cn/showproblem.php?pid=5228 bc(中文):http://bestcoder.hdu.edu.cn/contests ...

  6. myeclipse和ecplise中安装git插件的问题

    我的myeclipse10.7和ecplise helis一直安装不了git插件,myeclipse中details说我的myeclipse少了team_features等之类文件,helis的情况大 ...

  7. CentOS 7 网卡命名修改为eth0格式

    Linux 操作系统的网卡设备的传统命名方式是 eth0.eth1.eth2等,而 CentOS7 提供了不同的命名规则,默认是基于固件.拓扑.位置信息来分配.这样做的优点是命名全自动的.可预知的,缺 ...

  8. (打补丁 )patch

    前言: diff:逐行比较文件的不同,并且显示出来. patch: 打补丁工具,将补丁打到老文件里面,也就是diff左边的那个文件,使得老文件和新文件一样 格式:diff [选项] 老文件 新文件 格 ...

  9. 2nd 历年学生作品评论(3部)

    历年学生作品评论(3部) 1.基于GUI的图书管理系统 利用NABCD模型进行竞争性需求分析:http://www.cnblogs.com/chitty/p/4546876.html 测试说明书: h ...

  10. 爬虫学习之-操作mysql

    在操作数据库的时候,python2中一般使用mysqldb,但在python3中已经不在支持mysqldb了,我们可以用pymysql和mysql.connector.本文的所有操作都是在python ...