How to use VLfeat to do VLAD-k encoding?

1 visualizzazione (ultimi 30 giorni)
Yi Zhu
Yi Zhu il 28 Mag 2016
Risposto: ahmed shahin il 20 Ago 2021
Hi everyone, I want to use VLfeat library to do VLAD-k encoding of image features. They have a simple tutorial online at here (<http://www.vlfeat.org/overview/encodings.html)>. But the tutorial is a little vague for me to follow. In addition, the example is for VLAD with nearest neighbor, not VLAD-k. So could anyone write an example of VLAD-k using VLfeat for me? Thanks a lot.
  1 Commento
Yi Zhu
Yi Zhu il 28 Mag 2016
VLAD-k exmaple I wrote, is this correct? Especially for the assignment step? Thanks.
numFeatures = 5000 ;
dimension = 2 ;
data = rand(dimension,numFeatures) ; % Data is used to train the VLAD encoding
numDataToBeEncoded = 1000;
dataToBeEncoded = rand(dimension,numDataToBeEncoded);
numClusters = 30 ;
centers = vl_kmeans(data, numClusters);
kdtree = vl_kdtreebuild(centers) ;
nn = vl_kdtreequery(kdtree, centers, dataToBeEncoded,'NUMNEIGHBORS', k) ; % k is the number of nearest neighbors
assignments = zeros(numClusters,numDataToBeEncoded);
assignments(sub2ind(size(assignments), nn, 1:length(nn))) = 1; % is here still correct for VLAD-k? nn is a matrix now
enc = vl_vlad(dataToBeEncoded,centers,assignments);

Accedi per commentare.

Risposte (1)

ahmed shahin
ahmed shahin il 20 Ago 2021
Dear Zhu
what is the value of k?

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by