运行 matlab 中结合 SURF 和 SIFT 描述符的 k-means
run k-means on combination of SURF and SIFT descriptors in matlab
如何在MATLAB中组合SURF和SIFT描述符,其中SIFT为128D,SURF为64D,它们的描述符数量不同,另一点是SURF描述符的值比SIFT小很多,有些它们中的一部分是负的,而所有的筛选描述符都是正的;然后 运行 k-means 对它们的组合?
有一个相关的讨论 here 但我无法理解,答案是针对 OpenCv
感谢任何帮助
一种解决方案是将这两个描述符的结果转换为统一的大小,然后轻松地将它们连接起来。例如,使用 PCA 将它们都转换为 32D 维度的 SIFT(32 * m
as M_prime
)和 SURF(32*n
as N_prime
)并像这样连接它们:combined_feature_vectors = [M_prime N_prime]
。因此,您有 + n 个大小为 32 的描述符。
您可以通过对每个算法的特征进行归一化来解决 SURF 值较小的问题。
如何在MATLAB中组合SURF和SIFT描述符,其中SIFT为128D,SURF为64D,它们的描述符数量不同,另一点是SURF描述符的值比SIFT小很多,有些它们中的一部分是负的,而所有的筛选描述符都是正的;然后 运行 k-means 对它们的组合? 有一个相关的讨论 here 但我无法理解,答案是针对 OpenCv
感谢任何帮助
一种解决方案是将这两个描述符的结果转换为统一的大小,然后轻松地将它们连接起来。例如,使用 PCA 将它们都转换为 32D 维度的 SIFT(32 * m
as M_prime
)和 SURF(32*n
as N_prime
)并像这样连接它们:combined_feature_vectors = [M_prime N_prime]
。因此,您有 + n 个大小为 32 的描述符。
您可以通过对每个算法的特征进行归一化来解决 SURF 值较小的问题。