我不太确定如何使用HOG描述符来实现“单词袋”方法。
我检查了几个来源,这些来源通常提供以下步骤:
涉及魔术(3)的步骤尚不清楚。如果我不使用OpenCV,该如何实现?
HOG是按单元计算的向量。所以我为每个单元都有一个向量。我可以遍历向量,并为向量的每个元素计算最接近的质心,并相应地创建直方图。这会是正确的方法吗?但是,如果是这样,我仍然可以使用不同大小的向量,也无法从中受益。
最佳答案
主要步骤可以表达;
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向量。
关于machine-learning - 带有HOG描述符的单词袋,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45342759/