我无法理解一些pHash结果。
根据 pHash,两张真正相似的图像只有 75% 的共同点:
&
另外两张本应该没有共同点的图像具有 78% 的相似性:
&
有什么我可能做错的吗?我正在使用 ruby 库(Similie、pHash、Phashion),但它们只是映射 pHash 函数。在其他一些示例中,结果令人满意。
我无法理解一些pHash结果。
根据 pHash,两张真正相似的图像只有 75% 的共同点:
&
另外两张本应该没有共同点的图像具有 78% 的相似性:
&
有什么我可能做错的吗?我正在使用 ruby 库(Similie、pHash、Phashion),但它们只是映射 pHash 函数。在其他一些示例中,结果令人满意。
我认为结果可以解释为:
对于第一对图像,对图像的主要“攻击”是重新构图,它显着改变了创建 dct 哈希的频率数据。这是 dct 哈希方法的一个已知弱点,并记录在 pHash 网站上。
第二对图像的“相似性”可能是由于文件较小,其中一个图像中单一颜色的大块。根据我的主观经验,这些类型的文件通常会导致出现奇怪的“相似之处”。(品牌名称的图像对我来说是个问题)。不幸的是,我无法真正解释这种意外行为。
使用多种散列方法(如墨西哥帽或径向)和更大的源文件(如果可用)有助于降低“错误匹配”率。
更新:
从那以后,我在 ImageMagick 中尝试了新发布的 phash 功能。它允许您使用命令行调用来区分两个图像compare -metric phash image1 image2 diffimage
。
使用该工具,第一组(相似)图像的相似度得分为 19.78,而明显不相似的图像的得分为 258.58。建议作为“匹配阈值”的值为 21。与 dct 哈希不同,此 pHash 方法包含颜色信息。
此处有关新功能的信息:http ://www.fmwconcepts.com/misc_tests/perceptual_hash_test_results_510/index.html