带有 HOG 描述符的单词袋



我不太确定如何使用 HOG 描述符实现"单词袋"方法。 我已经检查了几个来源,这些来源通常提供几个步骤:

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

涉及魔法(3(的步骤并不十分清楚。如果我不使用OpenCV,我将如何实现它?

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

可以表示主要步骤;

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

2-将这些特征聚类到词汇表V中;你会得到K个不同的聚类中心。(K-表示,K-中心。您的超参数将为 K(

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

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

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

4-使用此向量训练分类器。(线性支持向量机(

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

最新更新