zoukankan      html  css  js  c++  java
  • High-Speed Tracking with Kernelized Correlation Filters

          2015年的一篇论文,可参考:http://blog.csdn.net/carrierlxksuper/article/details/46461245。

         另参考:http://www.skyoung.org/kcf-tracking-method/

          其中提到了redge regression(岭回归),可参考:http://www.cnblogs.com/zhangchaoyang/articles/2802806.html

          这篇论文的第一个创新点,是用回归的思想和相关滤波产生联系,10年的那篇论文是用滤波的思想。

          其次是用到了循环矩阵的性质。所有的循环矩阵可以通过DFT变成对角矩阵(不明白)。而对角矩阵之间的运算是element-wise的,这个就频率域是一样的了。

          然后是用到了kernel trick,将特征转换到高维。通过使用循环矩阵的性质,提高kernel regression的速度。

          在计算kernel时,通过对角的性质,将其转换到频域,能很容易的得到kernel correlation。

          然后是多通道,也就是用到了HOG特征,也是我最想了解的,可惜作者说的并不多。

          最后提到了linear kernel,有句结论,要想能fast element-wise,要么选择多通道,要么选择多样本,但不能同时得到(不理解)。

       

          下面分析下代码。

           和CSK的代码相比,这个代码量增加了不少,增加了很多函数,慢慢看。

            首先分析下tracker.m这个函数,因为这个函数和CSK太像了,从熟人开始下手。

            和CSK一样,首先得到一个以目标为中心的高斯函数分布并进行汉明窗口的处理。

            

            进入循环。首先进行灰度和图像大小的处理。至此分成了两部分。

            如果是第一帧,则首先得到背景框,然后提取图像特征xf(傅里叶域,这个函数稍后分析),根据kernel的不同形式,选择不同的kernel表达式,训练得到alpha。保留得到的alpha和xf。保存中心点位置,并绘图。

           如果不是第一帧,首先得到新来背景和背景对应的特征zf,根据kernel type的不同,选择不同的detection表达式,得到kzf,进而得到response最大的点,即中心点。后面就与第一帧一样了:得到背景框,然后提取图像特征xf,根据kernel的不同形式,选择不同的kernel表达式,训练得到alpha。和第一帧的不同的地方就在于xf和alpha需要更新。

         

           下面要分析的是get_features函数与各种核的correlation函数

          

         

           

          

  • 相关阅读:
    Ubantu常用命令
    移动 Ubuntu16.04 桌面左侧的启动器到屏幕底部
    Win10上安装TensorFlow(官方文档翻译)
    Win10上安装Keras 和 TensorFlow(GPU版本)
    课程四(Convolutional Neural Networks),第二 周(Deep convolutional models: case studies) —— 1.Practice questions
    课程四(Convolutional Neural Networks),第二 周(Deep convolutional models: case studies) —— 0.Learning Goals
    Difference Between Session.run and Tensor.eval
    tf.cast()的用法(转)
    Tensflow的equal函数
    Tensflow的targmax函数
  • 原文地址:https://www.cnblogs.com/573177885qq/p/4709934.html
Copyright © 2011-2022 走看看