4

项目:基于内容的图像检索 - 半监督(训练时对图像进行手动标记)

描述

我在数据库中有 1000000 张图像。培训是手动(监督) - 为每个图像提供标题和标签。示例:coke.jpg 标题:可乐 标签:可乐、罐头

使用图像和标签,我必须训练系统。训练后,当我给出一个新图像(已经在数据库中/全新的)时,系统应该输出图像可能属于的可能标签,并显示属于每个标签的少量图像。系统也可能说未找到匹配项。

问题:

1) 图像指纹是什么意思?预期的图像指纹大小是多少?(很重要,因为数据库中将插入数百万张图像)

2)数据库中指纹的字段格式是什么?(很重要,因为需要快速搜索……脚本应该在不到 1 秒的时间内在 1M 图像数据库中搜索)

3)我们用来分析它们的描述符(算法)是什么?

提前致谢

4

3 回答 3

4

好吧,这个话题很大,但这里是一个可能的解决方案的简要概述

  1. 图像指纹是 SIFT 描述符的集合,这些描述符被量化以减小大小并允许索引

  2. 建立数据库的倒排索引以允许通过量化描述符查找图像(您可以为此使用任何全文搜索引擎 \ DB)

  3. 给定图像,查找共享大量公共描述符的图像

  4. 对于那些潜在的候选人,您应该验证描述符的空间排列是否足够相似

一些帮助您入门的文章:

菲尔宾、詹姆斯等人。“具有大词汇量和快速空间匹配的对象检索。” 计算机视觉和模式识别,2007。CVPR'07。IEEE 会议。IEEE,2007 年。

菲尔宾、詹姆斯等人。“迷失在量化中:改进大规模图像数据库中的特定对象检索。” 计算机视觉和模式识别,2008 年。CVPR 2008 年。IEEE 会议。IEEE,2008 年。

米库利克、安德烈等人。“学好词汇。” 计算机视觉-ECCV 2010 (2010):1-14。

于 2012-12-29T19:59:25.540 回答
2

我建议在从训练图像中提取的图像特征列表上训练 SVM 模型

于 2012-12-10T09:58:36.890 回答
1
  1. 图像指纹:图像的有意义的表示。当然,您不能使用单个像素。最合理的做法是最小化基之间的相关性。简而言之,如果您拍摄 64x64 图像,左上角的两个像素可能相同或相似。将每个 64^2 像素用作输入是没有用的,您需要更好的东西。试着看看主成分分析是做什么的。
  2. 这完全取决于你。极端化它,你可以使用一点,它告诉你图像是否暗。更好的是,您对图像进行 PCA 并尝试不同数量的特征(并非总是越多的特征越好)
  3. 无论您想要什么,都可以使用很多算法。我推荐支持向量机。易于使用且得到很好的支持。如果您有很多不同的标签,您可能必须为每个标签放置一个 SVM。这可能并不理想,您可能想尝试其他方法。
于 2012-11-22T17:04:05.357 回答