【问题标题】:A 8192-dimensional VLAD vector take 32KB of of memory per image. How?一个 8192 维的 VLAD 矢量每张图像占用 32KB 的内存。如何?
【发布时间】:2017-10-05 17:18:16
【问题描述】:

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

【问题讨论】:

    标签: dimension vlad-vector


    【解决方案1】:

    VLFeat documentation 中所述,VLAD 向量的每个元素由下式给出

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

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

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

    最后,如果我们对每个元素使用浮点数,每个数字需要 4 个字节的内存。因此,每个图像的 VLAD 向量的总内存使用量为 64 * 128 * 4 = 32768 Bytes 或 32KB。

    【讨论】:

      猜你喜欢
      • 2016-07-19
      • 1970-01-01
      • 2018-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-19
      • 1970-01-01
      相关资源
      最近更新 更多