原文链接:http://blog.csdn.net/ikerpeng/article/details/41644197
fisher vector 一般流程:http://www.voidcn.com/blog/u013089961/article/p-4206874.html
fisherVector\BOW\VLAD的对比:http://yongyuan.name/blog/CBIR-BoF-VLAD-FV.html
http://www.yidianzixun.com/07maP9cK
fisherVector一般要用到GMM,GMM的介绍和训练如下:http://www.cnblogs.com/mmziscoming/p/5750849.html
GMM的训练又用到EM算法,其算法讲解如下:http://blog.csdn.net/zouxy09/article/details/8537620/
总结:本质上,Fisher vector是用似然函数的梯度vector来表达一幅图像。
1、首先从图片上提取出特征描述子(如sift特征),令这些特征描述子符合某混合高斯分布(GMM),并训练出GMM参数;
2、既然这些特征描述子符合某GMM,则可以写出该图片(用其特征描述子表示)在某GMM下的概率函数,并可以写出其似然函数;
3、用似然函数的梯度vector来表达这幅图像,这样就把长度不一的图片特征向量转化为长度相等了。
4、fisher vector的维度是(2*D+1)*k-1维,D是特征描述符的维度(sift是128维),K是GMM中高斯模型的个数。
5、Fisher Vector和高斯分布对比
我们将一张图近似为一个高斯分布,由这个高斯分布来表示这张图像。假设我们是做目标的检测,那么当你得到一个有相同的高斯分布的图的时候你就可以判断出这就是那个目标了。但实际的情况是却不一定是这样的,我们看一张图:
这两张图上特征点的分布在黑色的区域,二者的分布却可以一样(当然我画的不是很好)!
由此,我们知道,在高斯分布的基础上我们再找到变化的方向,我们便可以更加准确的表示这一张图!
6、fisher vector与bag of words的对比
(1)BOW统计的是0阶信息,也就是word的统计个数,FV统计的是0,1,2阶信息;
(2)BOW一般跟非线性分类器效果比较好,FV跟线性分类器就可以了,因此速度更快;