码迷,mamicode.com
首页 > 其他好文 > 详细

[VLFeat]Fisher vector提取

时间:2015-06-30 10:25:36      阅读:485      评论:0      收藏:0      [点我收藏+]

标签:高斯   fisher   vector   代码   vlfeat   

matlab 代码

% 读入图片
I = vl_impattern(‘roofs1‘) ;
I = single(vl_imdown(rgb2gray(I))) ;

% 设置bin大小
binSize = 8 ;
% sparse sift中bin大小是根据该层的高斯平滑的尺度sigma计算来的
% dense sift这里是设定binSize,反推sigma
magnif = 3 ;
% 对图像做高斯平滑
Is = vl_imsmooth(I, sqrt((binSize/magnif)^2 - .25)) ;

% f中每一列保留每个sift点位置,d中每一列保留每个sift的128维特征向量
[f, d] = vl_dsift(Is, ‘size‘, binSize) ;

d = double(d);

% GMM
% GMM中的component个数
numClusters = 20 ;
% means是GMM的均值,大小128*20
% covariances是协方差,大小128*20
% priors是每个component的权重,大小20*1
[means, covariances, priors] = vl_gmm(siftData, numClusters);

% fisher vector
% 这里得到的fisher vector大小是(2*128*20=5120)*1, 其中没有包含对权重的梯度
encoding = vl_fisher(siftData, means, covariances, priors);

版权声明:本文为博主原创文章,未经博主允许不得转载。

[VLFeat]Fisher vector提取

标签:高斯   fisher   vector   代码   vlfeat   

原文地址:http://blog.csdn.net/happyer88/article/details/46691787

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!