我正在阅读很多关于VLAD和Fisher Vectors(FV)的论文。特别是,在this论文中(基本上每篇论文都在讨论该主题),作者使用PCA来减少SIFT,VLAD和FV维度。
然而,根据我的理解,PCA涉及计算协方差矩阵的特征值,我们只能计算平方矩阵的特征值。
现在,假设我们想为1M SIFT向量计算PCA。我们如何在1Mx128矩阵上计算PCA?
我从this的问题中了解到SVD是另一种选择,但我很惊讶,因为在任何论文中都没有人谈过PCA!我错过了什么?
答案 0 :(得分:1)
VLAD和Fisher Vectors的实现有效地倾向于使用PCA来降低图像块的维数。大多数论文报告的典型值是DIM = 64并且使用1M补丁,这有效地使得难以直接应用SVD。
我见过用于SIFT的PCA实现,它使用此处报告的迭代算法:https://en.wikipedia.org/wiki/Principal_component_analysis#Iterative_computation。