转自: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. fetch上传文件报错的问题(multipart: NextPart: EOF)

    技术栈 后台: gin(golang) 前端: react+antd+dva 问题 前端这边使用fetch发送http请求的时候,后端解析formData报错: multipart: NextPart ...

  2. webpack整体配置结构

    摘自<深入浅出webpack>2.8 const path = require('path'); module.exports = { // entry 表示入口,webpack执行的第一 ...

  3. AndroidArchitecture

    title: AndroidArchitecture date: 2016-04-08 23:26:20 tags: [architecture] categories: [Mobile,Androi ...

  4. Web全景图的原理及实现

    全景图的基本原理 全景图是一种广角图.通过全景播放器可以让观看者身临其境地进入到全景图所记录的场景中去.比如像是这个.这种看起来很高大上的效果其实背后的原理并不复杂. 通常标准的全景图是一张2:1的图 ...

  5. HTML页面模板代码

    作者声明:本博客中所写的文章,都是博主自学过程的笔记,参考了很多的学习资料,学习资料和笔记会注明出处,所有的内容都以交流学习为主.有不正确的地方,欢迎批评指正 HTML页面模板代码 常用的页面模板 & ...

  6. react native中state和ref的使用

    react native中state和ref的使用 因props是只读的,页面中需要交互的情况我们就需要用到state. 一.如何使用state 1:初始化state 第一种方式: construct ...

  7. 2017年软件工程第八次作业-每周PSP例行报告

    1.PSP表格 2.进度条 3.博文字数累积折线图 4.代码行数累积折线图 5.PSP饼图

  8. 20135208 JAVA第四次实验

    课程:Java程序与设计     班级:1352 姓名:贺邦 小组成员: 20135212池彬宁 20135208贺邦 学号:20135208 成绩:             指导教师:娄嘉鹏     ...

  9. 20172330 2017-2018-1 《Java程序设计》第十周学习总结

    20172330 2017-2018-1 <程序设计与数据结构>第十周学习总结 教材学习内容总结 本周的学习内容为集合 集合 对象具有定义良好的接口,从而成为一种实现集合的完善体制. 动态 ...

  10. 读我是一只IT小小鸟有感

    进入大学半年了,每个人都说软件工程是一个非常有前途的高薪职业,但我这半年来都很迷茫,看不清自己的未来,不知道如何度过接下来的三年半时光,虽然我也认为软件工程是有前途的专业,但是经过一学期的学习,发现不 ...