用于在数据库中查找类似图像的度量标准

mpe*_*pen 7 database image computer-vision cbir

计算两个图像之间的相似性有很多不同的算法,但是我找不到关于如何将这些信息存储在数据库中的任何信息,以便您可以快速找到类似的图像.

"类似"是指已经旋转(90度增量),颜色调整和/或重新保存(有损jpeg压缩)的精确重复.

我试图想出一个图像的" 指纹 ",以便我可以快速查找它们.

到目前为止,我提出的最好的方法是生成灰度直方图.使用16个箱和256个灰色阴影,我可以轻松创建一个16字节的指纹.这种方法运行得相当不错,但它并不像我想的那么强大.

我尝试的另一个解决方案是调整图像大小,旋转它们以使它们都以相同的方式定向,对它们进行灰度化,对直方图进行标准化,然后将它们缩小到大约8x8,并将颜色减少到16种灰度.尽管微缩图像非常相似,但它们通常偏离一两个像素,这意味着精确匹配不起作用.

如果没有精确匹配,我不相信有任何有效的方法来分组相似的照片(不将每张照片与其他每张照片进行比较,即O(n ^ 2)).

那么,(1)我如何创建我创建一个与上述要求不变的指纹/签名?或者,(2),如果这是不可能的,有什么其他的指标可以我用这样给定一个单一的形象,我可以找到它的最佳匹配数千数据库?

pen*_*ope 4

您的问题中有一点令人困惑的事情:您链接到的“指纹”显然意味着找到相似的图像(引用):

TinEye 通常不会找到相似的图像(即具有相同主题的不同图像);它会找到完全匹配的内容,包括那些经过裁剪、编辑或调整大小的匹配内容。

现在,我只是假设您知道自己在问什么,并且您实际上希望能够找到所有相似的图像,而不仅仅是编辑过的精确副本。

如果您想尝试详细了解它,我建议您查找Sivic、ZissermanNister、Stewenius的论文。这两篇论文(以及最近的许多其他论文)一直使用的想法是尝试将文本搜索技术应用于图像数据库,并以与谷歌搜索其文档(网页)相同的方式搜索图像数据库。 ) 数据库。

我链接的第一论文是这种方法的一个很好的起点,因为它主要解决了一个大问题:图像中的“单词”是什么?。文本搜索技术都关注单词,并将其相似性度量基于包括单词计数在内的计算。因此,将图像成功表示为视觉单词的集合是将文本搜索技术应用于图像数据库的第一步。

然后,第二篇论文扩展了使用文本技术的想法,提出了更合适的搜索结构。这样,它们就可以实现更快的图像检索和更大的图像数据库。他们还提出了如何基于底层搜索结构构建图像描述符。

这两篇论文中用作视觉词的特征应该满足您的不变性约束,第二个肯定应该能够与您所需的数据库大小一起使用(也许第一篇论文中的方法也可以工作)。

最后,我建议查找同一作者的新论文(我确信 Nister 做了一些新的东西,只是链接论文中的方法到目前为止对我来说已经足够了),查找他们的一些参考文献,然后进行一般性搜索有关基于内容的图像(索引和)检索(CBIR)的论文 - 这是现在非常流行的主题,所以应该有很多。