使用要点和SVM训练进行图像分类

ytm

首先,我想说我真的是CV的新手,也许有些明显的事情我没想到,所以请毫不犹豫地提及该类别。

我正在尝试实现场景分类,为了简便起见,目前在室内和室外图像之间进行分类。

我要实现这一点的想法是使用要点描述符,该描述符创建具有场景某些参数的向量。

为了获得可靠的分类,我使用了室内和室外图像,每个图像有100个样本,使用了摘要描述符,在其中创建了训练矩阵,并在其上使用了“ svmtrain”。这是一个非常简单的代码,显示了我如何训练要点向量:

train_label= zeros(size(200,1),1);
train_label(1:100,1) = 0;         % 0 = indoor
train_label(101:200,1) = 1;        % 1 = outdoor

training_mat(1:100,:) = gist_indoor1;
training_mat(101:200,:) = gist_outdoor1;
test_mat = gist_test;

SVMStruct = svmtrain(training_mat ,train_label, 'kernel_function', 'rbf', 'rbf_sigma', 0.6);
Group       = svmclassify(SVMStruct, test_mat);

问题是结果非常糟糕。

我读到优化“ rbf” kernell的约束和gamma参数应该可以改善分类,但是:

  1. 我不确定如何使用多维数据向量进行优化Mathworks网站中给出的优化示例是二维的,而我的是512),有什么建议怎么开始的?

  2. 我可能完全错了方向,请指出是否正确。

编辑:谢谢Darkmoor!我将尝试使用此工具箱进行校准,并可能尝试改善特征提取。希望当我有一个有效的分类时,我将在这里发布。

编辑2:通过从SUN数据库获取室内和城市室外图像的要点描述符,忘记了更新,并通过使用libsvm工具箱使用优化的参数进行训练,当在来自以下位置的图片上测试模型时,我设法达到了95%的分类率我的公寓和外面的街道。

我对数据库中的城市室外场景和自然场景进行了相同的处理,并且在对我的国家/地区的各种场景进行测试时达到了相似的准确性。

我用来创建数据矩阵的代码是从此处获取的,并做了非常小的修改:

% GIST Parameters:
clear param
param.imageSize = [256 256]; % set a normalized image size
param.orientationsPerScale = [8 8 8 8]; % number of orientations per scale (from HF to LF)
param.numberBlocks = 4;
param.fc_prefilt = 4;

%Obtain images from folders
sdirectory = 'C:\Documents and Settings\yotam\My Documents\Scene_Recognition\test_set\indoor&outdoor_test';
jpegfiles = dir([sdirectory '/*.jpg']);

% Pre-allocate gist:
Nfeatures = sum(param.orientationsPerScale)*param.numberBlocks^2;
gist = zeros([length(jpegfiles) Nfeatures]); 

% Load first image and compute gist:
filename = [sdirectory '/' jpegfiles(1).name];
img = imresize(imread(filename),param.imageSize);
[gist(1, :), param] = LMgist(img, '', param); % first call
% Loop:
for i = 2:length(jpegfiles)
   filename = [sdirectory '/' jpegfiles(i).name];
   img = imresize(imread(filename),param.imageSize);
   gist(i, :) = LMgist(img, '', param); % the next calls will be faster
end
暗沼
  1. 我建议您使用libsvm非常有效。有相关的文章可以交叉验证libsvm。您提及的相关Matlab库可以使用相同的逻辑。

  2. 您的逻辑是正确的。提取特征并尝试对其进行分类。无论如何,不​​要指望分类器的校准会返回巨大的差异。关键思想是将特征与部分分类器校准相结合的特征提取;)。

祝好运。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用SVM和BOW进行图像分类?

来自分类Dev

使用图像训练 SVM 并进行预测

来自分类Dev

如何使用BOW选择适当的正面和负面训练图像集进行图像分类

来自分类Dev

使用SVM进行分类

来自分类Dev

使用预训练的 caffe 模型进行图像分类

来自分类Dev

如何使用SIFT和SVM实现常规图像分类器

来自分类Dev

在OpenCV上使用SVM训练图像

来自分类Dev

如何使用tensorflow的图像分类教程对不在原始训练或验证数据集中的看不见的图像进行分类?

来自分类Dev

tensorflow tf.contrib.learn.SVM 如何重新加载训练好的模型并使用预测对新数据进行分类

来自分类Dev

如何使用python多次训练SVM分类器?

来自分类Dev

如何标记PCA获得的用于训练SVM的训练预测进行分类?的MATLAB

来自分类Dev

如何标记PCA获得的用于训练SVM的训练预测进行分类?的MATLAB

来自分类Dev

如何使用tensorflow对图像进行分类和裁剪?

来自分类Dev

使用 Caffe 进行多类和多标签图像分类

来自分类Dev

使用R和SVM进行文本分类。矩阵功能

来自分类Dev

Scikit学习-如何使用SVM和随机森林进行文本分类?

来自分类Dev

在Java代码中使用哪些Weka和LibSVM .jar文件进行SVM分类

来自分类Dev

是否需要重新整理训练数据以进行SVM多分类?

来自分类Dev

训练SVM模型后如何加载未标记的数据进行情感分类?

来自分类Dev

如何在Python中进行PCA和SVM分类

来自分类Dev

使用SVM训练CK +地标以进行表达识别

来自分类Dev

如何使用Keras训练多类图像分类器

来自分类Dev

使用带测试训练分割的DBSCAN进行分类

来自分类Dev

无法使用 LDA 训练模型对主题进行分类

来自分类Dev

使用R中的SVM进行一类分类

来自分类Dev

在Android中使用经过训练的Scikit-learn svm分类器

来自分类Dev

Python-Scikit。使用SVM训练和测试数据

来自分类Dev

使用训练图像的可变大小猪描述符来训练SVM(MATLAB)

来自分类Dev

使用Watson Image Recognition对图像进行“分类”

Related 相关文章

  1. 1

    使用SVM和BOW进行图像分类?

  2. 2

    使用图像训练 SVM 并进行预测

  3. 3

    如何使用BOW选择适当的正面和负面训练图像集进行图像分类

  4. 4

    使用SVM进行分类

  5. 5

    使用预训练的 caffe 模型进行图像分类

  6. 6

    如何使用SIFT和SVM实现常规图像分类器

  7. 7

    在OpenCV上使用SVM训练图像

  8. 8

    如何使用tensorflow的图像分类教程对不在原始训练或验证数据集中的看不见的图像进行分类?

  9. 9

    tensorflow tf.contrib.learn.SVM 如何重新加载训练好的模型并使用预测对新数据进行分类

  10. 10

    如何使用python多次训练SVM分类器?

  11. 11

    如何标记PCA获得的用于训练SVM的训练预测进行分类?的MATLAB

  12. 12

    如何标记PCA获得的用于训练SVM的训练预测进行分类?的MATLAB

  13. 13

    如何使用tensorflow对图像进行分类和裁剪?

  14. 14

    使用 Caffe 进行多类和多标签图像分类

  15. 15

    使用R和SVM进行文本分类。矩阵功能

  16. 16

    Scikit学习-如何使用SVM和随机森林进行文本分类?

  17. 17

    在Java代码中使用哪些Weka和LibSVM .jar文件进行SVM分类

  18. 18

    是否需要重新整理训练数据以进行SVM多分类?

  19. 19

    训练SVM模型后如何加载未标记的数据进行情感分类?

  20. 20

    如何在Python中进行PCA和SVM分类

  21. 21

    使用SVM训练CK +地标以进行表达识别

  22. 22

    如何使用Keras训练多类图像分类器

  23. 23

    使用带测试训练分割的DBSCAN进行分类

  24. 24

    无法使用 LDA 训练模型对主题进行分类

  25. 25

    使用R中的SVM进行一类分类

  26. 26

    在Android中使用经过训练的Scikit-learn svm分类器

  27. 27

    Python-Scikit。使用SVM训练和测试数据

  28. 28

    使用训练图像的可变大小猪描述符来训练SVM(MATLAB)

  29. 29

    使用Watson Image Recognition对图像进行“分类”

热门标签

归档