python-图像搜索

本文介绍了基于BOW(Bag-of-Words)模型的图像检索方法,包括BOW的基本概念、K-means聚类创建视觉词汇、TF-IDF权重计算以及图像检索流程。通过提取特征、构建视觉词典、量化输入特征、生成TF-IDF矩阵并进行L2归一化,实现图像的快速索引和匹配。此外,还提到了在Python中使用SQLite数据库存储和查询图像信息。
摘要由CSDN通过智能技术生成

参考来源:《python计算机视觉》

基于BOW的图像检索

(一)基本介绍

  1. (1)BOW是指 “Bag-of-Words” 词袋模型,比较简单的理解就是将你所要分类的对象看成一个袋子,而这个袋子里装着组成这个对象的众多元素,对每个元素提取特征点,特征描述指向最多的一个类别则作为这个对象的类别。举个例子,将一段文本看成一个袋子,构成文本的每一个词汇都是独立的并放在这个袋子中,然后看这个袋子里装的都是些什么词汇,将其分类。如果文档中高考、课桌、黑板、粉笔这样的词汇多些,而砖头、拖车、起重机这样的词汇少些,我们就倾向于将它归类到关于学校这类的文档,而不是归到工地。
    (2)BOW也可以通过关键点投影的方法来表示图像信息,研究者称此方法为Bag-of-Features,图像检索所用的就是将所要分类图像通过建立成视觉等效单词进行分类。如下图,对于图像级分类和识别对象实例来说,效果相当好:
    在这里插入图片描述

  2. 视觉单词(词典):视觉单词的思想是将描述子空间量化成一些典型事例,并将图像中的每个描述子指派到其中的某个实例中。这些典型实例可以通过分析训练图像集确定,并被视为视觉单词。所有这些视觉单词构成的集合称为视觉词汇或视觉码本。我们通常用K-means聚类算法去得到聚类质心来做视觉单词。

  3. K-means算法流程:
    (1)随机初始化 K 个聚类中心
    (2)重复下述步骤直至算法收敛:
    ①对应每个特征,根据距离关系赋值给某个中心/类别;
    ②对每个类别,根据其对应的特征集重新计算聚类中心。
    在这里插入图片描述

  4. (1)TF的主要思想是:如果某个关键词在一篇文章中出现的频率高,说明该词语能够表征文章的内容,该关键词在其它文章中很少出现,则认为此词语具有很好的类别区分度,对分类有很大的贡献。
    (2)IDF的主要思想是:如果文件数据库中包含词语A的文件越少,则IDF越大,则说明词语A具有很好的类别区分能力。
    (3)词频(Term Frequency,TF)指的是一个给定的词语在该文件中出现的次数。如:tf = 0.030 ( 3/100 )表示在包括100个词语的文档中, 词语’A’出现了3次。
    (4)逆文档频率(Inverse Document Frequency,IDF)是描述了某一个特定词语的普遍重要性,如果某词语在许多文档中都出现过,表明它对文档的区分力不强,则赋予较小的权重;反之亦然。如:idf = 13.287 ( log (10,000,000/1,000) )表示在总的10,000,000个文档中,有1,000个包含词语’A’。
    (5)最终的TF-IDF权值为词频与逆文档频率的乘积。
    转载自:https://blog.csdn.net/loadstar_kun/article/details/39450137

  5. 图像检索流程:
    (1) 特征提取;
    (2)学习 “视觉词典(visual vocabulary)”;
    (3)针对输入特征集,根据视觉词典进行量化;
    (4)把输入图像,根据TF-IDF转化成视觉单词(visual words)的频率直方图:计算TF值和IDF值,进而得到TF-IDF矩阵,并对其进行L2归一化(向量中每个元素除以向量的L2范数->x/平方和开根号)。
    (5) 构造特征到图像的倒排表,通过倒排表快速索引相关图像;
    (6)根据索引结果进行直方图匹配;

(二)运行流程以及结果

  1. 创建词汇(生成模型文件)
    构建视觉词典的简单步骤:
    (1)提取对n幅图像分别提取sift特征描述子。
    (2)对提取的整个sift特征进行K-Means聚类得到k个聚类质心作为视觉词典。
    (3)对每幅图像以视觉词典为规范对该幅图像的每一个SIFT特征点计算它与单词表中每个单词的距离,最近的+1,便可
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值