【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 为
【CV知识学习】Fisher Vector的更多相关文章
- 【CV知识学习】神经网络梯度与归一化问题总结+highway network、ResNet的思考
这是一篇水货写的笔记,希望路过的大牛可以指出其中的错误,带蒟蒻飞啊~ 一. 梯度消失/梯度爆炸的问题 首先来说说梯度消失问题产生的原因吧,虽然是已经被各大牛说烂的东西.不如先看一个简单的网络结构 ...
- 【CV知识学习】early stop、regularation、fine-tuning and some other trick to be known
深度学习有不少的trick,而且这些trick有时还挺管用的,所以,了解一些trick还是必要的.上篇说的normalization.initialization就是trick的一种,下面再总结一下自 ...
- 【CV知识学习】【转】beyond Bags of features for rec scenen categories。基于词袋模型改进的自然场景识别方法
原博文地址:http://www.cnblogs.com/nobadfish/articles/5244637.html 原论文名叫Byeond bags of features:Spatial Py ...
- Fisher Vector Encoding and Gaussian Mixture Model
一.背景知识 1. Discriminant Learning Algorithms(判别式方法) and Generative Learning Algorithms(生成式方法) 现在常见的模式 ...
- 网络知识学习2---(IP地址、子网掩码)(学习还不深入,待完善)
紧接着:网络知识学习1 1.IP地址 IP包头的结构如图 A.B.C网络类别的IP地址范围(图表) A.B.C不同的分配网络数和主机的方式(A是前8个IP地址代表网络,后24个代表主机:B是16 ...
- HTML5标签汇总及知识学习线路总结
HTML5标签汇总,以及知识学习线路总结.
- 安全测试3_Web后端知识学习
其实中间还应该学习下web服务和数据库的基础,对于web服务大家可以回家玩下tomcat或者wamp等东西,数据库的话大家掌握基本的增删该查就好了,另外最好掌握下数据库的内置函数,如:concat() ...
- GCC基础知识学习
GCC基础知识学习 一.GCC编译选项解析 常用编译选项 命令格式:gcc [选项] [文件名] -E:仅执行编译预处理: -S:将C代码转换为汇编代码: -c:仅执行编译操作,不进行连接操作: -o ...
- 毕业设计预习:VHDL入门知识学习(一) VHDL程序基本结构
VHDL入门知识学习(一) VHDL程序基本结构 简介 VHDL程序基本结构 简介 概念: HDL-Hardware Description Language-硬件描述语言-描述硬件电路的功能.信号连 ...
随机推荐
- Git命令add和commit的区别
要想弄明白git add和git commit的区别,首先我们需要知道三个概念:工作区(Working Directory).版本库(Repository).暂存区(Stage or index). ...
- 数据库–Cobar分布式数据库集群MySQL中间件
运行环境: 主机1:Ubuntu14.04 Desktop + MySQL5.5 + JDK 1.7(HP Z400) 内网IP地址:192.168.137.8 NODE1:Ubuntu 13.04 ...
- Hibernate框架之Criteria 详解
自从学数据库以来,从SQL查询-HQL查询-到Criteria 查询.有人问我:掌握一种查询语句不就可以吗,为什么还要学Criteria 查询?我回答道:用到特定于数据库的SQL 语句,程序本身会依赖 ...
- Oracle 把一个用户所有表的读权限授予另一个用户
create user <USER_NAME> identified by <PASSWORD>; grant create session TO <USER_NAME& ...
- Vue组件传值方法调用
1.子组件改变父组件的值 <father label="云盘快照" name="name2"> <son :props='rows' @ ...
- scala学习(2)---option空值处理
https://blog.csdn.net/shadowsama/article/details/78148919 https://www.cnblogs.com/mustone/p/5648914. ...
- MySQL练习题及答案(复习)
新建一个叫做 review 的数据库,将测试数据脚本导进去.(可以使用Navicat查询功能) /* Navicat MySQL Data Transfer Source Server : DB So ...
- ffmpeg 视音处理
(经常用到ffmpeg 做一些视频数据的处理转换等,用来做测试,今天总结了一下,参考了网上部分朋友的经验,一起在这里汇总了一下,有需要的朋友可以收藏测试一下,有问题欢迎在下面回帖交流,谢谢;by te ...
- plot3d
plot3d plot3D a format for structured grid data that was popularized by NASA's CFD visualization Aut ...
- graph.h
#ifndef _GRAPH_#define _GRAPH_#include<stdio.h>#include<stdlib.h>#include<string.h> ...