T
- Primitive array type of the ArrayFeatureVector
s used by
the LocalFeature
s that will be processed.@Reference(type=Inproceedings,author={"Perronnin, F.","Dance, C."},title="Fisher Kernels on Visual Vocabularies for Image Categorization",year="2007",booktitle="Computer Vision and Pattern Recognition, 2007. CVPR \'07. IEEE Conference on",pages={"1","8"},customData={"keywords","Gaussian processes;gradient methods;image classification;Fisher kernels;Gaussian mixture model;generative probability model;gradient vector;image categorization;pattern classification;visual vocabularies;Character generation;Feeds;Image databases;Kernel;Pattern classification;Power generation;Signal generators;Spatial databases;Visual databases;Vocabulary","doi","10.1109/CVPR.2007.383266","ISSN","1063-6919"}) @Reference(type=Inproceedings,author={"Perronnin, Florent","S\'{a}nchez, Jorge","Mensink, Thomas"},title="Improving the Fisher Kernel for Large-scale Image Classification",year="2010",booktitle="Proceedings of the 11th European Conference on Computer Vision: Part IV",pages={"143","","156"},url="http://dl.acm.org/citation.cfm?id=1888089.1888101",publisher="Springer-Verlag",series="ECCV\'10",customData={"isbn","3-642-15560-X, 978-3-642-15560-4","location","Heraklion, Crete, Greece","numpages","14","acmid","1888101","address","Berlin, Heidelberg"}) public class FisherVector<T> extends Object implements VectorAggregator<ArrayFeatureVector<T>,FloatFV>
The dimensionality of the output vector is 2*K*D where K is the number of
Gaussians in the mixture, and D is the descriptor dimensionality. Note that
only the diagonal values of the gaussian covariance matrices are used, and
thus you probably want to learn a GaussianMixtureModelEM.CovarianceType.Diagonal
or
GaussianMixtureModelEM.CovarianceType.Spherical
type gaussian with the
GaussianMixtureModelEM
class.
Constructor and Description |
---|
FisherVector(MixtureOfGaussians gmm)
Construct the standard Fisher Vector encoder with the given mixture of
Gaussians.
|
FisherVector(MixtureOfGaussians gmm,
boolean improved)
Construct the Fisher Vector encoder with the given mixture of Gaussians
and the optional improvement steps (in the sense of the VLFeat
documentation).
|
FisherVector(MixtureOfGaussians gmm,
boolean hellinger,
boolean l2normalise)
Construct with the given mixture of Gaussians and optional improvement
steps.
|
Modifier and Type | Method and Description |
---|---|
FloatFV |
aggregate(List<? extends LocalFeature<?,? extends ArrayFeatureVector<T>>> features)
Aggregate the given features into a vector.
|
FloatFV |
aggregateVectors(List<? extends ArrayFeatureVector<T>> features)
Aggregate the given features into a vector.
|
public FisherVector(MixtureOfGaussians gmm, boolean hellinger, boolean l2normalise)
gmm
- the mixture of gaussianshellinger
- if true then use Hellinger's kernel rather than the linear one
by signed square rooting the values in the final vectorl2normalise
- if true then apply l2 normalisation to the final vector. This
occurs after the Hellinger step if it is used.public FisherVector(MixtureOfGaussians gmm)
gmm
- the mixture of gaussianspublic FisherVector(MixtureOfGaussians gmm, boolean improved)
gmm
- the mixture of gaussiansimproved
- if true then Hellinger's kernel is used, and the vector is l2
normalised.public FloatFV aggregate(List<? extends LocalFeature<?,? extends ArrayFeatureVector<T>>> features)
VectorAggregator
aggregate
in interface VectorAggregator<ArrayFeatureVector<T>,FloatFV>
features
- the features to aggregatepublic FloatFV aggregateVectors(List<? extends ArrayFeatureVector<T>> features)
VectorAggregator
aggregateVectors
in interface VectorAggregator<ArrayFeatureVector<T>,FloatFV>
features
- the features to aggregate