CN104484671A - 应用于移动平台的目标检索系统 - Google Patents
应用于移动平台的目标检索系统 Download PDFInfo
- Publication number
- CN104484671A CN104484671A CN201410616920.6A CN201410616920A CN104484671A CN 104484671 A CN104484671 A CN 104484671A CN 201410616920 A CN201410616920 A CN 201410616920A CN 104484671 A CN104484671 A CN 104484671A
- Authority
- CN
- China
- Prior art keywords
- image
- gained
- width
- conspicuousness
- images
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Library & Information Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种应用于移动平台的目标检索系统,属于图像处理领域。本发明的目的是提供一种应用于移动平台的分级显著性信息的方法,不仅能提高显著区域内特征的辨别力,同时也保留非显著区域内检索内容的应用于移动平台的目标检索系统。本发明的步骤是:服务器中图像库图像预先处理,根据基于图论的显著性模型与二维最大熵法则提取分级显著性区域,使用词袋模型生成带有显著性标签的全局直方图,计算查询图像的SIFT特征,再使用词袋模型生成全局直方图,记录距离最近的前1000幅检索图像序号,最后将最终的检索结果的前10幅图像返回给移动端,并显示出来。本发明是一种较快有效的移动视觉搜索系统,它能更加鲁棒地检测错误匹配。
Description
技术领域
本发明属于图像处理领域。
背景技术
近几年,在移动计算平台实现PC机上运行的视觉应用成为研究者和使用者的关注点,使用配备相机的手机启动有关视觉目标的搜索查询被称为基于移动平台的目标检索。
其在查询电影、光盘(CD)、印刷媒体、识别周围建筑物、艺术品等方面有广泛的应用。在该项技术中,图像间特征误匹配的检测是影响检索性能的重要因素,因此如何利用计算特征间几何变换关系优化候选结果,是这项技术的核心。
基于移动平台的目标检索主要是指拍摄的目标图像与图像库中所有图像进行相似性比较,由于图像库中图像在在色调、光照、尺度、旋转和遮挡等方面有些不同,这使得在大规模图像库下检索相似图片变得十分困难。为解决这一问题,学界通过提取与检索目标相关并且在图像中显著的视觉内容,提出了基于显著性信息的检索方法提高检索性能,同时提出了许多基于局部特征和词袋模型结合的方法来处理相似问题,首先使用显著区域内的尺度不变特征变换(SIFT)来检测和描述图像的局部特征,然后使用词袋模型(Bag of Words, BoW)建立视觉索引,之后根据索引进行图像间的特征点匹配对,最后根据匹配情况计算查询图像与图像库图像之间的相似度并根据排序输出检索结果。
目前基于显著性模型的图像检索方法通常只检测单独的显著性区域,即使单独显著性区域的查询图像可以过滤冗余的匹配特征,但是当检索目标在非显著区域中,目前的方法将忽略一些检索信息,影响检索性能。
词袋模型的使用,极大减少了SIFT特征耗时的匹配过程,但是也引入了一些错误匹配点对,这使检索结果与真实情况存在差异。为解决这一问题,人们提出了很多使用几何先验信息来验证匹配是否错误的方法,具体分为局部和全局一致性假设两类。
[0005] 第一类方法主要使用局部几何一致性假设,这类方法都是基于一个相似变换的模型: 。其中,和代表第i个特征点在两幅图像中的坐标,s和分别是两幅图像间的缩放尺度和旋转角度,他们是由两幅图像各自SIFT特征点的尺度和主方向计算得到的,具体为:,。在此模型基础上,Herve Jegou等人[1]提出了弱几何一致性(WGC),利用所有特征点计算出的s和值的统计分布来去除错误匹配对;WanLei Zhao等人[2]改进了WGC,提出了加强弱几何一致性(EWGC)的方法,它利用平移量模长的统计分布来去除错误匹配对;Hongtao Xie等人[3]提出局部几何一致性(LGC)的方法,利用了局部区域形变相似的特点,在其中考虑了匹配特征相邻区域特征点的信息,精确计算了匹配特征间的变换矩阵来去除错误匹配对。
第二类方法则希望利用全局的几何一致性假设来检测并去除错误匹配对,这类方法会对一幅图像上的所有特征点进行统一的验证,这样做可以拟补局部几何一直性方法在处理跨局部区域间一致性时的不足。J.Philbin等人[4]提出应用经典的随机抽样一致性(RANSAC)算法处理透视变换模型下的错误匹配检测的问题,但是使用RANSAC会导致计算上较大的耗时,故不适合大尺度的检索问题。全局方法的特点是检测效果较好,能够适应更复杂的几何变换模型,缺点是耗时过大不利于大尺度下的检索这一应用背景。因此Sam S. Tsai等人[5]了提出了几何位置相似得分(LGSS)的方法,仅使用特征点的位置信息计算距离比来度量几何相似性,设计了一个快速有效的移动视觉搜索系统,由于仅用两点编码方法验证特征的几何关系,匹配特征出现错误的概率较大一些。
发明内容
本发明的目的是提供一种应用于移动平台的分级显著性信息的方法,不仅能提高显著区域内特征的辨别力,同时也保留非显著区域内检索内容的应用于移动平台的目标检索系统。
本发明的步骤是:
a、服务器中图像库图像预先处理:使用尺度不变特征变换计算图像库每幅图像的SIFT特征;
b、根据基于图论的显著性模型与二维最大熵法则提取分级显著性区域:
①采用基于图论的显著性模型计算图像库每幅图像的显著图;
②根据二维最大熵法则计算步骤①所得显著图的分割阈值,提取显著区域与非显著区域;
③将非显著区域的图像视为处理图像,重复步骤①和步骤②,再次提取处理图像中的显著区域与非显著区域;
④多次重复步骤①,步骤②,和步骤③,并按重复步骤次数定义显著性区域的显著性强弱级别:l-level,最后去除最不显著区域;
c、通过步骤a所得SIFT特征的位置信息与步骤b所得分级显著性区域的关系定义SIFT特征的显著性标签l-level,并使用词袋模型生成带有显著性标签的全局直方图;
d、在移动端提取查询目标,并使用尺度不变特征变换计算查询图像的SIFT特征;
e、将步骤d所得图像SIFT特征的描述符与位置信息传递给服务器,并使用词袋模型生成全局直方图;
f、对步骤c 3与步骤e 所得全局直方图用最优距离度量进行相似性匹配,记录距离最近的前1000幅检索图像序号;
g、根据步骤e所得查询图像位置信息与步骤c中前1000幅检索图像的位置信息和显著性标签l-level,使用分级空间位置几何验证方法对前1000幅检索图像计算几何得分重并新排序,得到最终的检索结果;
①根据查询图像的SIFT特征 与前1000幅检索图像中每幅的SIFT特征是否同时量化为相同视觉词,寻找查询图像与每幅检索图像的匹配特征对,其中和分别是查询图像与检索图像的特征;
②根据步骤c所得的显著性标签l-level,将步骤g的第①步所得的匹配特征对进行分组,并分别计算各组的几何得分,如下:
根据每组匹配特征对中查询图像位置信息与前1000幅检索图像的位置信息,计算几何得分;如果匹配特征点的数量小于三个,几何得分定义为0;否则,枚举所有三点的组合并做其任意角度量化:, 其中是两个特征点间的欧氏距离;
计算角度余弦值的比率;
其中,当分式的分母为0时,有两种特殊情况,如果分子分母同时为0,视为1,否则视为0;
定义一个阈值为0.1,通过查询图像与检索图像中每组匹配特征构成相应角度的相似度,计算其相似角的对边比率的对数:
,其中 表示查询图像与检索图像中每组匹配特征构成相应角度的相似关系;
构建所得对边比率对数集合的直方图:
,其中,表示指标函数,Z指对边比率对数集合,是直方图数组的下标,是数组相邻下标之间的间隔,表示直方图数组中第个下标的数值。
所得直方图的最大值得出几何得分:;
③得到各组的几何得分后,定义一个分级显著区域的显著性匹配得分方法:,其中l指步骤b第③步所重复步骤的总数,level表示步骤c所得的第level个显著区域;
④根据各组的几何得分融合分级显著区域的显著性匹配得分方法,计算最终的几何得分:,其中指的是第level个显著区域内的几何得分;
h、最后将最终的检索结果的前10幅图像返回给移动端,并显示出来。
本发明的优点:
1.本发明对于只检测单独显著性区域的查询图像忽略了检索目标在非显著区域中的检索信息的缺点,提出了分级显著性信息的方法,不仅能提高显著区域内特征的辨别力,同时也保留非显著区域内的检索内容;通过去除最不显著区域内的特征,减少了几何验证阶段特征的数量,降低了几何验证阶段的计算时间。
2.本发明是一种较快有效的移动视觉搜索系统,它能更加鲁棒地检测错误匹配;本发明不仅非常简单,而且具有较强的理论背景,本发明仅使用特征的坐标作为唯一输入信息(其他方法均使用了额外信息,如SIFT特征点的主方向及尺度信息),使用移动端与服务器的通信简单,并且能从理论角度证明可以处理造成检索图像与目标图像差异的相似性,处理效率很高,计算时间较其他全局几何验证方法快,与局部几何一致性方法的耗时也较有竞争力。
附图说明
图1是本发明是发明操作流程示意图;
图2是本发明业界最优方法的平均检索精确度(mAP)比较;
图3是本发明业界最优方法的平均检索时间比较;
图4是本发明及业界最优方法在检索单幅图像时的检索结果;
图5是移动目标检索框架;
图6是图像对应的直方图样例。
具体实施方式
本发明的步骤是:
a、服务器中图像库图像预先处理:使用尺度不变特征变换计算图像库每幅图像的SIFT特征;
b、根据基于图论的显著性模型与二维最大熵法则提取分级显著性区域:
①采用基于图论的显著性模型计算图像库每幅图像的显著图;
②根据二维最大熵法则计算步骤①所得显著图的分割阈值,提取显著区域与非显著区域;
③将非显著区域的图像视为处理图像,重复步骤①和步骤②,再次提取处理图像中的显著区域与非显著区域;
④多次重复步骤①,步骤②,和步骤③,并按重复步骤次数定义显著性区域的显著性强弱级别:l-level,最后去除最不显著区域;
c、通过步骤a所得SIFT特征的位置信息与步骤b所得分级显著性区域的关系定义SIFT特征的显著性标签l-level,并使用词袋模型生成带有显著性标签的全局直方图;
d、在移动端提取查询目标,并使用尺度不变特征变换计算查询图像的SIFT特征;
e、将步骤d所得图像SIFT特征的描述符与位置信息传递给服务器,并使用词袋模型生成全局直方图;
f、对步骤c 3与步骤e 所得全局直方图用最优距离度量进行相似性匹配,记录距离最近的前1000幅检索图像序号;
g、根据步骤e所得查询图像位置信息与步骤c中前1000幅检索图像的位置信息和显著性标签l-level,使用分级空间位置几何验证方法对前1000幅检索图像计算几何得分重并新排序,得到最终的检索结果;
①根据查询图像的SIFT特征 与前1000幅检索图像中每幅的SIFT特征是否同时量化为相同视觉词,寻找查询图像与每幅检索图像的匹配特征对,其中和分别是查询图像与检索图像的特征;
②根据步骤c所得的显著性标签l-level,将步骤g的第①步所得的匹配特征对进行分组,并分别计算各组的几何得分,如下:
根据每组匹配特征对中查询图像位置信息与前1000幅检索图像的位置信息,计算几何得分;如果匹配特征点的数量小于三个,几何得分定义为0;否则,枚举所有三点的组合并做其任意角度量化:, 其中是两个特征点间的欧氏距离;
计算角度余弦值的比率;
其中,当分式的分母为0时,有两种特殊情况,如果分子分母同时为0,视为1,否则视为0;
定义一个阈值为0.1,通过查询图像与检索图像中每组匹配特征构成相应角度的相似度,计算其相似角的对边比率的对数:
,其中 表示查询图像与检索图像中每组匹配特征构成相应角度的相似关系;
构建所得对边比率对数集合的直方图:
,其中,表示指标函数,Z指对边比率对数集合,是直方图数组的下标,是数组相邻下标之间的间隔,表示直方图数组中第个下标的数值。
所得直方图的最大值得出几何得分:;
③得到各组的几何得分后,定义一个分级显著区域的显著性匹配得分方法:,其中l指步骤b第③步所重复步骤的总数,level表示步骤c所得的第level个显著区域;
④根据各组的几何得分融合分级显著区域的显著性匹配得分方法,计算最终的几何得分:,其中指的是第level个显著区域内的几何得分;
h、最后将最终的检索结果的前10幅图像返回给移动端,并显示出来。
以下结合附图对本发明做进一步详细说明:
本发明提出了分级显著性信息的方法,不仅能提高显著区域内特征的辨别力,同时也保留非显著区域内的检索内容;通过去除最不显著区域内的特征,减少了几何验证阶段特征的数量,降低了几何验证阶段的计算时间。
应用于移动平台的目标检索系统的主要原理是:利用移动手机拍摄到的查询目标与服务器图像库中每幅查询图像进行比较,把图像库中的图像按照与查询目标相似程度进行排序,并把最相似的几幅图像显示在移动手机的显示屏中。
包括如下步骤:
步骤1:首先,服务器中图像库图像预先处理:使用一些关键的特征点来表示一幅图像。这里我们使用尺度不变特征(即SIFT特征,一种流行的图像表示特征)。一个尺度不变特征,用一个尺度不变特征点来表示,其包含的信息有:特征点的描述符(128个浮点数组成)、特征点的位置信息(所处图像那个位置,一般用横纵坐标表示)、特征点的尺度、特征点的方向)。
步骤2:根据基于图论的显著性模型与二维最大熵法则提取分级显著性区域。即分出主要区域,次要区域等。图像主要区域相似度给予大的权重,次要区域给予小的权重。
步骤2.1:采用基于图论的显著性模型计算图像库每幅图像的显著图(图像的灰度值)。
步骤2.2:对图像中每个点的灰度值采用二维最大熵法则计算步骤2.1所得显著图的分割阈值,保留大于分割阈值的灰度值并定义这些区域为显著区域,图像中其它区域定义为非显著区域。
步骤2.3:将非显著区域的图像视为处理图像,重复步骤2.1和步骤2.2,再次提取处理图像中的显著区域与非显著区域。
步骤2.4:多次重复步骤2.1,步骤2.2,和步骤2.3,并按重复步骤次数定义显著性区域的显著性强弱级别: 1-level ,2-level ,...,l-level,最后去除最不显著区域。
步骤3:通过步骤1所得SIFT特征的位置信息,查找SIFT特征点落入步骤2所得分级显著区域的关系,定义SIFT特征点的显著性标签1-level ,2-level ,...,l-level。并使用词袋模型生成带有显著性标签的全局直方图(大小为1*10 5数组,索引对应的值即为直方图对应柱子的高度),每幅图像都用这个全局直方图表示。
词袋模型具体执行方案:根据图像库中所有图像的所有SIFT特征点的描述符使用分层k-means聚类方法,把SIFT特征点描述符分成105类(每一类的中心都用128个浮点数表示,和SIFT描述符形式一致),然后构建一个有1*105个柱子的直方图(柱子的高度表示落在对应聚类中心的点的个数)。具体过程是:通过计算每幅图像的SIFT描述符与聚类中心的欧式距离,将该点放入直方图中与其距离最小的聚类中心对应的柱子中。(全局直方图的有105个柱子,代表105个视觉单词,每个柱子的高度代表落入该聚类中心的SIFT特征点的个数)。
步骤4:在移动端提取查询目标,并使用尺度不变特征变换计算查询图像的SIFT特征。
步骤5:将步骤4所得图像SIFT特征的描述符与位置信息传递给服务器,然后根据这些SIFT描述符,使用该词袋模型同样生成一个全局直方图(1*105的数组)。
步骤6:对步骤3与步骤5所得全局直方图用最优距离度量进行相似性匹配,记录距离最近的前1000幅检索图像序号。
步骤7:根据步骤5所得查询图像位置信息与步骤3中前1000幅检索图像的位置信息和显著性标签1-level ,2-level ,...,l-level,使用分级空间位置几何验证方法对前1000幅检索图像计算几何得分重并新排序,得到最终的检索结果。(本专利使用的几何验证算法计算查询图像与检索图像的所有匹配特征对中,构成相似三角形的数量,数量月多,图像越相关。这里利用相似三角形的原则,计算其中一角是否相等,最后计算对边是否成比例)
步骤7.1: 首先,根据查询图像的SIFT特征,这里用表示与前1000幅检索图像中每幅的SIFT特征用表示,根据他们是否同时落入同一个聚类中心,定义为匹配特征。寻找查询图像与每幅检索图像的匹配特征对,其中和分别是查询图像与检索图像的特征。
步骤7.2:其次,根据步骤3所得的显著性标签1-level ,2-level ,...,l-level,将将具有相同的显著性标签的匹配特征对归为一组,并分别计算各组的几何得分,如下:
步骤7.2.1:根据每组匹配特征对中查询图像位置信息与前1000幅检索图像的位置信息,计算几何得分。如果匹配特征点的数量小于三个,几何得分定义为0。否则,枚举所有三点的组合并做其任意角度量化: , 其中是两个特征点间的欧氏距离。(这个公式是计算三角形一个角度的余弦值)
步骤7.2.2:其次,计算角度余弦值的比率。
其中,当分式的分母为0时,有两种特殊情况,如果分子分母同时为0,视为1,否则视为0。
步骤7.2.3: 定义一个阈值为0.1,通过查询图像与检索图像中每组匹配特征构成相应角度的相似度,计算其相似角的对边比率的对数:
,其中 表示查询图像与检索图像中每组匹配特征构成相应角度的相似关系。
步骤7.2.4:此时,构建步骤7.2.3所得对边比率对数集合的直方图:
,其中,表示指标函数,Z指步骤7.2.3所得对边比率对数集合,是直方图数组的下标,是数组相邻下标之间的间隔,表示直方图数组中第个下标的数值。(此步骤是构成直方图的方法,含义是根据直方图的最大值代表匹配特征对包含相似三角形的最多数量,即几何得分)
步骤7.2.5:根据步骤7.2.4所得直方图的最大值得出几何得分:。
步骤7.3得到各组的几何得分后,定义一个分级显著区域的显著性匹配得分方法:,其中l指步骤2.3所重复步骤的总数,level表示步骤3所得的第level个显著区域。
步骤7.4:最后,根据各组的几何得分融合分级显著区域的显著性匹配得分方法,计算最终的几何得分:,其中指的是第level个显著区域内的几何得分。
步骤8:最后将最终的检索结果的排序返回给移动端,移动端根据排序生成对应图片的url,从而获得图片并显示出来。
实例:
首先,对于实施步骤说明中的一些概念进行解释。
1.客户端应用程序:一个运行在Andoird系统上的应用程序,作为我们的客户端和用户界面。
2.SIFT:Scale-invariant feature transform,尺度不变特征转换,是用于图像处理领域的一种描述子。这种描述具有尺度不变性,可在图像中检测出关键点,是一种局部特征描述子。
3.OpenCv:Open Source Computer Vision Library,是一个跨平台的计算机视觉库。OpenCv是由英特尔公司发起并参与开发,以BSD许可证授权发型,可以在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序。OpenCv库及文档可以在OpenCv的官网:opencv.org上获得。
4.SIFT特征点:在尺度不变特征转换之中获得的一种图像上的兴趣点。这些点是在图像的尺度空间之中通过高斯微分函数检测出来的,其对于尺度和旋转具有不变性,是一种能够很好表现图像特性的特征点。
5.SIFT描述符:以SIFT特征点为中心取16×16的邻域作为采样窗口,将采样点与特征点的相对方向通过高斯加权后归入包含8个格子的方向直方图,最后每一个特征点获得4×4×8的128维特征描述符。
6.SD卡:Secure Digital Memory Card,安全数码卡,是一种基于半导体闪存工艺的存储卡。它被广泛地于便携式装置上使用,例如数码相机、个人数码助理(外语缩写PDA)和多媒体播放器等。
7.管道:管道是计算机之中进程通信的一种通信机制。通过管道,可以实现把一个程序的输出直接送入另一个进程的输入,就像一条管子。
8.分级Kmeans聚类:聚类就是将相似的SIFT描述符分别分成不同类别的过程。Kmeans聚类就是将SIFT描述符分成K个类,并且获得这K个类的中心,成为聚类中心。分级Kmeans聚类是一种Kmeans聚类算法,其可获得一个具有层次的分类,像一颗倒了的树。分级Kmeans可以得到一个从粗略到细致的分类,每一层的聚类中心的个数是上一层的聚类中心个数乘以分支数量。最细致的一层有K个聚类中心。
9.词汇树:通过分级Kmeans聚类得出来的聚类中心的总称。其具有层次结构,每一层聚类中心代表了对SIFT描述符的一个分类。
10.倒排索引结构:我们对于每一幅图像都有一个直方图表示,这些直方图的格子数量一样,但是每个格子的高度不一样。倒排索引结构是这样一个结构,其在每一个格子上建立一个存储结构,存储的是在这个格子上高度不为0的图片直方图的图片名、该图片属于这个格子的特征点信息以及在这个格子上的高度。通过倒排索引结构,可以很方便地找到在一个格子上存在有效高度的图片。
一、移动客户端
1. 首先,客户端应用程序以拍照或选取本地图片的方式,获得一幅图片。这幅图片即为检索图片,我们的目的是要搜索出与这幅图片具有相似信息的图片。
2. 提取图片的SIFT特征点(描述符,位置信息)。SIFT特征点是可以表征这幅图片关键信息的关键点,其描述符描述的是对应特征点及其邻域的信息。我们通过使用Java 原生接口的方式,调用基于OpenCv实现的SIFT特征点和描述符提取的C++代码,实现对检索图片的SIFT特征点和描述符的提取。
3. 把SIFT特征点和描述符信息,以xml文件的形式存入SD卡的对应目录里之中。xml是指可扩展标记语言,是各种应用程序之间进行数据传输的最常用的工具。
4. 客户端应用程序以html文件表单的形式,将查询图像的SIFT特征点和描述符的xml文件,上传到服务器。
5. 客户端应用程序,等待服务器处理结束,接收服务器返回的结果文件附件,并将其存储在SD卡上。结果文件是一个文本文件,里边存放的是结果图像的文件名序列。这个图像文件名序列,是按照和检索图像的相似度从大到小进行排列的。
6. 客户端应用程序根据图片文件名生成对应图片的url,访问服务器获得对应图片,显示在屏幕上。根据结果文件中的文件名序列进行显示,即按照图片的相似度从大到小进行显示。
二、服务器端
1. PHP服务器收到文件表单上传请求,把查询图像的SFIT特征点和描述符的xml文件,存入一个指定的目录之中。这个PHP页面,就是专门处理SIFT特征点和描述符文件的表单上传请求的。
2. PHP服务器通过管道向EXE后台处理程序发送SIFT特征点(描述符,位置信息)文件的路径。
3. EXE程序从管道读取SIFT特征点(描述符,位置信息)文件的路径,从而通过这个路径获得检索图像的SIFT特征点和描述符信息。
4. EXE程序利用检索图像的SIFT特征点(描述符,位置信息),进行图像检索处理,以及后验证排序处理,得到一个以图像相似度从大到小进行排序的图片文件名序列,并将这个序列以文本文件的形式存入指定目录之中。
5. EXE通过管道向PHP服务器发送结果文件路径。
6. PHP服务器根据结果文件路径,将结果文件以附件的形式发送给移动客户端应用程序。
服务器端的图像检索过程包括训练和检索两个过程。
三、训练过程实施步骤
1. 首先获得图像数据集中每一幅图像的SIFT特征点和描述符。
2. 对于数据集中所有图像的描述符构成的集合,使用分级Kmeans聚类的方法进行聚类,从而获得一个词汇树。
3. 对于数据集中的每一幅图像,利用词汇树对其特征点和描述符进行量化,从而获得对应的直方图表示,如图6所示。
4. 在生成每一幅图像直方图的时候,同时生成所有图像直方图的倒排索引结构。生成一幅图像的直方图后,遍历直方图的每个格子,若一个格子上的值不为0,则在这个倒排索引结构的这个格子对应的索引下,加入一个键值对。这个键值对是以图片文件名为键,这个格子上的高度为值。这样处理完数据集中所有的图片之后,就能在一个直方图格子对应的索引之下,找到在这个格子上的值不为0的所有图片以及其在这个格子上的值。
5. 将词汇树和倒排索引结构存到磁盘上,完成训练过程。
四、检索过程实施步骤
1. 首先读入检索图像库的词汇树和倒排索引结构,完成初始化工作。
2. 等待检索请求,获得查询图像的SIFT特征点(描述符,位置信息)。
3. 根据查询图像的SIFT特征点的描述符,利用词汇树生成检索图像的直方图表示。
4. 在倒排索引结构上,遍历查询图像直方图上不为0的格子对应的索引项,将此项中不为0的图片名加入结果集。即至少要与检索图像有一丝相似性的图片才会被加入结果集。
5. 在倒排索引的每一个索引项上,遍历存在与结果集中的图片名,计算在这个格子上与检索图像的相似得分,并进行累加。这样遍历完之后,就能获得相似图片集及其相似得分。
6. 对相似图片集按照相似性从大到小进行排序,然后使用后验证算法,对这个序列进行重排,从而获得最终的图片相似性序列。
五、开发环境配置说明
Android平台开发环境配置
1.安装JDK(Java Development Kit)。
因为Android上的应用程序,主要是使用Java来编写的,所以需要安装Java软件开发工具包。JDK安装包可以在Oracle的网站:http://www.oracle.com/technetwork/java/javase/downloads/index.html 上下载得到。
2.安装Android SDK(Android Software Development Kit)。
Google提供的软件开发工具包,在Android上进行应用程序开发必不可少的一个工具包。我们可以从Android开发者网站上下载得到Android SDK:http://developer.android.com/index.html。
现在的SDK之中已经包含了一个集成了ADT等开发必要插件的Eclipse,所以下载安装好Android SDK并更新好对应Android版本的库之后,就可以进行Android应用程序的开发了。
3.Android NDK(Android Native Development Kit)开发环境搭建。
因为要在Android应用程序中使用C++代码去调用OpenCv库,所以需要配置Android NDK,以对C++代码进行编译连接等操作。
在Windows下进行Android NDK开发环境搭建的步骤如下:
(1)下载安装Android NDK。
NDK下载地址:https://dl.google.com/android/ndk/android-ndk-r9b-windows-x86.zip
下载完成后解压到一个指定目录即可。
(2)下载安装cygwin。
由于NDK编译代码时必须要用到make和gcc,所以我们必须先搭建一个linux环境。cygwin是一个在windows上运行的unix模拟环境,通过它我们就可以在windows下使用NDK来编译C++代码了。
cygwin官网:http://www.cygwin.com/,从官网上下载setup.exe。
运行这个安装向导,点击下一步,会出现选择安装方式的界面。
(a)Install from Internet:直接从Internet上下载并立即安装(安装完成后,下载好的安装文件并不会被删除,而是仍然被保留,以便下次再安装)。
(b)Download Without Installing:只是将安装文件下载到本地,但暂时不安装。
(c)Install from Local Directory:不下载安装文件,直接从本地某个含有安装文件的目录进行安装。
建议先选第二项,把安装文件先下载下来然后再安装。
接下来是选择安装目录,安装目录的路径之中最好不要有中文或者空格。
按照提示说明一直点下一步,到选择安装包的界面。后面开发NDK用得着的包有:autoconf2.1、automake1.10、binutils、gcc-core、gcc- g++、gcc4-core、gcc4-g++、gdb、pcre、pcre-devel、gawk、make这12个包。修改一下默认安装包列表,把Devel和Shells的选项从Default改成Install即可达到要求。
安装完成之后,运行cygwin,在弹出的命令行窗口输入:cygcheck -c cygwin命令,会打印出当前cygwin的版本和运行状态,如果status是ok的话,则cygwin运行正常。
(3)配置NDK环境变量
在windows之中,给path环境变量添加上NDK的目录。
到cygwin的安装目录,找到一个home\<用户名>\.bash_profile文件。(如果安装的时候home文件夹下什么的没有,则一个解决办法是:打开环境变量,把里面的用户变量中的HOME变量删掉,在\cygwin\home文件夹下建立名为用户名的问价家,然后把\cygwin\etc\skel\.bash_profile拷贝到该文件夹下。)
打开.bash_profile文件,添加
NDK=/cygdrive/<盘符>/<android ndk 目录>
export NDK
NDK这个名字是随意取的,也可以使用其他名字。保存退出。
打开cygwin,输入cd $NDK,如果进入了NDK的目录,则说明配置成功了,可以在命令行中以 "$NDK/ndk-build" 这种形式调用NDK对C++代码进行编译了。
(4)在eclipse中集成C++开发环境,配置C++编译器。
首先安装CDT,一个eclipse中的C++组件,可到 http://www.eclipse.org/cdt/downloads.php 找到对应版本的CDT插件。
在eclipsewindowsPreferencesAndroidNDK的界面之中,设置NDK Location为NDK路径,即包含ndk-build.cmd的目录。
新建一个普通的Android Project,然后右键点击这个工程,选择AndroidtoolsAdd Native Support即可实现添加C++支持。
4.Android平台使用OpenCV的配置。
首先,下载OpenCV的sdk,可以从OpenCv的官网:http://opencv.org/ 上获得。将sdk解压到工作空间之中,然后在Eclipse中使用import的方式导入OpenCV库。
在需要使用OpenCV库的Android工程上,调出其属性面板,在Android选项上添加OpenCv库支持。
在/jni/Android.mk之中加入包含OpenCV SDK中OpenCV.mk文件的语句。
然后以一定格式分别在.java文件中写函数接口,在.cpp中写函数实现,就可以达成通过C++代码调用OpenCv库的目的了。
六、服务器开发环境配置
1.PHP服务器
PHP服务器使用的是WampServer这个集成了各个组件的服务器。WAMP,即Windows下的Apache+Mysql/MariaDB+Perl/PHP/Python。可以从其官网:http://www.wampserver.com/en/ 上下载。
选定一个目录进行安装就可以,其安装目录下的www文件夹,即为PHP服务的工作目录,我们写的PHP页面就放在这个目录下。安装完有一点需要注意的是,WampServer默认是不允许本机之外访问的,需要把Apachehttpd.conf之中的Deny from all 改成Allow from all。
2.Win32/Win64程序开发环境
使用Visual Studio系列的编译器,可从微软的网站上下载和购买。
在使用OpenCv库上,只要把包含文件目录、库目录、可执行文件目录加入到VS工作空间之中,就能够顺利编译。把可执行文件目录加入Window的path环境变量之中,程序就能够顺利运行。
Claims (1)
1.一种应用于移动平台的目标检索系统,其特征在于:其步骤是:
a、服务器中图像库图像预先处理:使用尺度不变特征变换计算图像库每幅图像的SIFT特征;
b、根据基于图论的显著性模型与二维最大熵法则提取分级显著性区域:
①采用基于图论的显著性模型计算图像库每幅图像的显著图;
②根据二维最大熵法则计算步骤①所得显著图的分割阈值,提取显著区域与非显著区域;
③将非显著区域的图像视为处理图像,重复步骤①和步骤②,再次提取处理图像中的显著区域与非显著区域;
④多次重复步骤①,步骤②,和步骤③,并按重复步骤次数定义显著性区域的显著性强弱级别:l-level,最后去除最不显著区域;
c、通过步骤a所得SIFT特征的位置信息与步骤b所得分级显著性区域的关系定义SIFT特征的显著性标签l-level,并使用词袋模型生成带有显著性标签的全局直方图;
d、在移动端提取查询目标,并使用尺度不变特征变换计算查询图像的SIFT特征;
e、将步骤d所得图像SIFT特征的描述符与位置信息传递给服务器,并使用词袋模型生成全局直方图;
f、对步骤c 3与步骤e 所得全局直方图用最优距离度量进行相似性匹配,记录距离最近的前1000幅检索图像序号;
g、根据步骤e所得查询图像位置信息与步骤c中前1000幅检索图像的位置信息和显著性标签l-level,使用分级空间位置几何验证方法对前1000幅检索图像计算几何得分重并新排序,得到最终的检索结果;
①根据查询图像的SIFT特征 与前1000幅检索图像中每幅的SIFT特征是否同时量化为相同视觉词,寻找查询图像与每幅检索图像的匹配特征对,其中和分别是查询图像与检索图像的特征;
②根据步骤c所得的显著性标签l-level,将步骤g的第①步所得的匹配特征对进行分组,并分别计算各组的几何得分,如下:
根据每组匹配特征对中查询图像位置信息与前1000幅检索图像的位置信息,计算几何得分;如果匹配特征点的数量小于三个,几何得分定义为0;否则,枚举所有三点的组合并做其任意角度量化:, 其中是两个特征点间的欧氏距离;
计算角度余弦值的比率;
其中,当分式的分母为0时,有两种特殊情况,如果分子分母同时为0,视为1,否则视为0;
定义一个阈值为0.1,通过查询图像与检索图像中每组匹配特征构成相应角度的相似度,计算其相似角的对边比率的对数:
,其中 表示查询图像与检索图像中每组匹配特征构成相应角度的相似关系;
构建所得对边比率对数集合的直方图:
,其中,表示指标函数,Z指对边比率对数集合,是直方图数组的下标,是数组相邻下标之间的间隔,表示直方图数组中第个下标的数值;
所得直方图的最大值得出几何得分:;
③得到各组的几何得分后,定义一个分级显著区域的显著性匹配得分方法:,其中l指步骤b第③步所重复步骤的总数,level表示步骤c所得的第level个显著区域;
④根据各组的几何得分融合分级显著区域的显著性匹配得分方法,计算最终的几何得分:,其中指的是第level个显著区域内的几何得分;
h、最后将最终的检索结果的前10幅图像返回给移动端,并显示出来。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410616920.6A CN104484671B (zh) | 2014-11-06 | 2014-11-06 | 应用于移动平台的目标检索系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410616920.6A CN104484671B (zh) | 2014-11-06 | 2014-11-06 | 应用于移动平台的目标检索系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104484671A true CN104484671A (zh) | 2015-04-01 |
CN104484671B CN104484671B (zh) | 2017-10-10 |
Family
ID=52759212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410616920.6A Active CN104484671B (zh) | 2014-11-06 | 2014-11-06 | 应用于移动平台的目标检索系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104484671B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104991954A (zh) * | 2015-07-20 | 2015-10-21 | 河海大学 | 基于图像搜索的购物搜索系统及其实现方法 |
CN105843925A (zh) * | 2016-03-23 | 2016-08-10 | 中国科学技术大学 | 一种基于改进bow算法的相似图片搜索方法 |
CN106874446A (zh) * | 2017-02-10 | 2017-06-20 | 深圳前海大造科技有限公司 | 一种基于磁盘的词汇树模型构建方法 |
CN106991431A (zh) * | 2017-03-03 | 2017-07-28 | 杭州电子科技大学 | 一种局部特征点匹配对的后验证方法 |
CN107358266A (zh) * | 2017-07-17 | 2017-11-17 | 陈剑桃 | 一种具有识别功能的移动终端 |
CN108334590A (zh) * | 2018-01-30 | 2018-07-27 | 吴雨潞 | 一种信息检索系统 |
CN108985380A (zh) * | 2018-07-25 | 2018-12-11 | 西南交通大学 | 一种基于聚类集成的转辙机故障识别方法 |
CN110932265A (zh) * | 2019-12-06 | 2020-03-27 | 太原理工大学 | 一种静态电压稳定性评估方法及系统 |
CN111913696A (zh) * | 2020-08-07 | 2020-11-10 | 平安科技(深圳)有限公司 | 基于GDB的OpenCV程序可视化方法、装置、设备及存储介质 |
CN112560697A (zh) * | 2020-12-17 | 2021-03-26 | 合肥高维数据技术有限公司 | 一种基于局部特征的建盏识别方法、系统及存储介质 |
CN114238692A (zh) * | 2022-02-23 | 2022-03-25 | 北京嘉沐安科技有限公司 | 一种面向网络直播的视频大数据精准检索方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1914611A (zh) * | 2004-01-29 | 2007-02-14 | 泽塔普利株式会社 | 信息检索系统、信息检索方法、信息检索装置、信息检索程序、图像识别装置、图像识别方法及图像识别程序、以及销售系统 |
CN102722528A (zh) * | 2012-05-17 | 2012-10-10 | 上海冠勇信息科技有限公司 | 基于移动设备的实时海量图像检索方法 |
-
2014
- 2014-11-06 CN CN201410616920.6A patent/CN104484671B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1914611A (zh) * | 2004-01-29 | 2007-02-14 | 泽塔普利株式会社 | 信息检索系统、信息检索方法、信息检索装置、信息检索程序、图像识别装置、图像识别方法及图像识别程序、以及销售系统 |
CN102722528A (zh) * | 2012-05-17 | 2012-10-10 | 上海冠勇信息科技有限公司 | 基于移动设备的实时海量图像检索方法 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104991954B (zh) * | 2015-07-20 | 2018-08-21 | 河海大学 | 基于图像搜索的购物搜索系统及其实现方法 |
CN104991954A (zh) * | 2015-07-20 | 2015-10-21 | 河海大学 | 基于图像搜索的购物搜索系统及其实现方法 |
CN105843925A (zh) * | 2016-03-23 | 2016-08-10 | 中国科学技术大学 | 一种基于改进bow算法的相似图片搜索方法 |
CN106874446A (zh) * | 2017-02-10 | 2017-06-20 | 深圳前海大造科技有限公司 | 一种基于磁盘的词汇树模型构建方法 |
CN106991431A (zh) * | 2017-03-03 | 2017-07-28 | 杭州电子科技大学 | 一种局部特征点匹配对的后验证方法 |
CN106991431B (zh) * | 2017-03-03 | 2020-02-07 | 杭州电子科技大学 | 一种局部特征点匹配对的后验证方法 |
CN107358266A (zh) * | 2017-07-17 | 2017-11-17 | 陈剑桃 | 一种具有识别功能的移动终端 |
CN108334590A (zh) * | 2018-01-30 | 2018-07-27 | 吴雨潞 | 一种信息检索系统 |
CN108334590B (zh) * | 2018-01-30 | 2021-06-29 | 苏州龙御上宾信息科技有限公司 | 一种信息检索系统 |
CN108985380A (zh) * | 2018-07-25 | 2018-12-11 | 西南交通大学 | 一种基于聚类集成的转辙机故障识别方法 |
CN108985380B (zh) * | 2018-07-25 | 2021-08-03 | 西南交通大学 | 一种基于聚类集成的转辙机故障识别方法 |
CN110932265A (zh) * | 2019-12-06 | 2020-03-27 | 太原理工大学 | 一种静态电压稳定性评估方法及系统 |
CN110932265B (zh) * | 2019-12-06 | 2023-03-28 | 太原理工大学 | 一种静态电压稳定性评估方法及系统 |
CN111913696A (zh) * | 2020-08-07 | 2020-11-10 | 平安科技(深圳)有限公司 | 基于GDB的OpenCV程序可视化方法、装置、设备及存储介质 |
CN112560697A (zh) * | 2020-12-17 | 2021-03-26 | 合肥高维数据技术有限公司 | 一种基于局部特征的建盏识别方法、系统及存储介质 |
CN114238692A (zh) * | 2022-02-23 | 2022-03-25 | 北京嘉沐安科技有限公司 | 一种面向网络直播的视频大数据精准检索方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104484671B (zh) | 2017-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104484671B (zh) | 应用于移动平台的目标检索系统 | |
CN111797893B (zh) | 一种神经网络的训练方法、图像分类系统及相关设备 | |
Hou et al. | Convolutional neural network-based image representation for visual loop closure detection | |
Hare et al. | OpenIMAJ and ImageTerrier: Java libraries and tools for scalable multimedia analysis and indexing of images | |
Kalantidis et al. | Viral: Visual image retrieval and localization | |
Thyagharajan et al. | A review on near-duplicate detection of images using computer vision techniques | |
US20130121570A1 (en) | Methods and Apparatus for Visual Search | |
US11023518B2 (en) | Method and system for map image search using context of image | |
CN112529020B (zh) | 基于神经网络的动物识别方法、系统、设备及存储介质 | |
Guan et al. | On-device mobile landmark recognition using binarized descriptor with multifeature fusion | |
CN107330009B (zh) | 主题词分类模型创建方法、创建装置及存储介质 | |
CN103534696A (zh) | 针对口语语言理解中的域检测利用查询点击记录 | |
Wu et al. | Scale-invariant visual language modeling for object categorization | |
CN114519120A (zh) | 基于多模态算法的图像搜索方法及装置 | |
Pang et al. | Exploiting local linear geometric structure for identifying correct matches | |
Moysset et al. | Learning to detect, localize and recognize many text objects in document images from few examples | |
Huang et al. | RBRIEF: a robust descriptor based on random binary comparisons | |
CN112052819A (zh) | 一种行人重识别方法、装置、设备及存储介质 | |
CN115438160A (zh) | 一种基于深度学习的问答方法、装置及电子设备 | |
CN114168768A (zh) | 图像检索方法及相关设备 | |
CN116721713B (zh) | 一种面向化学结构式识别的数据集构建方法和装置 | |
Ray et al. | Argos: A toolkit for tracking multiple animals in complex visual environments | |
Hassan et al. | A framework for the revision of large-scale image retrieval benchmarks | |
Adjetey et al. | Content-based image retrieval using Tesseract OCR engine and levenshtein algorithm | |
Yokota et al. | A revisited visual-based geolocalization framework for forensic investigation support tools |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |