Home > demo3 > make_sift_kernel.m

make_sift_kernel

PURPOSE ^

SYNOPSIS ^

function [K Y vars] = make_sift_kernel(c_dir,base_dir,sift_type,mode)

DESCRIPTION ^

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [K Y vars] = make_sift_kernel(c_dir,base_dir,sift_type,mode)
0002 
0003 if nargin < 4
0004     mode = 1;
0005 end;
0006 
0007 for sift_count=1:length(sift_type)
0008     F = [];
0009     Finfo = [];
0010     clear nfeat npoints
0011     class_count = 0;
0012     sample_count = 0;
0013     for ii=1:length(c_dir)
0014         class_count = class_count + 1;
0015         dir = [base_dir c_dir{ii} '\*_' sift_type{sift_count} '.txt'];
0016         if ispc
0017             S=ls(dir);
0018         else
0019             S=ls(dir,'-1');
0020         end;
0021         for jj=1:20 %size(S,1)
0022             sample_count = sample_count + 1;
0023             [F1,Inf,nfeat(sample_count),npoints(sample_count)] = readdescriptor([base_dir c_dir{ii} '\' S(jj,:)]);
0024             Y(sample_count) = ii;
0025             F = [F;F1];
0026             Finfo = [Finfo;Inf]; 
0027             SampleInd(sample_count) = class_count;
0028         end;
0029     end;
0030 
0031     num_center = 200;
0032     rind = randperm(size(F,1));
0033     [centers,mincenter,mindist,q2,quality] = kmeans2(F,F(rind(1:num_center),:));
0034 
0035     L = 2;
0036     Ktmp = make_pyramid_kernel(mincenter,Finfo,npoints,L,@hist_intersection,mode);
0037     if sift_count==1
0038         K = Ktmp;
0039         kern_ind = 1:size(Ktmp,3);
0040     else
0041         K(:,:,end+1:end+size(Ktmp,3)) = Ktmp;
0042         kern_ind = [(kern_ind(end)+1):(kern_ind(end)+size(Ktmp,3))];
0043     end;
0044     vars(sift_count) = struct('mincenter',mincenter,'npoints',npoints,'Finfo',Finfo,'shift_type',sift_type{sift_count},...
0045                                'kern_ind',kern_ind);
0046 end;
0047 
0048 for ii=1:size(K,3)
0049     K(:,:,ii) = K(:,:,ii)/trace(K(:,:,ii));
0050 end;

Generated on Sat 22-Aug-2009 22:15:36 by m2html © 2003