【发布时间】:2017-10-05 17:18:16
【问题描述】:
我有一个关于 VLAD 矢量表示的简单问题。 8192 维 (k=64, 128-D SIFT) VLAD 向量如何占用每张图像“32KB 的内存”?我无法将这两个数字联系起来。
【问题讨论】:
标签: dimension vlad-vector
我有一个关于 VLAD 矢量表示的简单问题。 8192 维 (k=64, 128-D SIFT) VLAD 向量如何占用每张图像“32KB 的内存”?我无法将这两个数字联系起来。
【问题讨论】:
标签: dimension vlad-vector
如VLFeat documentation 中所述,VLAD 向量的每个元素由下式给出
其中x_i 是一个描述符向量(此处:128 维 SIFT 向量),u_k 是kth 簇的中心 - 即也是一个 128 维 SIFT 向量。 q_ik 表示 x_i 和 u_i 之间的关联强度,如果使用 K-means 聚类,则为 0 或 1。因此,每个v_k 都是 128 维的。
然后通过堆叠所有v_k 来给出图像I 的VLAD 向量:
这个向量有k个元素,每个元素都是128维的。
因此,对于k=64,我们最终会得到描述图像I 的64 * 128 = 8192 数字。
最后,如果我们对每个元素使用浮点数,每个数字需要 4 个字节的内存。因此,每个图像的 VLAD 向量的总内存使用量为 64 * 128 * 4 = 32768 Bytes 或 32KB。
【讨论】: