感知哈希与深度哈希:把图片压成一串指纹
前言
向量检索的方案库里图一多,存储和计算成本还是实打实的,有没有更极致的压缩?有,就是把图片直接压成一串二进制指纹,检索变成数比特位的事。这就是图像哈希检索,从去重到以图搜图都有它的一席之地。
先从最土的感知哈希说起
有个非常经典的小玩意叫感知哈希(pHash),思路简单到令人发指:
向量检索的方案库里图一多,存储和计算成本还是实打实的,有没有更极致的压缩?有,就是把图片直接压成一串二进制指纹,检索变成数比特位的事。这就是图像哈希检索,从去重到以图搜图都有它的一席之地。
有个非常经典的小玩意叫感知哈希(pHash),思路简单到令人发指:
文本搜索有现成的成熟套路:分词、倒排索引、BM25打分。核心前提是文本天然带着"词"这个离散单元,词相同就能命中。图片没有这个运气,一张jpg在计算机眼里就是几百万个像素值,两张内容一样的图,只要分辨率差一档或者jpeg质量参数不同,像素层面对不上号。所以图像检索的第一步,也是灵魂一步,是把图片压成一个能代表它内容的特征向量,让"看起来像"变成"向量距离近"。