1. Load dataset:
从数据集Caltech256中的每一类中各随机选择50张图像作为训练集(标记为1)和测试集(标记为2)。最后得到训练集和测试集的信息
2. Get sample descriptors:
这一部分设置的参数如下:
numGaussian = 256;
numSamplesPerGussian = 4000;
numPcaDimension = 64;
1) Get dense sift:利用VLFeat提供的vl_dsift函数(参数设置遵循论文中的要求:patch size =24X24,step = 4)对训练集中的每一张图像提取关键点,并得到128维的descriptors。从每一张图像中随机选取(numGaussian* numSamplesPerGussian/numImages)个descriptors,拼接在一起得到Des;
2) Pca :对Des进行Pca处理,降至numPcaDimension = 64维;
3. Learn GMM parameters:
得到降维后的Des后,利用VLFeat中的vl_gmm函数得到参数(均值、方差、权值)
4. Get fisher vector of images:
利用学习到的GMM参数和论文中给出的算法得到图像的Fisher Vector表示。这些图像是第一步选取的图像。可以利用VLFeat中的vl_fisher函数。