⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 do_form_codebook.m

📁 一个学习自然场景类别的贝叶斯模型、基于“词袋”模型的目标分类。来源于Feifei Li的论文。是近年来的目标识别模型热点之一。
💻 M
字号:
function do_form_codebook(config_file,codebook_name,codebook_size)  %% Function takes the regions from all training images in the interest_points directory, along with%% their descirptors and performs k-means on the descriptors to form a codebook%% for use in the do_vq function. The codebook is a%% nDescriptor_Dimensions by VQ.Codebook_Size matrix holding the centers%% of each cluster. This is then saved in the CODEBOOK_DIR directory,%% using a filename consisting of the VQ.Codebook_Type tag and the number%% of clusters, VQ.Codebook_Size. %% The clustering is performed using VGG code from Oxford written by Mark%% Everingham. The source is provided, which must be compiled to a MEX file%% for your given platform (the Linux one is already provided).    %% N.B. The 2nd and 3rd inputs, codebook_name and codebook_size are%% strings that over-ride the settings in the VQ%% structure from config_file.%% Before running this, you must have run:%%    do_random_indices - to generate random_indices.mat file%%    do_preprocessing - to get the images that the operator will run on  %%    do_interest_op  - to get extract interest points (x,y,scale) from each image%%    do_representation - to get appearance descriptors of the regions  %% R.Fergus (fergus@csail.mit.edu) 03/10/05.    %% Evaluate global configuration fileeval(config_file); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% If no VQ structure specifying codebook%% give some defaultsif ~exist('VQ')  %% use default codebook family  VQ.Codebook_Type = 'generic';  %% 1000 words is standard setting  VQ.Codebook_Size = 1000;  %% Max number of k-means iterations  VQ.Max_Iterations = 10;  %% Verbsoity of Mark's code  VQ.Verbosity = 0;end%% Set codebook name and size if not manually specified.if (nargin==1)  codebook_name = VQ.Codebook_Type;  codebook_size = VQ.Codebook_Size;end%% Get list of interest point file namesip_file_names =  genFileNames({Global.Interest_Dir_Name},Categories.All_Train_Frames,RUN_DIR,Global.Interest_File_Name,'.mat',Global.Num_Zeros); %% How many images are we processing?nImages = length(Categories.All_Train_Frames);%% create variable to hold all descriptorsall_descriptors = [];%% Load up all interest points from all images....for i = 1:nImages    %% load up all interest points  load(ip_file_names{i});    %% Add descriptors to collection  all_descriptors = [all_descriptors, descriptor];    end%% form options structure for clusteringcluster_options.maxiters = VQ.Max_Iterations;cluster_options.verbose  = VQ.Verbosity;%% OK, now call kmeans clustering routine by Mark Everingham[centers,sse] = vgg_kmeans(double(all_descriptors), codebook_size, cluster_options);%% form name to save codebook underfname = [CODEBOOK_DIR , '/', codebook_name ,'_', num2str(codebook_size) , '.mat']; %% save centers to file...save(fname,'centers');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -