-1
私は視覚的な言葉の袋でシーン認識の問題に取り組んでいます。ここでは、私がインターネットから取り入れたコードを示します。トレーニングデータセットでは、それぞれ100の画像を持つ5つのクラスがあります。ランダムテストデータセットでは、5000個の画像があります。私は訓練セットから語彙を作成する必要があることを理解しています。しかし、テストデータセットのボキャブラリを作成する必要がありますか?ふるい分け機能のコードの袋に語彙を構築する
FEATURE = 'bag of sift';
CLASSIFIER = 'support vector machine';
categories = {'shopping', 'office', 'eating', 'chatting', 'biking'};
num_train_per_cat = 100;
vocab_size = 200;
% YOUR CODE FOR build_vocabulary.m
vocab = build_vocabulary(train_image_paths, vocab_size);
% YOUR CODE FOR get_bags_of_sifts.m
fprintf('Computing training features\n');
train_image_feats = get_bags_of_sifts(train_image_paths,vocab);
save('train_bag.mat', 'train_image_feats');
fprintf('Computing test features\n');
test_image_feats = get_bags_of_sifts(test_image_paths,vocab);
% YOUR CODE FOR svm_classify.m
test_image_feats_mat = cell2mat(test_image_feats);
test_image_feats= vl_svmdataset(test_image_feats_mat);
predicted_categories = svm_classify(train_image_feats,train_labels, test_image_feats)