zoukankan      html  css  js  c++  java
  • 【CV知识学习】Fisher Vector

    在论文《action recognition with improved trajectories》中看到fisher vector,所以学习一下。但网上很多的资料我觉得都写的不好,查了一遍,按照自己的认识陈述一下,望大牛指正。

    核函数:

    先来看一下《统计学习方法》里叙述的核函数的概念,

     

    可以看到,核函数其实是一个内积,在SVM的公式可以提炼出内积的部分。数据在低维输入空间可能线性不可分,而在高维希尔伯特空间可能线性可分的,因此会经过一个映射函数。事实上,内积中可以理解为相似性即距离。

     

    Fisher核:

    Fisher核与Fisher信息矩阵有关,Fisher信息矩阵的意义,在知乎上的答案有了解http://www.zhihu.com/question/26561604

     

    最后,Fisher核与Fisher信息矩阵有关,得到:,而I就是信息矩阵,U就是Score Function。

     

    Fisher Vector在图像上的应用:

    图像在这里使用GMM去描述,而图像采集的描述子是在全局范围内的,因此,Fisher向量最后描述的也是全局的特征。一般步骤如下:

     

    先随机选择数据集,去估计GMM的各个参数。Fisher向量应该是Score函数的聚集,但由于会应用到核函数,所以会乘上Fisher信息矩阵。

    GMM模型为:

    其中(熟悉GMM的人都很容易明白吧),

     

    根据贝叶斯公式,定义描述子属于第i个高斯模型的概率为:

     

    各个参数的Score函数

     

    Fisher信息矩阵的近似解为:

     

    计算FV向量为:

     

    最终的结果为:

     

    需要注意的是,参数已经在第一步估计出来了。可以看到FV向量的好处是,它把各个大小不同描述子集转化成大小一致的一个特征向量表述。

    从原始特征到FV向量的算法表述如下:

     

     

    其实也没有自己想的东西,本来以为昨晚理解的挺好,今天早上再来想了想,不对啊……直接把知道的写上吧,额,好多博客都没写到点上,哎~~~~~会用就好了~~~~~~~~~~~  T_T

    ==============  04/12/2016 更========================== 

    忽然有点明白了,之前一直在想为什么Fisher Vecotr可以作为特征,首先看了两个blog:知乎专栏CSND

    最关键的地方是,fisher vector之所以可以用来做特征分类,还是因为利用了fisher核,注意到它的形式为,而I就是信息矩阵,U就是Score Function。

    而fisher 向量的归一化后的每一项,都是,即信息矩阵的-1/2次方 * score fucntion。如果两个fisher vector做内积,正好可以得到fisher 核

    其中信息矩阵为

    score function 为

  • 相关阅读:
    js string to int
    有的事情是无可奈何的,有的事情是能够改变的……
    拼接字符串去掉最后多余的串,JSON的遍历
    git入门
    js的闭包
    nodejs系列(二)REPL交互解释 事件循环
    nodejs系列(一)安装和介绍
    学习mongo系列(十一)关系
    学习mongo系列(十)MongoDB 备份(mongodump)与恢复(mongorerstore) 监控(mongostat mongotop)
    学习mongo系列(九)索引,聚合,复制(副本集),分片
  • 原文地址:https://www.cnblogs.com/jie-dcai/p/5740480.html
Copyright © 2011-2022 走看看