顧軍林
摘 要:將lucene索引架構(gòu)應(yīng)用到海量設(shè)計(jì)資源圖像檢索系統(tǒng)中,提出了基于hadoop和lucene的圖像檢索方法,分析了索引結(jié)構(gòu)的建立、分布式框架Hadoop配置和設(shè)計(jì)資源圖像檢索模塊流程圖。
關(guān)鍵詞:設(shè)計(jì)資源圖像;lucene索引;Hadoop架構(gòu)
中圖分類號(hào):TB
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1672-3198(2015)25-0265-02
1 引言
在海量設(shè)計(jì)資源圖像檢索匹配時(shí),僅僅以通過傳統(tǒng)的SIFT和BOF特征提取得到的一維向量為關(guān)鍵字來表示圖像信息內(nèi)容時(shí),需要逐個(gè)對(duì)目標(biāo)向量進(jìn)行比較,高維度向量花費(fèi)的時(shí)間過長(zhǎng),因此本文提出將設(shè)計(jì)資源圖像內(nèi)容特征檢索方式轉(zhuǎn)換為L(zhǎng)ucene中的文本檢索方式,倒排索引即索引關(guān)鍵字為圖像的內(nèi)容,索引關(guān)鍵字對(duì)應(yīng)的值為圖像的名稱,可以通過搜索包含有的圖像內(nèi)容找到相似的圖像名稱,從而進(jìn)行對(duì)比達(dá)到目的。
2 設(shè)計(jì)資源Lucene索引構(gòu)建
Lucene可以根據(jù)詞典建立倒排索引,加快文檔查找速度。具體過程如下:(1)經(jīng)過聚類過程的BOF特征是一個(gè)1維向量,可以選取不同的長(zhǎng)度表示為n,則一幅圖像的BOF特征為一個(gè)1 維double型向量,包含有n個(gè)double型數(shù)字,并且此向量是經(jīng)過歸一化的模為1的向量。(2)將每幅圖像的BOF看作一份文檔,每一維的信息為L(zhǎng)ucene的索引關(guān)鍵字,通過維度關(guān)鍵字構(gòu)建圖像的BOF倒排索引。(3)假設(shè)某圖像的BOF特征向量{date1,date2,…,n},若BOF特征中位置i的數(shù)據(jù)滿足逆向文件頻率IDF,則說明此圖像不包含此位置關(guān)鍵字i,反之,則代表此圖像包含此位置關(guān)鍵字i。(4)構(gòu)建倒排索引文件,以每個(gè)位置信息上數(shù)字是否為0為判斷條件產(chǎn)生圖像關(guān)鍵字,這樣就生成了圖像特征的關(guān)鍵字信息,再根據(jù)這些信息構(gòu)建倒排索引,關(guān)鍵字的value存儲(chǔ)此圖像的名稱和位置信息,這樣就能通過關(guān)鍵字定位到該圖像,達(dá)到匹配的效果。如圖1所示。
圖1 Lucene倒排索引結(jié)構(gòu)
3 設(shè)計(jì)資源圖像檢索模塊實(shí)現(xiàn)
3.1 分布式框架Hadoop配置
本文利用了分布式框架Hadoop,結(jié)合MapReduce和HDFS的Hadoop分布式框架中完成了圖像關(guān)鍵字倒排索引的構(gòu)建以及搜索過程的分布式實(shí)現(xiàn)。本檢索系統(tǒng)內(nèi)含有一個(gè)主結(jié)點(diǎn)master和若干slave結(jié)點(diǎn),采用主從結(jié)構(gòu),將主結(jié)點(diǎn)和從結(jié)點(diǎn)部署在了不同的機(jī)器上,具體的部署情況如圖2所示:為了完成基于hadoop和Lucene框架的分布式圖像檢索技術(shù),每個(gè)結(jié)點(diǎn)機(jī)器上都需要安裝Linux系統(tǒng)、JDK、Hadoop和SSH,這樣才能保證結(jié)點(diǎn)間的通信。
圖2 Hadoop部署結(jié)構(gòu)
(1)在本文中,準(zhǔn)備了一臺(tái)master機(jī)器和三臺(tái)slave機(jī)器,為了保證機(jī)器之間的無(wú)密碼交互訪問,每臺(tái)機(jī)器中的/etc/hosts需要預(yù)先配置好,同時(shí)需要安裝和配置SSH,NameNode可以通過SSH來管理DateNode上的進(jìn)程,為了保證各個(gè)機(jī)器間的無(wú)密碼通信, SSH需要配置為無(wú)密碼認(rèn)證的形式。
(2)安裝Hadoop集群前,首先需要將軟件解壓到每個(gè)機(jī)器上,安裝時(shí)通常一個(gè)集群中機(jī)器上安裝Hadoop的路徑一致。
(3)Hadoop集群配置文件設(shè)置core-site.xml、mapred-site.xml、hdfs-site.xml。
3.2 設(shè)計(jì)資源圖像檢索模塊
構(gòu)建索引并存儲(chǔ)到HDFS中之后,Hadoop集群中就存儲(chǔ)有index文件和圖像BOF特征文件,圖像檢索模塊的作用是將輸入圖像提取出來的特征關(guān)鍵字作為輸入變量,放入到倒排索引中去進(jìn)行對(duì)比,對(duì)索引返回的相似圖像結(jié)果集同原始圖像特征進(jìn)行相似度計(jì)算并按照相似度排序,通過特征的命名找到圖像的名稱及存儲(chǔ)位置,按序輸出相似圖像。在圖像檢索的過程中,如果是單結(jié)點(diǎn),則輸入特征在該結(jié)點(diǎn)中搜索關(guān)鍵字和相似圖像,如果是多結(jié)點(diǎn)分布式運(yùn)行,則代表著每個(gè)結(jié)點(diǎn)中都分布著索引文件,這樣我們則需要將輸入特征傳到每個(gè)結(jié)點(diǎn)中,每個(gè)結(jié)點(diǎn)并行進(jìn)行Lucene索引搜索,圖像檢索流程如圖3所示。
圖3 設(shè)計(jì)資源圖像檢索流程
4 總結(jié)
本文結(jié)合Lucene索引在檢索方面以及Hadoop框架在分布式處理方面存在的巨大優(yōu)勢(shì),本文提出將設(shè)計(jì)資源圖像內(nèi)容特征檢索方式轉(zhuǎn)換為L(zhǎng)ucene中的文本檢索方式,倒排索引即索引關(guān)鍵字為圖像的內(nèi)容,分析了系統(tǒng)的配置模式和設(shè)計(jì)資源圖像檢索模塊的。
參考文獻(xiàn)
[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.