matlab - How to get a fixed size SIFT feature vector? -
i trying obtain feature vectors n =~ 1300 images in data set, 1 of features have implement shape. plan use sift descriptors. however, each image returns different number of keypoints, run
[f,d] = vl_sift(image); f of size 4 x n , d of size 128 x n n number of keypoints detected.
however, want obtain single vector of size 128 x 1 can represent image possible. have seen things clustering , k-means, don't have idea how them.
the basic idea average of these n vectors of size 128x1, have feature vector. taking average meaningful? should kind of histogram?
any appreciated. !
this big research problem. correct, averaging descriptors not meaningful. there several approaches out there creating single vector out of set of local descriptors. 1 big class of methods called "bag of features" or "bag of visual words". general idea cluster local descriptors (e. g. sift) many images (e. g. using k-means). take particular image, figure out cluster each descriptor image belongs to, , create histogram. there different ways of doing clustering , different ways of creating , normalizing histogram.
a different approach called "pyramid match kernel", way of training svm classifier on sets of local descriptors.
so starters google "bag of features" or "bag of visual words".
Comments
Post a Comment