我不太确定如何实施" Bag of Words"使用HOG描述符的方法。 我查了几个来源,通常会提供几个步骤:
涉及魔法(3)的步骤并不是很清楚。如果我不使用OpenCV,我该如何实现呢?
HOG是按细胞计算的载体。所以我为每个细胞都有一个载体。我可以遍历矢量并计算矢量的每个元素的最近质心,并相应地创建直方图。这是一个正确的方法吗?但如果是这样的话,我仍然有不同大小的矢量,也没有从中受益。
答案 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向量。