我有一个关于VLAD矢量表示的简单问题。 8192维(k = 64,128-D SIFT)VLAD向量如何为每个图像提供“32KB的内存”?我无法将这两个数字联系起来。
答案 0 :(得分:1)
如VLFeat documentation所述,VLAD向量的每个元素由
给出其中x_i
是描述符向量(此处:128维SIFT向量),u_k
是k
群集的中心 - 也就是128维SIFT向量。 q_ik
表示x_i
和u_i
之间的关联强度,如果使用K均值聚类,则为0或1。因此,每个v_k
都是128维的。
然后通过堆叠所有I
来给出图像v_k
的VLAD向量:
此向量具有k
个元素,每个元素都是128维。
因此,对于k=64
,我们最终会得到描述图像64 * 128 = 8192
的{{1}}个数字。
最后,如果我们为每个元素使用浮点数,则每个数字需要4个字节的内存。因此,对于每个图像的VLAD向量,我们最终总内存使用量为I
字节或32KB。