【图像检索--感知哈希算法】

了解决上面方法对存储空间和检索时间的不切实际的要求,近年来近似最近邻搜索(approximate nearest neighbor search)技术发展迅猛,因为其对空间和时间的需求大幅降低,而且能够得到不错的检索结果,因此成为了一种实用的替代方案。在这其中,哈希(hashing)作为一种代表性方法,近年来受到了广泛的关注。本文首先对哈希算法的发展历程进行简单的介绍,然后按照相关性,对近年来的一些主要的深度哈希算法进行介绍,最后对现有深度哈希方法进行简单的总结。

平均哈希算法过于严格,不够精确,更适合搜索缩略图,为了获得更精确的结果可以选择感知哈希算法,它采用的是DCT(离散余弦变换)来降低频率的方法
步骤:
1.缩小图片:32 * 32是一个较好的大小,这样方便DCT计算
2.转化为灰度图:把缩放后的图片转化为256阶的灰度图。(具体算法见平均哈希算法步骤)
3.计算DCT:DCT把图片分离成分率的集合
4.缩小DCT:DCT是32*32,保留左上角的8*8,这些代表的图片的最低频率
5.计算平均值:计算缩小DCT后的所有像素点的平均值。
6.进一步减小DCT:大于平均值记录为1,反之记录为0.
7.得到信息指纹:组合64个信息位,顺序随意保持一致性即可。
8.对比指纹:计算两幅图片的指纹,计算汉明距离(从一个指纹到另一个指纹需要变几次),汉明距离越大则说明图片越不一致,反之,汉明距离越小则说明图片越相似,当距离为0时,说明完全相同。

算法流程:https://blog.csdn.net/llp1992/article/details/44177433

https://blog.csdn.net/huixingshao/article/details/43487267

https://blog.csdn.net/akadiao/article/details/79779634

你可能感兴趣的:(【图像检索--感知哈希算法】)