gpt4 book ai didi

algorithm - 哪种哈希算法适合图像局部描述符?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:57:06 25 4
gpt4 key购买 nike

我在图像上运行滑动窗口(类似于卷积核)并提取每个窗口的均值/颜色直方图。然而,由于数据是非常高维的,我希望将其散列为签名,因此我可以通过聚合窗口来执行近似最近邻图像搜索。

>>> means = cv2.mean(roi) #roi = window
>>> means
(181.12238527002307, 199.18315040165433, 206.514296508391, 0.0)..... => **some numeric hash**

哪种哈希算法适合这种情况?我试过 Md5 和 SHA-1,但它们是加密的,可能不适合 k-NN。

我读过 MinHash 和 SimHash,但不确定它们是否适合我的用例。有什么建议吗?

sliding window image example

最佳答案

局部敏感哈希 (LSH) 非常适合您的目的。根据 "Near-Optimal Hashing Algorithms for Approximate Nearest Neighbor in High Dimensions" (by Alexandr Andoni and Piotr Indyk)" ,适合在高维空间进行近似搜索。

LSH 中使用的哈希函数的特点是它们对于彼此靠近的特征向量的碰撞概率高于那些相距很远的特征向量。加密哈希函数没有此属性。使用加密哈希,即使特征向量发生非常小的变化也会导致哈希值发生巨大变化。

OpenCV FLANN有一个LSH的实现。上述论文的作者还提供了一个实现 here .

话虽如此,我建议您在您的数据集上评估 OpenCV FLANN 中的其他算法,以便您可以选择最佳的一个。

关于特征,您基本上是在使用对光照非常敏感的颜色信息。可能照明与您的情况无关。如果您可以尝试其他特征描述符(SIFT/SURF、ORB、BRIEF 等)并使用不同算法评估它们的性能,那就更好了。

关于algorithm - 哪种哈希算法适合图像局部描述符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39962618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com