如何将Fisher矢量二值化?

时间:2015-04-14 15:56:00

标签: matlab vlfeat

我正在开展一个学校项目,在许多任务之间,我需要按照this paper中的内容对Fisher Vectors进行二值化。我得到了与Matlab一起使用的vl_feat库,我实现了这个简单的tutorial来返回给定一些特征的渔民向量。

一切正常,我成功更新了vl_fisher函数,将Fisher矢量的每个维度提升到值α∈[0,1]的幂,如4.1节所述。当α= 0时,我可以得到一个值为{-1,0,1}的Fisher矢量,这是一个三元组。

4.1节的第二部分解释了如何将这种三元编码转换为等效的二进制编码。我在那里有点迷失,主要是因为我正在使用一个库来返回fisher矢量表示。这种表示由双向矢量组成,这使得遵循纸张描述变得更加棘手。

所以我的问题是,如何在Matlab上用vl_feat库对fisher载体进行二值化? 我是否只需要对三元编码进行二值化操作? 我应该以另一种方式计算Fisher矢量,使它们更适合于后续的二值化吗?

提前感谢您的时间!

1 个答案:

答案 0 :(得分:1)

此问题有两种可能的解决方案:

  1. 您将手放在开源库代码上并使其返回您需要的内容
  2. 您实施自己的二元化渔船载体的方式
  3. 我最后在Matlab中执行了第二步,而不是将手放在C库上。请记住,this article在计算日志域中的GMM时非常有用。一旦我完成项目,我就会将我的实现作为开源发布。