一尘不染

计算图像之间的差异

algorithm

你们知道任何可用于计算图像之间差异的算法吗?

以该网页为例http://tineye.com/,您给它提供了链接或上载图像,它会找到相似的图像。我怀疑它是否会将相关图像与所有图像进行比较(或者确实如此)。

通过计算,我的意思是像Levenshtein_distanceHamming距离对于字符串而言。

我绝对不需要为项目或其他任何事情提供正确的答案,我只是找到了网站,对此感到非常好奇。我知道digg为其网站提供类似服务。


阅读 549

收藏
2020-07-28

共1个答案

一尘不染

最简单的措施将是基于RMS误差的方法,例如:

这些可能与您的距离量度概念融为一体,但是只有当您已经有两个非常接近的图像时(例如,如果您正在查看特定压缩方案对原始图像的保留程度如何),它们的结果才真正有意义。而且,根据存在的伪像,两种比较的相同结果可能意味着很多不同的东西(请看下面我引用的论文,其中一些示例RMS
/ PSNR的照片可能会误导人)。

除此之外,还有一个专门研究图像相似性的研究领域。我不是专家,但是这里有几点建议:

  • 使用降维(PCA,SVD,特征值分析等)来挑选图像的主要成分并在不同图像之间进行比较的工作已经很多。

  • 其他方法(尤其是医学成像)使用分割技术来挑选图像的重要部分,然后根据发现的内容对图像进行比较

  • 还有其他人试图设计出相似性度量方法来解决RMS误差和PSNR的某些缺陷。关于空间域结构相似性(SSIM)度量的论文很不错,它试图模仿人们对图像误差的理解,而不是直接的数学误差概念。同样的人使用做了改进的平移/旋转不变的版本小波分析本文的WSSIM

  • 看起来TinEye会使用具有 许多 属性值的特征向量来进行比较。如果您在他们的网站上四处寻找,最终会进入IdeéLabs页面,他们的FAQ在算法上有一些(但不是太多)细节:

问:视觉搜索如何工作?

答:Idée的视觉搜索技术使用复杂的算法来分析数百种图像属性,例如颜色,形状,纹理,亮度,复杂性,对象和区域,这些属性形成了一个紧凑的数字签名,用于描述每个图像的外观以及这些签名。由我们的软件计算并编制索引。
在执行视觉搜索时,我们的搜索引擎会快速比较这些签名,以返回视觉相似的结果。

这绝不是详尽无遗的(这只是我在自己的研究过程中遇到的几种技术),但是,如果您通过Google搜索技术论文或浏览有关图像处理的最新会议记录,您一定会发现这些东西的更多方法。这不是一个解决的问题,但是希望这些指针能使您对所涉及的问题有所了解。

2020-07-28