一种基于改进bow算法的相似图片搜索方法

文档序号:10489050阅读:409来源:国知局
一种基于改进bow算法的相似图片搜索方法
【专利摘要】本发明涉及一种基于改进BOW算法的相似图片搜索方法,大规模图片库中相似图片的快速和准确的搜索一直是互联网图像处理领域一个非常重要的研究方向,本发明给定一张图片,在线实时在海量图片集中搜索与其相似或含有相同主要物体或区域的图片。现有的方法一方面实时性比较低,另一方面准确率也很难得到保证。在图片库中图片存在旋转、尺度拉伸等变化的情况下很难实现。本发明可以在图片存在旋转、尺度变化的情况下实现相似图片的检索,并且可以保证检索的实时性和准确率,这也为本发明的实践应用提供了理论基础。
【专利说明】
一种基于改进BOW算法的相似图片搜索方法
技术领域
[0001] 本发明涉及数字图像处理和检索算法技术领域,具体涉及一种基于改进BOW算法 的相似图片搜索方法,
【背景技术】
[0002] 大规模图片集中相似图片的检索是现今计算机视觉领域一个非常重要的研究方 向。其主要需要解决的问题是给定一张图片,在图片集中在线搜索与其外观相似或含有相 同主要物体或区域的图片。该研究方向在现实中已经有了一些相关的应用,比如,百度推出 的以图识图和淘宝根据图片搜索商品的应用。该问题的难点在于:实时性和准确率的要求 比较高;快速判别图像相似性的算法。
[0003] 近年来大规模图片库中相似图片的搜索研究已经取得了一定的成果,其中最经典 的就是J.Philbin等人提出的Bag of Visual Words算法(BOW)(参考文献[l]J.philbin, 0·Chum,M·I sard,J·Si vie,and A .Zisserman.Object retrieval with large vocabularies and fast spatial matching. In (^?1?,2007.809,810,812,814),该算法首 先对图片集中的每一张图片提取一定数量的SIFT点,对所有图片中的SIFT进行k-means聚 类,根据得到的聚类中心,将每张图片中的SIFT点量化到最近邻的聚类中心处,这样,每张 图片就可以使用一个高维向量表示。而两张图片的相似性度量标准就是表示这两张图片的 向量的相似性。该算法是目前使用最为广泛的相似图片检索算法,经过近几年的使用证明 了该方法的实用性,并且在实际系统中已经有所应用。此后,根据BOW算法的思想,一些研究 对BOV算法进行了改进:Divid Nister和Henrik Arewenius等人(参考文献[2]David Nister and Henrik Stewenius. Scalable Recognition with a Vocabulary Tree. In CVPR,2006)在SIFT点聚类算法部分提出了 一种分层的聚类算法(HKM)来取代原有的k-means聚类算法,该改进的主要目的在于提高聚类的速度,但该方法会在一定程度上降低聚 类的精度,如果将聚类算法在线下进行,则应该以准确率作为最重要指标;Zhong Wu(参考 文南犬[3]Zhong Wu,Qifa Ke1Jian Sun,Heung-Yeung Shum.A multi-Sample,Multi-Tree Approach to Bag-〇f-ffords Image Representation for Image Retrieval. In ICCV, 2009)等人提出了一种采用多棵聚类树进行SIFT点的聚类表示,并将每个SIFT点量化到多 棵树的相应聚类中心的方法,但该算法在量化时存在过分依赖于阈值的问题,导致实际结 果在阈值不同时差距很大。Christoph H.Lampert等人(参考文献[4] Christoph H.Lampert,Matthew B.Blaschko,and Thomas Hofmann.Beyond Sliding Windows:Object Localization by Efficient Subwindow Search. In CVPR 2008)在考虑图片中相似物体 的检测时引入了滑动窗口的方法,该方法可以在一定程度上提高检测的准确率,但由于该 方法在每幅图片中需要提取大量窗口导致时间复杂度比高,在给定一张图片检索与其相似 的图片时很难达到实时;另外一些研究主要考虑到提到的SIFT点的空间信息:Xiaoyu Wang 和Ming Yang(参考文南犬[5]Xiaoyu Wang,Ming Yang,Timothee Cour,Shenghuo Zhu,Kai Yu,and Tony X.Han. Contextual Weighting for Vocabulary Tree based Image Retrieval. In ICCV,2011)等人指出在两幅图片中的SIFT点匹配时考虑该点周围一定半径 内点的尺度和角度信息;Svetlana Lazebnik等人(参考文献[6] Svetlana Lazebnik, Cordelia Schmid,Jean Ponce.Beyond Bags of Features: Spatial Pyramid Matching for Recognizing Natural Scene Categories · In CVPR,2006)提出了一种经典的空间金 字塔算法(SPM),该算法考虑到图片中SIFT的位置排布,将图片分割成不同尺度的图像块, 对每一层中的每一图像块分别进行匹配,但该算法的效果主要体现在场景分类上,对相同 物体和区域的检索能力有限;另外一种考虑空间信息的算法是BOW算法(参考文献[7] Yimeng Zhang,Zhaoyin Jia,Tsuhan Chen. Image Retrieval with Geometry-Preserving Visual Phrases. In CVPR,2011):该算法认为只有量化后SIFT点所属类别相同并且位置关 系相同的点才属于匹配上点的点。

【发明内容】

[0004] 本发明要解决技术问题为:克服现有技术的不足,提供一种基于改进BOW算法的相 似图片搜索方法,在经典的BOW算法的基础之上通过考虑匹配SIFT点之间的较强的位置关 系去除不满足几何关系的匹配点,并通过定义一个新的计算公式对相似度进行衡量,并提 高了该算法的准确率。该方法具有旋转和尺度不变性,因此对于图片中物体的形变更加鲁 邦,可以在一定程度上提高检索的准确率。
[0005] 本发明解决上述技术问题采用的技术方案为:一种基于改进BOW算法的相似图片 搜索方法,在经典bag of words算法的基础上考虑匹配点之间的几何关系,去除不满足几 何关系的匹配点,并在相似度量函数中体现出来,从而提高了检索的准确率,具体实现步骤 如下:
[0006] 步骤(1)、对大规模图片库中的每张图片进行SIFT特征点的提取,并记录各自的位 置坐标。
[0007] 步骤(2)、对步骤(1)得到的SIFT点进行k-means聚类,得到一定数量的聚类中心, 即字典。
[0008] 步骤(3 )、将图片库中每张图片中提取到的SIFT点量化到步骤(2)中的聚类中心, 以字典中的单词(即聚类中心)为索引,记录包含该单词的图片和该SIFT点的位置坐标,即 生成一个Inverted file。
[0009] 步骤(4)、对于待检索图片提取该图片中的SIFT点,并且根据步骤(2)中的聚类中 心进行量化。
[0010] 步骤(5)、对待检索图片和图片库中的图片计算属于同一类别的SIFT点(即量化到 同一个聚类中心的SIFT点)的数量。
[0011] 步骤(6)、判断是否满足几何关系,并在度量函数中加上相应的得分,否则不计分。
[0012] 步骤(7)、对最后的得分进行排序,得分越高表示待检索图片和图片库的该张图片 越相似,并返回结果。
[0013] 本发明与现有技术相比的优点在于:
[0014] (1)、在建立的索引表中添加了每个点的位置信息,可以将匹配点之间的位置关系 进行比较,利用倒排索引表可以极大地提高检索速度避免重复的计算工作。
[0015] (2)、考虑了待检索图片和图片库中的图片之间匹配上的特征点之间的位置关系, 只有满足相似的几何关系的特征点才判断为真正的匹配点,从而去除了一些由于量化所造 成的误匹配点,提高了算法的鲁棒性,从而可以获得更高的准确率。
[0016] (3)、相似度量函数综合考虑了字典中单词的频率和特征代表性,并进行了归一化 的处理,从而能够解决各张图片中提取到的特征点数量不一致的问题,使结果更具有代表 性,也更加准确。
【附图说明】
[0017] 图1为本发明方法实现流程图;
[0018]图2表示相似图片中对应特征点可以匹配上的三角形,其中图2(a)为待检索图片、 (b)为图片库中原图片。
【具体实施方式】
[0019] 下面结合附图以及【具体实施方式】进一步说明本发明。
[0020] 如图1所示,本发明一种基于改进BOW算法的相似图片搜索方法的具体步骤如下:
[0021] 1.提取SIFT特征
[0022] 利用SIFT算法,从图片库中的每张图片中提取一定数量的SIFT点,SIFT算法是一 种提取局部特征的算法,在尺度空间寻找极值点,提取位置,尺度,旋转不变量,并在寻找到 的极值点计算4x4范围内,每块区域内8个方向的灰度梯度直方图,合并后可以得到128维向 量,这样每个特征点就可以使用128维向量进行表示。这样的特征点具有高度的区分性,所 以可以代表不同图片中的不同信息,这样每张图片可以使用一定数量的128SIFT点向量进 行表示。
[0023] 2.生成字典
[0024]将图片集中所有图片中提取到的SIFT点进行整合,并进行k-means聚类,生成一定 数量的聚类中心,将这些128维向量作为字典。
[0025] k-means算法主要分为两个步骤:
[0026] 步骤(1)随机选取k个聚类质心点(cluster centroids)为μι,y2,"ykERn。
[0027] 步骤(2)对于每一个样例i,使用如下公式计算其应该属于的类:
[0028]
[0029]
[0030]
[0031] 当所有样例所属类别不发生改变之后停止,否则重复步骤(2)。
[0032] 但该算法的缺点是在数据量大,并且数据的维数比较高时收敛的速度比较慢,计 算复杂度比较高,因此在图搜索这种大数据量且属于高维数据的聚类时并不适用,两种改 进的算法如下:
[0033] I)HKM(Hierarchical k-means)算法:该算法对k-means算法进行了改进,将聚类 过程分层化,即第一层只取少量的聚类中心,将大量数据聚类到少量的中心点,然后在每一 类别的数据中继续进行聚类操作,这种分层的聚类算法极大的提高了聚类速度,但其存在 严重的缺点:即如果在低层次聚类时被分到错误的类别,在后续的高层次聚类中无法进行 修正。因此会在一定程度上影响聚类的准确性,也会导致后续量化的偏差。
[0034] 2)AKM(Approximate k-means)算法:在典型的k-means算法中,主要的计算时间花 费在计算点和最近邻的聚类中心的距离上,AKM算法就是使用近似最近邻查找取代原有的 精确查找,并且在每次迭代之前在聚类中心处建立含有8棵k-d tree的随机森林来提高计 算的速度。实验证明AKM算法以牺牲少量计算精度的代价极大的提高了计算的速度,将计算 复杂度由O(NK)降为〇(N*log(K)),其中N为需要聚类的点的数目,K为聚类中心的数目。 [0035] 3.图片的量化
[0036] 通过上一步生成的字典就可以将SIFT点量化到聚类中心。量化的过程实际上是最 近邻匹配的过程,仍然使用近似最近邻匹配的思想,这样可以提高计算的速度并且可以和 上一步的聚类达成一致。至此,每幅图片可以使用一个维数为该幅图片提取到的SIFT点的 数目的高维向量表示。
[0037] 4. Inverted File的建立
[0038] 倒排索引文件是一种面向单词的索引机制,每个文件都可以用一系列关键字来表 示。一个倒排索引主要由词汇表(也叫索引项)和事件表(也叫文件链表)这两部分组成。词 汇表是用来存放分词词典的,通常称存放词汇表的文件为索引文件;事件表是用来存放这 个文件中对应词汇表中词汇出现的位置和次数的,通常称存放出现位置的文件为位置文 件。
[0039]下面举例说明建立Inverted file的方法,例如经过处理后得到三个文本中的关 键字:
[0040]文章I: [i][am][student][i][come][chengdu]
[0041 ]文章2: [my] [father] [is] [teacher] [i] [am] [student]
[0042] 文章3: [chengdu] [is] [my] [hometown] [my] [father] [hometown] [is] [wuhan]
[0043] 上面的对应关系是顺排的,8卩"文章号4关键字",倒排处理为"关键字4文章号"。 文章1、2、3经过倒排后变成如表1所示:
[0044] 表1倒排文件索引方式
[0046] 这样存储的方式有利于后期的检索时速度的提升。
[0047] 5 .TF、IDF 的确定
[0048] TF_IDF(term frequency-inverse document frequency)是一种用于资讯检索与 资讯探勘的常用加权技术。TF-IDF的主要思想是:如果一个单词在某一文本中出现的频率 较高,但在其他的文本中出现的频率很低,可以将该单词作为区分本文的重要单词,即赋予 它更高的权重。另一方面,如果单词在某一文本中出现的频率很高,但在其他文本中出现的 频率仍然很高,则该单词的区分度不高。TF词频(Term Frequency),表示单词在文本中出现 的频率,IDF逆向文件频率(Inverse Document Frequency)表示出现某单词的文本占全部 文本的比例。经过上面的分析可知,某单词的TF越高,IDF越低,则其用于区分文本的区分度 越高。某单词i在文本i中的TF表示为TF i, i,则有:
[0049]
[0050]
[0051]
[0052] 其中IDl:语料库中的文件总数
[0053] 最后计算TF,IDF的乘积,即:
[0054] TFIDFi,j = TFi,jXIDFi
[0055] 在计算相似度时,需要考虑能够匹配上的点的TF-IDF,以提高度量函数的准确性 和合理性。因此在Inverted file的存储时需要考虑某一单词出现的文本序号,以及在该文 本中出现的次数,对于步骤4中的例子,Inverted File应该表示为:
[0056] 表2增加TF-IDF信息的倒排文件索引方式

[0059] 因此,TF等于[]中的数字,IDF等于该单词出现的文章数和总文章数的比值。对于 图片库来说,还需要在具体的每一项中添加位置信息。
[0060] 表3图片库中的Inverted FiIe的格式
[0062] 6.相似度的度量
[0063] 1)、对图片库中的每张图片的score置为0;
[0064] 2)、对于待检索图片中的包含的每一个单词j,查找Inverted file中包含该单词 的图片,对于列表中的每张图片存储类别相同的点的坐标,即为每张图片存储一张记录匹 配点位置坐标信息的表。
[0065] 3)、对于图片i,取3的组合,计算原图中三点构成三角形和图片i中构成三角形是 否相似,如果在一定的阈值范围内可以认定为相似,如图2所示,我们使用下面的公式增加 该张图片的徨令.
[0066]
[0067] 10?^」1、10?。2、10?^分别表示这三个点的10?。当遍历了待检索图片中的所有 SIFT点后,每张图片的S cor e就被确定下来了。
[0068] 4)、由于每张图片中提取到的SIFT点的数量不同,需要进行归一化,SP :
[0069]
[0070]其中I |q| I表示待检索图片中的特征向量的L2范数,I IcUl I表示图片库中第i张图 片的特征向量的1^范数。
[0071] 5)、最后根据得分的高低进行排列,得分越高说明该图片与待检索的图片越相似。
[0072] 提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本 发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修 改,均应涵盖在本发明的范围之内。
【主权项】
1. 一种基于改进BOW算法的相似图片捜索方法,其特征在于:该方法包括如下步骤: 步骤(1)、对大规模图片库中的每张图片进行SIFT特征点的提取,并记录各自的位置坐 标; 步骤(2)、对步骤(1)得到的SIFT点进行k-means聚类,得到一定数量的聚类中屯、,即字 典,聚类中屯、的数量由图片集和提取到的SIFT点的数量确定,使用改进的k-means算法AKM 算法,W牺牲少量计算精度的代价极大的提高了计算的速度; 步骤(3)、将图片库中每张图片中提取到的SIFT点量化到步骤(2)中的聚类中屯、,运里 为了提高速度,使用近似最近邻的聚类算法,在保证精度的情况下极大地提高量化的速度, 运样每张图片可W使用一个由量化结果组成的高维向量表示,W字典中的单词即聚类中屯、 为索引,记录包含该单词的图片和该SIFT点的位置坐标,即生成一个Inveded File; 步骤(4)、对于待检索图片提取该章图片中的SIFT点,并且根据步骤(2)中的聚类中屯、 进行量化,运样待检索图片也使用一个高维的向量进行表示; 步骤(5)、对待检索图片和图片库中的图片计算属于同一类别的SIFT点即量化到同一 个聚类中屯、的SIFT点的数量; 步骤(6)、对于属于同一类别的SIFT点取任意的Ξ点进行组合,并计算运两张图片中的 Ξ点组成的Ξ角形的相似性,对于满足一定阔值的运Ξ个SIFT点,在度量函数中加上相应 的得分,否则不计分; 步骤(7)、对最后的得分进行排序,得分越高表示待检索图片和图片库的该张图片越相 似,并返回结果。2. 根据权利要求1所述的基于改进BOW算法的相似图片检索方法,其特征在于:所述步 骤(6)中改进算法中对两张图片的相似性的判别规则如下: 首先记录下两张图片A和B中属于同一类别的SIFT点的坐标,假设有N点,在N个点任意 取Ξ个点组成一个Ξ角形,计算A中的Ξ角形和B中的Ξ角形的相似性,并且保证A、B中相同 类别的点作为Ξ角形的顶角时角度的一致性,只有在满足W上条件的基础上,才判定Ξ角 形的Ξ个顶点属于有效匹配,否则属于无效的匹配,不记入最终的相似度度量函数。3. 根据权利要求1所述的基于改进BOW算法的相似图片检索方法,其特征在于:所述步 骤(6)中具体步骤如下: 步骤1)、对图片库中的每张图片的score置为0; 步骤2)、对于待检索图片中的包含的每一个单词j,查找Inveded file中包含该单词 的图片,对于列表中的每张图片存储类别相同的点的坐标,即为每张图片存储一张记录匹 配点位置坐标信息的表; 步骤3)、对于图片i,取3的组合,计算原图中Ξ点构成Ξ角形和图片i中构成Ξ角形是 否相似,如果在一定的阔值范围内可W认定为相似,使用下面的公式增加该张图片的得分: 化' (/)+ = /々巧。+议巧。+ /公巧口 IDFi,ji、IDFi,j2、IDFij3分别表示运Ξ个点的IDF,当遍历了待检索图片中的所有SIFT点 后,每张图片的score就被确定下来了; 步骤4)、由于每张图片中提取到的SIFT点的数量不同,需要进行归一化,即:其中Μ q||表示待检索图片中的特征向量的L2范数,Μ dill表示图片库中第i张图片的 特征向量的L2范数; 步骤5)、最后根据得分的高低进行排列,得分越高说明该图片与待检索的图片越相似。
【文档编号】G06K9/62GK105843925SQ201610180016
【公开日】2016年8月10日
【申请日】2016年3月23日
【发明人】凌强, 赵敏达, 李峰
【申请人】中国科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1