当前位置: 首页 > 专利查询>苗乾坤专利>正文

基于内容的图片搜索方法及其并行优化技术技术

技术编号:6315903 阅读:417 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于内容的图片搜索方法和并行优化技术,涉及互联网图片搜索引擎技术,旨在精确地、快速地搜索与用户提交图片内容相似的图片。用户以图搜图,提交想要查询的图片,图片搜索系统返回给用户与之视觉上相似的图片。包括前端查询和后端处理两部分。前端包括用户输入界面和结果返回界面;后端包括特征提取、相似度计算、特征向量降维和索引。通过挖掘搜索系统的并行性,从串行和并行两个方面来优化整个图片搜索系统的性能,提高查询相应速度。

【技术实现步骤摘要】

本专利技术涉及互联网图片搜索引擎和并行优化技术,特别是涉及基于图片本身内容 的图片高效搜索方法。
技术介绍
随着大容量存储器和数字化图像设备(摄像机、照相机)的普及,每天都会产生大 量的不同类型的图片,例如科学,医学,地理,生活等等。如何对这些海量的图片进行有效的 检索,进而便于人们有效的浏览、搜索、管理自己感兴趣的图片,是目前急需解决的一个问 题。目前商用的图片搜索引擎有谷歌图片搜索和百度图片搜索。这些以后的搜索系统 都是基于关键字和图片标签的。基于关键字的图片视频检索有着其本质的缺点。图片中内 容丰富,仅用几个关键字或数句话很难表达清楚,而且不同的人对图片有不同的理解,导致 同一幅图片可能会有相差很大的说明。图片的数量呈爆炸式的增加,很多图片只有很少的 文字信息或者根本就没有说明文字,想要高效地索引这些图片就需要人们手工的添加标签 和说明文字,对于海量的图片这是非常繁重的工作。图片搜索系统通常涉及到比较大的数据量和计算量,计算机的处理速度严重制约 着图片搜索系统的能力和发展。随着多核处理器的出现和普及,通用处理器的计算能力大 大加强,为进一步提高图片搜索系统的质量和速度提供了可能。多核处理器指的是在一颗 处理器芯片中集成两个或多个完整的计算内核,从而提高计算能力。多核的概念最早是由 IBM、HP、Sim等支持RISC架构的高端服务器厂商提出的,主要运用于服务器上。最近,在 Intel和AMD的推广下,多核处理器在台式机上得到了广泛的应用。目前htel已推出了四 核处理器,更多核的处理器也将在不久面世。多核处理器,较之以前的单核处理器,能带来 更多的性能。
技术实现思路
本专利技术的目的就是为了克服当前基于文本的图片搜索引擎的局限性,充分发挥多 核处理器的计算潜力,提供一种基于内容的图片搜索方法,并针对多核处理器的特点提供 并行优化方法。本专利技术能够快速、准确地向公众提供相似图片搜索服务。根据本专利技术的一个目的,提出一种基于内容的图片搜索方法,用户可以提交想要 查询的图片,图片搜索系统返回给用户与之视觉上相似的图片,即以图搜图,包括前端和后 端两部分,前端负责用户界面,包括用户的输入和搜索结果呈现;后端负责图片颜色和边缘 特征的提取,数据库图片建立索引,待搜索图片和数据库中图片的相似度计算,图片间相似 度排序。根据本专利技术的另一个目的,提出了图片搜索系统在多核处理器上的并行优化方 法,主要包括优化系统的访存行为,采用高效的数据结构,采用SIMD指令有效优化向量操 作,挖掘图片搜索系统中并行性,均衡每个核上的任务负载,减少多个核之间数据同步开销,绑定每个线程到一个固定的核以减少上下文切换开销。通过针对多核处理器的优化,来 提高基于内容的图片搜索引擎的响应速度,提升用户体验。所述的用户是指图片搜索引擎的使用者;所述的用户输入是指用途提交的待查询 图片;所述的搜索结果是指数据库中与用户提交的带查询图片比较相似的图片;所述的数 据库是指图片搜索引擎系统中已存在的图片集合;所述的图片特征是指图片颜色直方图和 图片边缘梯度直方图;所述的相似度是指待查询图片和数据库中图片特征向量间的距离; 所述的图片可以是各种互联网上存在的图片格式;所述的多核处理器是指目前普遍应用的 桌面计算机和服务器;所述的SIMD指令是指现代处理器普遍支持的单指令多数据流技术。与现有技术相比,本专利技术具有以下优点(1)本专利技术以图搜图,更加符合普通用户的视觉习惯。(2)优化了搜索系统关键部分,提高了在多核处理器上的搜索速度。附图说明图1是基于内容的图片搜索系统流程图。 具体实施例方式下面结合附图,详细介绍本专利技术基于内容的图片搜索方法及其并行优化方法。本 专利技术整个图片搜索过程分为后端处理和前端的查询过程,如图1所示。原始图片通过特征 提取、降维和索引得到一个索引后的查询数据库。用户输入一张包含自己想要查询内容的 图片,系统抽取查询图片的特征得到特征向量,然后用和后端图片处理相同的方法进行降 维,用降维后的向量到索引数据库中查找最匹配的若干张图片,按相似度进行排序,最终系 统把排好序的图片呈现给用户,完成一次查询过程。特征抽取是用来获得图片视觉特征的方法,用一个高维向量来描述一副图片,这 样图片相似性的比较就等价为向量相似性的比较。本专利技术用到的特征为颜色直方图和边缘 梯度直方图。颜色直方图的核心思想是在一定的颜色空间对图像各种颜色出现的频数进行 统计。把颜色区间划分成有限个小区域,每个区域关联于颜色直方图中的一维,然后计算落 在直方图每一维对应的空间区域中的像素的个数。图像的边缘是指其周围像素灰度有较大 幅值变化的那些像素的集合,用这些边缘像素的梯度值,来描述一副图像的边缘特征,计算 不同梯度区间的边缘像素个数来得到边缘梯度直方图。本专利技术通过计算特征向量的相似度,来判断两幅图是否相似。特征向量的相似性 匹配,通常采用空间向量模型,即把特征向量看作是空间中的点,把这些点之间的距离作为 向量间的相似度,距离越近,特征向量越相似。本专利技术采用欧式距离米计算空间中点的距离。由于图片的数量巨大,如果每次检索对数据库中的图片依次按顺序进行比较计算 相似度,效率会非常低。如果数据库中有成千上万张图片,一个查询就要很长的时间才能返 回结果,这在实际应用中将是不能忍受的。为了在包含大量图片的数据库上进行高效的检 索,首先需要对抽取的特征进行降维,然后采用高维索引技术来支持快速的相似匹配。本发 明中降维采用随机投影方法,高维索引采用k-d tree结构。为了利用多核处理器的特性,本专利技术从三个方面挖掘系统的并行性,来提高并行性能。首先,搜索系统可以同时处理多个查询。这是一种粗粒度的任务并行方案。不同用 户的查询相互没有关联是独立的,多个独立的查询具有自然的并行性,每个查询分配给一 个核去执行。其次,对于每个查询,可以挖掘更细粒度的并行性。通常一副图片内有上万 个像素,对于这些像素可以划分成块,每块分配给一个核去处理,图片数据库中有大量的图 片,查询图片需要跟数据库中大部分图片进行比较,计算相似度,和数据库中图片的比较可 以并行的执行。最后,还可以采用更细粒度的并行,图片的特征向量通常是很高维的,每一 维的计算可以并行来做。 系统所做的串行和并行优化包括(1)对程序的访存行为进行优化,使得程序访 存更为合理,减少处理器等待数据的时间;(2)采用高效的数据结构,如把查找到的图片保 存到一个优先队列而不是线性队列里,这样可以实现迅速的插入和删除;(3)系统有大量 的向量操作,可以用SIMD指令有效的优化这些运算;(4)负载均衡,尽量把任务平均的分配 到各个核上;(5)减少同步开销,并行程序中的锁和临界区会使得一些核等待另一些核执 行,这样会降低系统利用率,采用合理的任务划分,减少不必要的同步操作;(6)利用线程 亲和性,默认情况下,操作系统会采用时间片轮转的策略来调度线程在每个核上执行,这样 会照成频繁的上下文切换,增加缓存失效,浪费总线带宽。本专利技术把有数据共享的线程调度 到共享缓存的一些核上,把对总线带宽需求高的线程调度到不共享前端总线的核上以充分 利用存储带宽。权利要求1.一种基于内容的图片搜索方法,该方法利用图片本身所包含的视觉内容,以图搜图, 查找与用户提交图片相似的图片本文档来自技高网
...

【技术保护点】
1.一种基于内容的图片搜索方法,该方法利用图片本身所包含的视觉内容,以图搜图,查找与用户提交图片相似的图片,该方法包括图片特征提取,特征向量降维,特征向量索引,相似度比较,搜索结果排序几大模块,同时利用并行计算技术对该方法进行性能优化,提高其响应速度,提供更好的用户体验,起特征在于:该方法包括如下步骤:数据库图片通过特征提取、降维和索引得到一个查询数据库,用户输入一张包含自己想要查询内容的图片,对该待查询图片进行特征提取、降维后得到一个查询特征向量,然后再索引好的查询数据库中进行匹配,查找若干个相似度比较大的特征向量,然后向用户返回这些特征向量对应的数据库图片,图片按照与查询图片相似度大小排序。在查询过程中为加快速度,利用并行优化方法来优化查询速度。

【技术特征摘要】

【专利技术属性】
技术研发人员:苗乾坤
申请(专利权)人:苗乾坤
类型:发明
国别省市:34[中国|安徽]

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1