FisherVector编码的来龙去脉

最近在研究动作识别(Action Recognize)领域的论文和方法。在视频动作识别领域,深度学习未进入前,传统方法最好的是iDT.

IDT采用FisherVector编码的方式比BOF(Bog of Features)提升了2%-10%.

BOF的编码方式,最终的视频特征维度是CodeBook的size大小。原理如图:)丑到不忍直视...



FiserVector编码方式,由两部分组成

首先是由样本分布估计GMM(高斯混合模型)参数,

然后用GMM模型对视频原始的iDT特征进行描述(编码)。

所以不管是BOF还是FisherVector都是相对于Codebook的一种描述。

GMM算法

GMM ,Gaussian Mixture Model,顾名思义,就是说该算法多个高斯模型线性叠加 混合而成。GMM算法描述的是每一维数据的本身存在的一种分布,如果component足够多的话,GMM可以逼近任意一种概率密度分布。

我们知道,单个高斯模型的参数为均值和方差。

GMM是一种聚类算法,K代表用多少个高斯模型去描述数据分布。也就是说每个 GMM 由K个Gaussian分布组成,每个Gaussian称为一个“Component”,这些 Component 线性加成在一起就组成了 GMM 的概率密度函数:


根据数据来推算概率密度通常被称作 density estimation ,特别地,当我们在已知(或假定)了概率密度函数的形式,而要估计其中的参数的过程被称作“参数估计”。\pi_k表示第k个高斯模型的权重,\mu_k是第k个高斯模型的均值。\Sigma_k是第k个高斯模型的方差。

在 GMM 中,我们就需要确定 \pi_k\mu_k\Sigma_k这些参数。 找到这样一组参数,它所确定的概率分布生成这些给定的数据点的概率最大,而这个概率实际上就等于\prod_{i=1}^N p(x_i) ,我们把这个乘积称作似然函数 (Likelihood Function)。通常单个点的概率都很小,许多很小的数字相乘起来在计算机里很容易造成浮点数下溢,因此我们通常会对其取对数,把乘积变成加和\sum_{i=1}^N \log p(x_i),得到 log-likelihood function 。接下来我们只要将这个函数最大化,通常采用EM算法。

 进行GMM聚类后

  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值