基于Hadoop平臺(tái)的圖像檢索模型_第1頁
基于Hadoop平臺(tái)的圖像檢索模型_第2頁
基于Hadoop平臺(tái)的圖像檢索模型_第3頁
基于Hadoop平臺(tái)的圖像檢索模型_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于Hadoop平臺(tái)的圖像檢索模型摘 要: 處理海量圖像數(shù)據(jù)問題時(shí),針對(duì)傳統(tǒng)的圖像檢索方法計(jì)算速度慢、檢索效率低的問題,借助HBase和Hadoop分布式技術(shù)對(duì)海量數(shù)據(jù)超強(qiáng)的讀寫能力,提出一種適用于大數(shù)據(jù)背景下的基于Hadoop平臺(tái)的圖像檢索模型。該圖像檢索模型提供了圖像數(shù)據(jù)處理的可序列化數(shù)據(jù)類型,并通過輸入模塊實(shí)現(xiàn)大數(shù)據(jù)背景下數(shù)據(jù)類型的轉(zhuǎn)換及海量圖像的輸入。理論驗(yàn)證了該模型為特征提取、圖像處理等并行處理算法提供了可行的方案。關(guān)鍵詞: 圖像檢索; HBase; Hadoop; 并行處理中圖分類號(hào):TP391 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2016)12-35-04hods ha

2、ve the problems of lower computation speed and lower retrieval efficiency for processing massive image data. To solve these problems, this paper proposes a retrieval model applied to storage and process massive image data, which with the help of read and write property of Hadoop distributed technolo

3、gy and HBase. This model provides serializable data types for processing image data, and through the input module realizes the data type conversion and massive image input in big data background. The theory proves that the proposed model can provide a feasible solution for parallel processing algori

4、thms of feature extraction, image processing and so on.Key works: image retrieval; HBase; Hadoop; parallel processing0 引言從圖像檢索技術(shù)的發(fā)展看,基于文本標(biāo)注的圖像檢索和基于圖像內(nèi)容的檢索方法提高了圖像特征提取、相似度對(duì)比【1】,但是大數(shù)據(jù)時(shí)代,對(duì)現(xiàn)有的圖像處理、表達(dá)與度量等方面增加了存儲(chǔ)圖像數(shù)據(jù)及高效處理海量數(shù)據(jù)集的要求。傳統(tǒng)的基于內(nèi)容的圖像檢索方法,是對(duì)圖像采用單機(jī)單線程進(jìn)行特征提取及圖像處理,然后將經(jīng)過處理后的圖像特征存入關(guān)系型數(shù)據(jù)庫中。發(fā)起檢索請(qǐng)求時(shí),遍歷關(guān)系型數(shù)據(jù)庫

5、對(duì)比查詢到的圖像特征和全庫特征,對(duì)其結(jié)果進(jìn)行排序即為檢索的結(jié)果?,F(xiàn)今圖像數(shù)據(jù)快速增長(zhǎng),即使采用多線程技術(shù)處理圖像也不能完全解決存儲(chǔ)海量圖像數(shù)據(jù)及其處理效率的問題,更不用說簡(jiǎn)單依賴單計(jì)算機(jī)的處理能力的傳統(tǒng)圖像處理技術(shù)。采用HBase和Hadoop分布式技術(shù)對(duì)海量數(shù)據(jù)進(jìn)行基于內(nèi)容的數(shù)據(jù)圖像模型,解決了海量圖像數(shù)據(jù)的存儲(chǔ)與傳輸問題,并且原設(shè)計(jì)的圖像檢索算法可直接移植至分布式環(huán)境并行處理。該思想依賴基于Map-Reduce的并行模型并行檢索大數(shù)據(jù)圖像。大數(shù)據(jù)背景下的圖像數(shù)據(jù),80%以上是以MB為單位的小文件,針對(duì)大文件的基于HDFS的分布式存儲(chǔ)技術(shù)不適用?;贖Base和Hadoop分布式技術(shù)可實(shí)現(xiàn)系

6、統(tǒng)層的小文件合并,實(shí)現(xiàn)全局命名,有良好的通用性【4】。1 技術(shù)背景1.1 基于內(nèi)容的圖像檢索技術(shù)基于內(nèi)容的圖像檢索的特點(diǎn)是對(duì)圖像數(shù)據(jù)內(nèi)容本身的操作處理。具體處理流程如圖1所示。圖像特征的提取,雖然實(shí)現(xiàn)的算法各不相同,但提取的結(jié)果一般為文本表示的矩陣或數(shù)字。如今的計(jì)算機(jī)圖像處理接口對(duì)數(shù)字圖像的存取簡(jiǎn)化為對(duì)字節(jié)流的獲取與輸出?;趦?nèi)容的圖像檢索技術(shù)之所以快速發(fā)展,一個(gè)重要原因就是只專注于研究圖像處理算法,而忽略存取圖像耗費(fèi)的資源。1.2 基于Hadoop的分布式技術(shù)MapReduce分布式計(jì)算模型和Hadoop分布式文件系統(tǒng)HDFS(Hadoop Distributed File System)是

7、Hadoop的核心。Hadoop提供分布式文件系統(tǒng)、通用I/O組件和接口以及分布式數(shù)據(jù)處理模式和執(zhí)行環(huán)境。MapReduce是一種簡(jiǎn)單的用于數(shù)據(jù)處理的編程模型,支持C+、Python和Java等多種編程語言。MapReduce的并行性使大規(guī)模數(shù)據(jù)的分析能在多個(gè)計(jì)算機(jī)上并行執(zhí)行,提高效率的同時(shí)降低了消耗。1.3 HBase數(shù)據(jù)庫HBase數(shù)據(jù)庫是分布式列存儲(chǔ)數(shù)據(jù)庫,有超強(qiáng)的讀寫性能,底層通過HDFS存儲(chǔ)數(shù)據(jù),支持隨機(jī)查詢和Map Reduce的批量式計(jì)算。用Java編寫的HBase支持其他編程語言,提供原生的操作API。HBase的數(shù)據(jù)和坐標(biāo)以字節(jié)數(shù)組形式存儲(chǔ),即支持任意類型的數(shù)據(jù)存儲(chǔ)。HBas

8、e不存放空表格,只存放有內(nèi)容的表格單元,其稀疏性適用于存儲(chǔ)文件數(shù)據(jù)【5】。2 模型設(shè)計(jì)與實(shí)現(xiàn)2.1 模型整體架構(gòu)Hadoop集群的一系列優(yōu)勢(shì)如集群規(guī)模靈活、成本低廉、其承載的MapReduce模型有高效的并行計(jì)算能力。高效并行處理圖像特征數(shù)據(jù)需要借助MapReduce模型,既能移植到現(xiàn)有的特征提取算法中,也能以圖像的可序列化數(shù)據(jù)類型在分布式環(huán)境中存儲(chǔ)、傳輸和操作。使用HBase面向列擴(kuò)展的分布式數(shù)據(jù)庫對(duì)圖像數(shù)據(jù)以字節(jié)數(shù)組的形式進(jìn)行壓縮式存儲(chǔ)和快速查詢。因此,本文選擇HBase為數(shù)據(jù)存儲(chǔ)庫,MapReduce模型實(shí)現(xiàn)并行處理,建立海量圖像分布式檢索模型。檢索模型的整體架構(gòu)如圖2所示,主要分為圖像

9、輸入模塊、分布式集群模塊和檢索結(jié)果顯示模塊。圖像輸入模塊對(duì)圖像數(shù)據(jù)進(jìn)行預(yù)處理,將獲取到的網(wǎng)絡(luò)圖像轉(zhuǎn)換成可序列化圖像數(shù)據(jù)類型,并轉(zhuǎn)換成字節(jié)數(shù)組存儲(chǔ)在HBase中;分布式集群模塊以可序列化的圖像數(shù)據(jù)類型為接口實(shí)現(xiàn)并行圖像檢索;檢索結(jié)果顯示模塊主要還原相似度較高的圖像文件,并將其顯示或保存到指定的計(jì)算機(jī)硬盤。2.2 可序列化的圖像數(shù)據(jù)類型可序列化的數(shù)據(jù)類型要適用于分布式存儲(chǔ)和傳輸,便于處理數(shù)據(jù),因此系統(tǒng)設(shè)計(jì)的Hadoop API中基本的可序列化類型都有其對(duì)應(yīng)的Java API基本數(shù)據(jù)類型。Java API中的BufferedImage是常用的處理圖像的類,將對(duì)象本身轉(zhuǎn)換成字節(jié)數(shù)組,進(jìn)而轉(zhuǎn)換成Text

10、類型。Text類型最大值是2GB,通過可變長(zhǎng)的int型以字符串編碼形式存儲(chǔ)海量圖像數(shù)據(jù)。此外,BufferedImage類帶有圖像常用的數(shù)據(jù)信息。ImageWritable類的具體實(shí)現(xiàn),如圖3所示。其中ImageWritable的構(gòu)造方法需由BufferedImage對(duì)象作參數(shù);私有函數(shù)parse Bytes實(shí)現(xiàn)將BufferedImage轉(zhuǎn)換為字節(jié)數(shù)組,進(jìn)而轉(zhuǎn)換成Text類型。第二個(gè)Text類型和第三個(gè)Text類型分別保存的是圖像文件的后綴名及獲取圖像的網(wǎng)址。2.3 HBase的數(shù)據(jù)庫設(shè)計(jì)本文設(shè)計(jì)的圖像檢索模型針對(duì)海量圖像,因此,采用HBase數(shù)據(jù)庫存儲(chǔ)圖像內(nèi)容的數(shù)據(jù)及預(yù)處理后的數(shù)據(jù)。因?yàn)樾?/p>

11、鍵要求定長(zhǎng)且惟一,所以本文采用MD5摘要處理圖像獲取的路徑或網(wǎng)址。HBase中單元格的默認(rèn)塊大小是64KB,對(duì)列值沒有長(zhǎng)度限制,此外行鍵長(zhǎng)默認(rèn)小于65536。為了不影響圖片的存取效率,對(duì)于小圖像文件則不對(duì)圖像字節(jié)數(shù)組分段。對(duì)HBase的數(shù)據(jù)表設(shè)計(jì)見表1。2.4 圖像輸入模塊ImageWritable類只是一種MapReduce模型中鍵/值對(duì)值的數(shù)據(jù)類型,將將圖像文件輸入HBase數(shù)據(jù)庫或分布式文件系統(tǒng)的常規(guī)的做法是繼承Hadoop API的文件輸入格式類(FileInputFormat)。FileInputFormat認(rèn)為一個(gè)計(jì)算機(jī)本地圖像文件是一個(gè)文件分片,將其轉(zhuǎn)換成自定義的可序列化類。該圖

12、像檢索模型主要由MapReduce并行模型和一個(gè)Web服務(wù)器組成,其中Web服務(wù)器具有文件上傳和瀏覽的功能。MapReduce模型是實(shí)現(xiàn)獲取圖像數(shù)據(jù)和格式轉(zhuǎn)換的程序。本地圖像通過Web服務(wù)器轉(zhuǎn)換成網(wǎng)絡(luò)圖像,并將記錄網(wǎng)絡(luò)圖像地址的文本文件作為輸入。Map過程獲取文件流,生成BufferedImage對(duì)象,并轉(zhuǎn)換成ImageWritable對(duì)象,然后通過SequenceFile文件保存到HDFS中。此外,也可以通過ImageWritable類將響應(yīng)的圖像字節(jié)數(shù)組保存在HBase中。將圖像數(shù)據(jù)存儲(chǔ)在HDFS的MapReduce流程圖如圖4所示。2.5 分布式集群模塊分布式集群模塊主要包括圖像預(yù)處理、

13、特征提取及相似度計(jì)算。通過ImageWritable,可以從HBase或HDFS獲取所需圖像數(shù)據(jù),然后將現(xiàn)有選用的預(yù)處理生成的BufferedImage對(duì)象構(gòu)建ImageWritable對(duì)象,通過Reduce寫入HBase或HDFS的SequenceFile中。MapReduce過程中,特征提取與預(yù)處理不同之處是輸出數(shù)據(jù)的類型是數(shù)字類型還是文本類型。相似度計(jì)算及其排序的輸入輸出的數(shù)據(jù)類型都是數(shù)字類型或者文本類型。分布式集群模塊的實(shí)現(xiàn)如表2所示。2.6 檢索結(jié)果的顯示模塊檢索結(jié)果的顯示模塊中,將輸入模塊作為待檢模塊,相似度計(jì)算并排序后,讀取相似度高的圖像集合對(duì)應(yīng)的圖像數(shù)據(jù)并轉(zhuǎn)換成Buffered

14、Image對(duì)象,通過UI界面顯示,將檢索結(jié)果保存到本地計(jì)算機(jī)硬盤中。3 Image Writable類的封裝與實(shí)現(xiàn)本文圖像檢索模型的核心類是Image Writable類。圖像檢索首先要實(shí)現(xiàn)對(duì)象轉(zhuǎn)換,即BufferedImage和byte,圖像文件后綴名從網(wǎng)址中抓取?;贘ava編程實(shí)現(xiàn)對(duì)ImageWritable類的封裝與實(shí)現(xiàn)。具體代碼如下:其中ImageIO類用于讀取和生成圖像,是Java API的常用圖像工具類。getBytes()將BufferedImage轉(zhuǎn)換成byte對(duì)象,byte對(duì)象用于建立Text對(duì)象。Text類保證數(shù)據(jù)存儲(chǔ)和傳輸?shù)恼_性、可靠性。ImageWritable類實(shí)

15、現(xiàn)的Writable接口二進(jìn)制讀寫流算法如下:4 結(jié)束語本文提出的基于Hadoop平臺(tái)的圖像檢索模型實(shí)現(xiàn)了存取和檢索圖像數(shù)據(jù)的功能。該圖像檢索技術(shù)采用HBase的分布式列存儲(chǔ)數(shù)據(jù)庫,通過Map-Reduce實(shí)現(xiàn)并行檢索圖像,提高了檢索速度,數(shù)據(jù)輸入靈活,可并行處理大數(shù)據(jù)圖像,適用于重構(gòu)現(xiàn)有的圖像檢索系統(tǒng)。但該模型是假設(shè)在不受噪音影響的條件下檢索,這也是下一步需要研究和改進(jìn)的地方。參考文獻(xiàn)(References):【1】 李向陽,莊越挺,潘云鶴.基于內(nèi)容的圖像檢索技術(shù)與系統(tǒng).計(jì)算機(jī)研究與發(fā)展,2001.38(3):344-354【2】 Borthakur D. The hadoop distributed file system:Architecture and design. Hadoop Project Website,2007.11(11):1-10【3】 White T. Hadoop:the definitive guide. Oreilly Media IncGravenstein Highway North,2010.215(11):1-4【4】 朱曉麗,趙志剛.一種基于HBase的海量圖片存儲(chǔ)技術(shù).信息系統(tǒng)工程,2013.8:22-

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論