如何使用 TF-IDF 与使用 sift 的视觉词袋

Posted

技术标签:

【中文标题】如何使用 TF-IDF 与使用 sift 的视觉词袋【英文标题】:How to use TF-IDF with visual bag of words using sift 【发布时间】:2021-04-14 13:59:23 【问题描述】:

我使用与此链接相同的方法:https://medium.com/analytics-vidhya/bag-of-visual-words-bag-of-features-9a2f7aec7866

如链接中所述,TD IDF 可用于从视觉词袋中删除不太重要的“视觉词”。不过网上查了一下,好像TD-IDF只实现了文本特征提取。 (例如,sklearn.feature_extraction.text.TfidfTransformer)

有没有一种简单的方法可以使用 TF-IDF 进行图像分类而不是文本?

【问题讨论】:

【参考方案1】:

我怀疑图像是否足够标准,但自己计算很容易:

对于任何“视觉词”,文档频率 (DF) 是包含此“视觉词”的图像数除以图像总数。 IDF 是该值的倒数。 “视觉词”在特定图像中的“词频”(TF) 是“词”在图像中出现的次数除以该图像中“词”的总数。

现在只需应用公式:TFIDF = TF * log(IDF)。

或者,您可以将每个图像表示为带有表示视觉词的字符串的伪句,然后在伪句集上使用标准TfidfTransformer。但这可能会带来更多的好处。

【讨论】:

以上是关于如何使用 TF-IDF 与使用 sift 的视觉词袋的主要内容,如果未能解决你的问题,请参考以下文章

SIFT特征提取器

NLP-词向量:如何理解TF-IDF?

使用 SIFT/SURF 从一组图像中检索相似图像

TF-IDF介绍

使用 Kmeans 和 TF-IDF 获取词簇

计算机视觉局部图像描述子:SIFT算法