袋子与HOG描述符的词

时间:2017-07-27 06:18:47

标签: machine-learning computer-vision

我不太确定如何实施" Bag of Words"使用HOG描述符的方法。 我查了几个来源,通常会提供几个步骤:

  1. 计算有效训练图像集的HOG。
  2. 应用聚类算法从描述符中检索n个质心。
  3. 执行一些魔术来创建具有计算HOG的最近质心的频率的直方图,或使用OpenCV实现来执行此操作。
  4. 使用直方图
  5. 训练线性SVM

    涉及魔法(3)的步骤并不是很清楚。如果我不使用OpenCV,我该如何实现呢?

    HOG是按细胞计算的载体。所以我为每个细胞都有一个载体。我可以遍历矢量并计算矢量的每个元素的最近质心,并相应地创建直方图。这是一个正确的方法吗?但如果是这样的话,我仍然有不同大小的矢量,也没有从中受益。

1 个答案:

答案 0 :(得分:3)

可以表达主要步骤;

1-从整个训练集中提取功能。 (HOG功能为您的目标)

2-将这些特征聚类成词汇表V;你得到K个不同的聚类中心。(K-Means,K-Medoid。你的超参数将是K)

3-将每个训练图像编码为每个词汇元素在图像中显示的次数的直方图。然后每个图像由长度为K的矢量表示。

例如; K的第一个元素可能出现5次,K的第二个元素可能在图像中出现10次。最后你会得到一个有K个元素的向量。

K [0] = 5 k [1] = 10 .... .... K [n] = 3

4-使用此向量训练分类器。 (线性SVM)

给定测试图像时,提取特征。现在将测试图像表示为来自V的每个聚类中心最接近测试图像中的特征的次数的直方图。这又是一个长度K向量。