8192维VLAD载体每个图像占用32KB的存储器。怎么样?

时间:2017-10-04 14:43:58

标签: dimension vlad-vector

我有一个关于VLAD矢量表示的简单问题。 8192维(k = 64,128-D SIFT)VLAD向量如何为每个图像提供“32KB的内存”?我无法将这两个数字联系起来。

1 个答案:

答案 0 :(得分:1)

VLFeat documentation所述,VLAD向量的每个元素由

给出

 v_k = sum_i q_ik (x_i - mu_i)

其中x_i是描述符向量(此处:128维SIFT向量),u_kk群集的中心 - 也就是128维SIFT向量。 q_ik表示x_iu_i之间的关联强度,如果使用K均值聚类,则为0或1。因此,每个v_k都是128维的。

然后通过堆叠所有I来给出图像v_k的VLAD向量:

Vlad vector

此向量具有k个元素,每个元素都是128维。 因此,对于k=64,我们最终会得到描述图像64 * 128 = 8192的{​​{1}}个数字。

最后,如果我们为每个元素使用浮点数,则每个数字需要4个字节的内存。因此,对于每个图像的VLAD向量,我们最终总内存使用量为I字节或32KB。