任何人都可以为 CBIR 推荐好的算法吗?

Posted

技术标签:

【中文标题】任何人都可以为 CBIR 推荐好的算法吗?【英文标题】:Can anyone suggest good algorithms for CBIR? 【发布时间】:2012-11-10 13:09:03 【问题描述】:

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

说明

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

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

问题:

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

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

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

提前致谢

【问题讨论】:

我猜fingerprint是指图像的特征向量。 是的,但是你能告诉我指纹的大小以及我应该如何存储指纹...每张图像1个或每个标签1个或标签组合1个...因为那里是数百万张图片...您还可以分享使用哪些特征提取方法...谢谢您的回复... 显然,必须为每个图像计算“图像的特征向量”。尝试阅读一些关于图像分类的研究论文。我认为您的问题没有一个正确答案。 谢谢...作为开始,您能否提出一些算法以及相应的指纹大小、字段...我会采纳您的建议并阅读一些论文... 【参考方案1】:
    图像指纹:图像的有意义的表示。当然,您不能使用单个像素。最合理的做法是最小化基之间的相关性。简而言之,如果您拍摄 64x64 图像,左上角的两个像素可能相同或相似。将每个 64^2 像素用作输入是没有用的,您需要更好的东西。试着看看主成分分析是做什么的。 这完全取决于您。极端化它,你可以使用一点,它告诉你图像是否暗。更好的是,您对图像进行 PCA 并尝试不同数量的特征(并非总是更多的特征更好) 无论您想要什么,您都可以使用很多算法。我推荐支持向量机。易于使用且得到很好的支持。如果您有很多不同的标签,您可能必须为每个标签放置一个 SVM。这可能并不理想,您可能想尝试其他方法。

【讨论】:

【参考方案2】:

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

【讨论】:

【参考方案3】:

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

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

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

    给定一张图片,查找共享大量通用描述符的图片

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

一些帮助您入门的文章:

Philbin, James, et al. "Object retrieval with large vocabularies and fast spatial matching." Computer Vision and Pattern Recognition, 2007. CVPR'07. IEEE Conference on. IEEE, 2007.

Philbin, James, et al. "Lost in quantization: Improving particular object retrieval in large scale image databases." Computer Vision and Pattern Recognition, 2008. CVPR 2008. IEEE Conference on. IEEE, 2008.

Mikulík, Andrej, et al. "Learning a fine vocabulary." Computer Vision–ECCV 2010 (2010): 1-14.

【讨论】:

感谢您的回复....我将通过上述参考并尝试我的项目...\

以上是关于任何人都可以为 CBIR 推荐好的算法吗?的主要内容,如果未能解决你的问题,请参考以下文章

任何人都可以为Windows推荐磁盘I / O基准测试软件吗?

CBIR索引策略

有啥经典的c语言算法书推荐一下吗

基于内容的图像检索资源

任何人都可以推荐紧凑框架的 PDF 解决方案吗?

有人可以推荐一个好的图像缓存库吗? [关闭]