动态词袋/特征

Dynamic Bag of Words / Features

我正在尝试为一组用户在不同时刻提交的一组图像实施功能包。

如果簇发生变化,那么我们至少需要重新计算所有 "visual words" 哪些元素发生了簇变化。

例如,假设一个 SIFT 描述符 d 在时间 t1 属于集群 A。在 t1+1 处提交了一个查询,因此集群发生了变化,现在 d 属于集群 B。所以我们需要重新计算 "visual word" (向量)相对于 d.

如您所想,这种方法可能过于昂贵(尤其是在查询率很高的情况下)!

我的问题是:有没有比经典词袋更好的模型,或者一些动态聚类算法?

正如对您的其他问题的评论,假设 视觉词是在足够完整(多样化和大)的数据集上训练的

如果每个有趣的关键点都有足够好的视觉词,那么就不需要更新视觉词,只需要将新图像映射到现有词汇表即可。

即使您假设数据不断变化,始终更新词汇表也没有用。这是一个粗略的近似值——重新计算后它仍然只是一个粗略的近似值。如果您收到 大量 的新数据,更新就足够了。比这更频繁地更新可能会以巨大的成本产生 0.0 的改进。