论文部分内容阅读
摘 要:将lucene索引架构应用到海量设计资源图像检索系统中,提出了基于hadoop和lucene的图像检索方法,分析了索引结构的建立、分布式框架Hadoop配置和设计资源图像检索模块流程图。
关键词:设计资源图像;lucene索引;Hadoop架构
中图分类号:TB
文献标识码:A
文章编号:1672-3198(2015)25-0265-02
1 引言
在海量设计资源图像检索匹配时,仅仅以通过传统的SIFT和BOF特征提取得到的一维向量为关键字来表示图像信息内容时,需要逐个对目标向量进行比较,高维度向量花费的时间过长,因此本文提出将设计资源图像内容特征检索方式转换为Lucene中的文本检索方式,倒排索引即索引关键字为图像的内容,索引关键字对应的值为图像的名称,可以通过搜索包含有的图像内容找到相似的图像名称,从而进行对比达到目的。
2 设计资源Lucene索引构建
Lucene可以根据词典建立倒排索引,加快文档查找速度。具体过程如下:(1)经过聚类过程的BOF特征是一个1维向量,可以选取不同的长度表示为n,则一幅图像的BOF特征为一个1 维double型向量,包含有n个double型数字,并且此向量是经过归一化的模为1的向量。(2)将每幅图像的BOF看作一份文档,每一维的信息为Lucene的索引关键字,通过维度关键字构建图像的BOF倒排索引。(3)假设某图像的BOF特征向量{date1,date2,…,n},若BOF特征中位置i的数据满足逆向文件频率IDF,则说明此图像不包含此位置关键字i,反之,则代表此图像包含此位置关键字i。(4)构建倒排索引文件,以每个位置信息上数字是否为0为判断条件产生图像关键字,这样就生成了图像特征的关键字信息,再根据这些信息构建倒排索引,关键字的value存储此图像的名称和位置信息,这样就能通过关键字定位到该图像,达到匹配的效果。如图1所示。
图1 Lucene倒排索引结构
3 设计资源图像检索模块实现
3.1 分布式框架Hadoop配置
本文利用了分布式框架Hadoop,结合MapReduce和HDFS的Hadoop分布式框架中完成了图像关键字倒排索引的构建以及搜索过程的分布式实现。本检索系统内含有一个主结点master和若干slave结点,采用主从结构,将主结点和从结点部署在了不同的机器上,具体的部署情况如图2所示:为了完成基于hadoop和Lucene框架的分布式图像检索技术,每个结点机器上都需要安装Linux系统、JDK、Hadoop和SSH,这样才能保证结点间的通信。
图2 Hadoop部署结构
(1)在本文中,准备了一台master机器和三台slave机器,为了保证机器之间的无密码交互访问,每台机器中的/etc/hosts需要预先配置好,同时需要安装和配置SSH,NameNode可以通过SSH来管理DateNode上的进程,为了保证各个机器间的无密码通信, SSH需要配置为无密码认证的形式。
(2)安装Hadoop集群前,首先需要将软件解压到每个机器上,安装时通常一个集群中机器上安装Hadoop的路径一致。
(3)Hadoop集群配置文件设置core-site.xml、mapred-site.xml、hdfs-site.xml。
3.2 设计资源图像检索模块
构建索引并存储到HDFS中之后,Hadoop集群中就存储有index文件和图像BOF特征文件,图像检索模块的作用是将输入图像提取出来的特征关键字作为输入变量,放入到倒排索引中去进行对比,对索引返回的相似图像结果集同原始图像特征进行相似度计算并按照相似度排序,通过特征的命名找到图像的名称及存储位置,按序输出相似图像。在图像检索的过程中,如果是单结点,则输入特征在该结点中搜索关键字和相似图像,如果是多结点分布式运行,则代表着每个结点中都分布着索引文件,这样我们则需要将输入特征传到每个结点中,每个结点并行进行Lucene索引搜索,图像检索流程如图3所示。
图3 设计资源图像检索流程
4 总结
本文结合Lucene索引在检索方面以及Hadoop框架在分布式处理方面存在的巨大优势,本文提出将设计资源图像内容特征检索方式转换为Lucene中的文本检索方式,倒排索引即索引关键字为图像的内容,分析了系统的配置模式和设计资源图像检索模块的。
参考文献
[1]Wang Fei,Vuk Ercegovac,et al.Large-scale multimodal mining for healthcare withmapreduce[C].Proceedings of the 1st ACM International Health Informatics Symposium,2010:479-483.
[2]Luiz Andre Barroso,Jeffrey Dean,Urs Holzle.Web Search For A Planet: The Google Cluster Architechture [J].IEEE Computer Society,2003,12(1):204-208.
关键词:设计资源图像;lucene索引;Hadoop架构
中图分类号:TB
文献标识码:A
文章编号:1672-3198(2015)25-0265-02
1 引言
在海量设计资源图像检索匹配时,仅仅以通过传统的SIFT和BOF特征提取得到的一维向量为关键字来表示图像信息内容时,需要逐个对目标向量进行比较,高维度向量花费的时间过长,因此本文提出将设计资源图像内容特征检索方式转换为Lucene中的文本检索方式,倒排索引即索引关键字为图像的内容,索引关键字对应的值为图像的名称,可以通过搜索包含有的图像内容找到相似的图像名称,从而进行对比达到目的。
2 设计资源Lucene索引构建
Lucene可以根据词典建立倒排索引,加快文档查找速度。具体过程如下:(1)经过聚类过程的BOF特征是一个1维向量,可以选取不同的长度表示为n,则一幅图像的BOF特征为一个1 维double型向量,包含有n个double型数字,并且此向量是经过归一化的模为1的向量。(2)将每幅图像的BOF看作一份文档,每一维的信息为Lucene的索引关键字,通过维度关键字构建图像的BOF倒排索引。(3)假设某图像的BOF特征向量{date1,date2,…,n},若BOF特征中位置i的数据满足逆向文件频率IDF,则说明此图像不包含此位置关键字i,反之,则代表此图像包含此位置关键字i。(4)构建倒排索引文件,以每个位置信息上数字是否为0为判断条件产生图像关键字,这样就生成了图像特征的关键字信息,再根据这些信息构建倒排索引,关键字的value存储此图像的名称和位置信息,这样就能通过关键字定位到该图像,达到匹配的效果。如图1所示。
图1 Lucene倒排索引结构
3 设计资源图像检索模块实现
3.1 分布式框架Hadoop配置
本文利用了分布式框架Hadoop,结合MapReduce和HDFS的Hadoop分布式框架中完成了图像关键字倒排索引的构建以及搜索过程的分布式实现。本检索系统内含有一个主结点master和若干slave结点,采用主从结构,将主结点和从结点部署在了不同的机器上,具体的部署情况如图2所示:为了完成基于hadoop和Lucene框架的分布式图像检索技术,每个结点机器上都需要安装Linux系统、JDK、Hadoop和SSH,这样才能保证结点间的通信。
图2 Hadoop部署结构
(1)在本文中,准备了一台master机器和三台slave机器,为了保证机器之间的无密码交互访问,每台机器中的/etc/hosts需要预先配置好,同时需要安装和配置SSH,NameNode可以通过SSH来管理DateNode上的进程,为了保证各个机器间的无密码通信, SSH需要配置为无密码认证的形式。
(2)安装Hadoop集群前,首先需要将软件解压到每个机器上,安装时通常一个集群中机器上安装Hadoop的路径一致。
(3)Hadoop集群配置文件设置core-site.xml、mapred-site.xml、hdfs-site.xml。
3.2 设计资源图像检索模块
构建索引并存储到HDFS中之后,Hadoop集群中就存储有index文件和图像BOF特征文件,图像检索模块的作用是将输入图像提取出来的特征关键字作为输入变量,放入到倒排索引中去进行对比,对索引返回的相似图像结果集同原始图像特征进行相似度计算并按照相似度排序,通过特征的命名找到图像的名称及存储位置,按序输出相似图像。在图像检索的过程中,如果是单结点,则输入特征在该结点中搜索关键字和相似图像,如果是多结点分布式运行,则代表着每个结点中都分布着索引文件,这样我们则需要将输入特征传到每个结点中,每个结点并行进行Lucene索引搜索,图像检索流程如图3所示。
图3 设计资源图像检索流程
4 总结
本文结合Lucene索引在检索方面以及Hadoop框架在分布式处理方面存在的巨大优势,本文提出将设计资源图像内容特征检索方式转换为Lucene中的文本检索方式,倒排索引即索引关键字为图像的内容,分析了系统的配置模式和设计资源图像检索模块的。
参考文献
[1]Wang Fei,Vuk Ercegovac,et al.Large-scale multimodal mining for healthcare withmapreduce[C].Proceedings of the 1st ACM International Health Informatics Symposium,2010:479-483.
[2]Luiz Andre Barroso,Jeffrey Dean,Urs Holzle.Web Search For A Planet: The Google Cluster Architechture [J].IEEE Computer Society,2003,12(1):204-208.