我正在为视频分类创建视觉词袋。我没有使用SURF描述符,因此无法使用OpenCV的BOWImgDescriptorExtractor
来实现这一目的。我自己提取了描述符并对它们进行了聚类。现在我有了词汇表(大小为4000)。我需要做的就是将我的训练描述符分配到这些聚类中,并为后续步骤创建视觉直方图。我应该如何进行这种预测,并从创建的词典中为我的训练数据创建视觉直方图?
回答:
为了将描述符分配到聚类中,你需要选择一个距离度量。一个简单的选择是欧几里得距离。然后,你需要计算训练描述符到每个聚类中心的距离,并将它们分配到与描述符距离最近的聚类中心所在的聚类中。
在对图像上的所有训练描述符完成这一操作后,你需要统计分配到每个聚类的描述符数量,然后构建一个直方图。必须对训练集中所有图像重复这一过程。尽管如此,由于描述符的数量可能随图像而变化,直方图在作为特征向量输入分类器进行训练之前通常需要进行归一化处理。