在数据库中查找相似图像的指标 [英] Metric for finding similar images in a database

查看:264
本文介绍了在数据库中查找相似图像的指标的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

There's a lot of different algorithms for computing the similarity between two images, but I can't find anything on how you would store this information in a database such that you can find similar images quickly.

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

By "similar" I mean exact duplicates that have been rotated (90 degree increments), color-adjusted, and/or re-saved (lossy jpeg compression).

我想提出一个指纹的图像,我可以快速查找它们。

I'm trying to come up with a "fingerprint" of the images such that I can look them up quickly.

到目前为止,我发现的最好的方法是生成灰度直方图。使用16个bin和256个灰度,我可以轻松地创建一个16字节的指纹。

The best I've come up with so far is to generate a grayscale histogram. With 16 bins and 256 shades of gray, I can easily create a 16-byte fingerprint. This works reasonably well, but it's not quite as robust as I'd like.

我尝试的另一个解决方案是调整图片大小,旋转他们,所以他们都是同样的方向,灰度他们,规范化直方图,然后收缩到大约8x8,并将颜色降低到16灰色阴影。虽然微缩图像非常相似,但它们通常关闭一个像素或两个,这意味着完全匹配不能工作。

Another solution I tried was to resize the images, rotate them so they're all oriented the same way, grayscale them, normalize the histograms, and then shrink them down to about 8x8, and reduce the colors to 16 shades of gray. Although the miniature images were very similar, they were usually off by a pixel or two, which means that exact matching can't work.

没有精确匹配,我't相信有任何有效的方式来分组类似的照片(不比较每一张照片与其他照片,即O(n ^ 2))。

Without exact-matching, I don't believe there's any efficient way to group similar photos (without comparing every photo to every other photo, i.e., O(n^2)).

)我如何创建一个不变的上述要求的指纹/签名?或者,(2)如果这不可能,我可以使用什么其他指标,如果给定一个单个图像,我可以发现它是数千个数据库中最好的匹配?

So, (1) How can I create I create a fingerprint/signature that is invariant to the requirements mentioned above? Or, (2) if that's not possible, what other metric can I use such that given a single image, I can find it's best matches in a database of thousands?

推荐答案

您的问题有一个令人困惑的事情:您连接的指纹是显式意思是找到类似的图像):

There's one little confusing thing in your question: the "fingerprint" you linked to is explicitly not meant to find similar images (quote):

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

TinEye does not typically find similar images (i.e. a different image with the same subject matter); it finds exact matches including those that have been cropped, edited or resized.

现在,我想假设你知道正在询问,而且您确实希望能够找到所有类似的图像,而不仅仅是编辑的精确副本。

Now, that said, I'm just going to assume you know what you are asking, and that you actually want to be able to find all similar images, not just edited exact copies.

如果您想详细了解,我建议您 Sivic,Zisserman 查找论文和 Nister,Stewenius 。这两篇论文(以及其他人最近使用的)的想法是尝试和应用文本搜索技术到图像数据库,并以相同的方式搜索图像数据库Google将搜索它的文档(网页)数据库。

If you want to try and get into it in detail, I would suggest looking up papers by Sivic, Zisserman and Nister, Stewenius. The idea these two papers (as well as quite a bit of others lately) have been using is to try and apply text-searching techniques to image databases, and search the image database in a same manner Google would search it's document (web-page) database.

第一张我已经链接到这种方法是一个很好的起点,因为它主要解决大问题:图像中的字词是什么?。文本搜索技术都关注于词,并且基于它们的相似性度量包括词计数的计算。因此,将图像成功表示为视觉词汇是将文本搜索技术应用于图像数据库的第一步。

The first paper I have linked to is a good starting point for this kind of approach, since it addresses mainly the big question: What are the "words" in the images?. Text searching techniques all focus on words, and base their similarity measures on calculations including word counts. Successful representation of images as collections of visual words is thus the first step to applying text-searching techniques to image databases.

第二篇文章然后展开了使用文本技术的想法,呈现更合适的搜索结构。这样,它们允许更快的图像检索和更大的图像数据库。他们还建议如何根据底层的搜索结构构造一个图像描述符

The second paper then expands on the idea of using text-techniques, presenting a more suitable search structure. With this, they allow for a faster image retrieval and larger image databases. They also propose how to construct an image descriptor based on the underlying search structure.

在两篇论文中用作视觉词的特征应该满足你的不变约束,第二个肯定应该能够使用你所需的数据库大小(甚至可能从第一篇论文的方法工作)。

The features used as visual words in both papers should satisfy your invariance constraints, and the second one definitely should be able to work with your required database size (maybe even the approach from the 1st paper would work).

最后,我推荐查找相同作者的新文章(我是积极的Nister做了新的东西,这只是从链接的文件的方法已经足够我直到现在),查找他们的参考文献,只是一般搜索关于基于内容的图片(索引和)检索(CBIR) - 这是一个非常受欢迎的主题,所以应该有很多。

Finally, I recommend looking up newer papers from the same authors (I'm positive Nister did something new, it's just that the approach from the linked paper has been enough for me until now), looking up some of their references and just generally searching for papers concerning Content based image (indexing and) retrieval (CBIR) - it is a very popular subject right now, so there should be plenty.

这篇关于在数据库中查找相似图像的指标的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆