Skip to content

Improved Fisher Vector Implementation- extracts Fisher Vector features from your data

License

Notifications You must be signed in to change notification settings

jonasrothfuss/fishervector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

Description

The package implements Improved Fisher Vectors as described in [1]. For a more concise description of Fisher Vectors see [2]. The functionality includes:

  • Fitting a Gaussian Mixture Model (GMM)
  • Determining the number of GMM components via BIC
  • Saving and loading the fitted GMM
  • Computing the (Improved) Fisher Vectors based on the fitted GMM

Installation

For intsallation via pip run the following command on your terminal (requires python 3.4 or higher):

$ pip install fishervector

afterwards you should be able to import the package in python:

from fishervector import FisherVectorGMM

First Steps

1. Simulate some data / get your data ready

We randomly sample data just for this tutorial -> use your own data e.g. SIFT features of images

import numpy as np
shape = [300, 20, 32] # e.g. SIFT image features
image_data = np.concatenate([np.random.normal(-np.ones(30), size=shape), np.random.normal(np.ones(30), size=shape)], axis=0)
2. Train the GMM
from fishervector import FisherVectorGMM
fv_gmm = FisherVectorGMM(n_kernels=10).fit(image_data)

Or alternatively fit the GMM using the BIC to determine the number of GMM components automatically:

from fishervector import FisherVectorGMM
fv_gmm = FisherVectorGMM().fit_by_bic(test_data, choices_n_kernels=[2,5,10,20])
3. Computing improved fisher vectors
image_data_test = image_data[:20] # use a fraction of the data to compute the fisher vectors
fv = fv_gmm.predict(image_data_test)

Contributors:

References:

About

Improved Fisher Vector Implementation- extracts Fisher Vector features from your data

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages