How to use VLfeat to do VLAD-k encoding?

2 Ansichten (letzte 30 Tage)
Yi Zhu
Yi Zhu am 28 Mai 2016
Beantwortet: ahmed shahin am 20 Aug. 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 Kommentar
Yi Zhu
Yi Zhu am 28 Mai 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);

Melden Sie sich an, um zu kommentieren.

Antworten (1)

ahmed shahin
ahmed shahin am 20 Aug. 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