opencv - 训练数据簇的 BOW 预测

标签 opencv machine-learning computer-vision histogram cluster-analysis

我正在创建一袋视觉词来对视频进行分类。我没有使用 SURF 描述符,这就是为什么我不能使用 OpenCV 的 BOWImgDescriptorExtractor 来实现此目的。 我提取了我的描述符并自己对它们进行了聚类。我现在有了我的词汇量(4000)。我应该做的是将我的训练描述符分配给这些集群并为下一步创建视觉直方图。我应该如何进行此预测并为创建的字典中的训练数据创建视觉直方图?

最佳答案

为了将描述符分配给集群,您必须选择一个距离度量。一个简单的选择是欧几里德距离。然后,您需要计算训练描述符到每个簇质心的距离,并将它们分配给质心比任何其他簇的质心更接近描述符的簇。

对图像上的所有训练描述符执行此操作后,您可以计算分配给每个集群的描述符数量,然后构建直方图。不过,必须对训练集中的所有图像重复该过程。由于描述符的数量可能会随图像的不同而变化,因此在将直方图作为特征向量输入分类器进行训练之前,通常会对直方图进行归一化。

关于opencv - 训练数据簇的 BOW 预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24186838/

相关文章:

python - Twitter 对字符串的情感分析

python - 在Tensorflow中,sampled_softmax_loss和softmax_cross_entropy_with_logits有什么区别

video - 在哪里可以找到面部检测软件、算法等?

python - 如何使用光流估计量化帧之间的差异?

opencv - 使用opencv进行肤色检测

OpenCV : is a contour closed or not

C++ 拉伸(stretch)均衡图像

java - Java代码中亲和传播的实现

opencv - 使用 OpenCV 可以进行 3D 扫描吗?

c++ - 如何在 opencv 和 c++ 中使用鼠标在图像上画线?