一種基于大數(shù)據(jù)的查詢方法
【技術領域】
[0001] 本發(fā)明涉及大數(shù)據(jù)處理,特別涉及一種基于大數(shù)據(jù)的查詢方法。
【背景技術】
[0002] 隨著互聯(lián)網(wǎng)和多媒體技術的蓬勃發(fā)展,圖像檢索逐漸成為用戶獲取信息的一種重 要方式。圖像容量一般都較大。在很多領域的應用中會產(chǎn)生大量的圖像文件,隨著高清化 的普及,圖像數(shù)據(jù)量勢必會更大。需要對這些應用中產(chǎn)生的海量圖像數(shù)據(jù)進行高效的存儲 和快速精確的檢索。然而,目前的B/S架構的檢索系統(tǒng)檢索速度慢,并發(fā)性較差,且當圖像 數(shù)據(jù)和索引文件出現(xiàn)快速爆炸性增長時會造成性能瓶頸。
【發(fā)明內(nèi)容】
[0003] 為解決上述現(xiàn)有技術所存在的問題,本發(fā)明提出了一種基于大數(shù)據(jù)的查詢方法, 包括:
[0004] 將圖像文件存儲在分布式文件系統(tǒng)的圖像庫中;對圖像文件進行預處理,然后提 取圖像特征;對所提取的特征建立特征索引,將索引文件和圖像文件存儲在分布式文件數(shù) 據(jù)庫上;當用戶向系統(tǒng)提交查詢請求時,用戶接口對提交的實例或圖像特征進行特征提取, 與特征索引庫中的圖像特征進行相似度比較后將匹配結果發(fā)送給用戶。
[0005] 優(yōu)選地,所述在將圖像文件存儲在分布式文件系統(tǒng)的圖像庫中之前,還包括:
[0006] 采用主從式結構搭建Hadoop集群,主節(jié)點用于集群中所有的任務調度和任務分 配,從節(jié)點對主節(jié)點分配的任務進行計算和數(shù)據(jù)存儲,并周期性地向主節(jié)點報告心跳信 息;
[0007] 數(shù)據(jù)存儲層利用分布式文件數(shù)據(jù)庫對海量圖像數(shù)據(jù)進行分布式存儲和建立分布 式訪問索引,采用MapReduce編程模型將圖像數(shù)據(jù)進行分塊,在Hadoop集群中的節(jié)點上進 行處理,提取圖像特征、進行圖像匹配等計算,Web服務器接收用戶輸入的實例或圖像特征, 將其提交給Hadoop集群進行計算,然后通過Web服務器返回檢索結果。
[0008] 優(yōu)選地,所述在將圖像文件存儲在分布式文件系統(tǒng)的圖像庫中,進一步包括:
[0009] (1),在將采集的圖像文件上傳到分布式文件系統(tǒng)上時,為每個圖像文件會生成唯 一的圖像ID,作為圖像標識;
[0010] (2)檢測圖像文件是否被損壞,若被損壞,將該圖像的ID標記為無效ID,并將無效 ID輸出到分布式文件系統(tǒng)中,若沒被損壞,則允許正常上傳;
[0011] (3)提取分布式文件系統(tǒng)中的圖像的顏色、紋理、尺寸特征,并為每個圖像生成圖 像快照;
[0012] (4)將圖像ID、圖像快照、顏色特征、紋理特征、尺寸特征索引寫入到分布式文件 數(shù)據(jù)庫中。
[0013] 優(yōu)選地,所述提取圖像特征進一步包括:
[0014] 首先進行圖像結構分析,對圖像進行分割,通過突變檢測和漸變檢測分離出元素 從元素中提取出圖像的位置特征;然后通過計算元素中所有像素的平均值,根據(jù)預定的規(guī) 則從分離出的元素里提取關鍵像素點,從關鍵像素點的集合中來提取顏色特征、形狀特征、 紋理特征,共同構成描述圖像內(nèi)容的特征空間;在提取關鍵像素點后對圖像進行聚類,計算 圖像之間的相似度,根據(jù)相關性關系將元素重新進行組合;
[0015] 其中圖像之間的相似度根據(jù)以下過程來計算:
[0016] 用P1Q e {1,2,…N})來表示庫中的圖像,N為圖像數(shù)量,C1,G1,S1,M 1分別表示第 i個圖像的顏色、紋理、形狀、位置特征,用Pc表示用戶提交的待檢索的圖像實例,其顏色、紋 理、形狀、位置特征分別用C。,G。,S。,M。來表示,待檢索圖像與第i個圖像的相似度用D(P。, Pi)表示:
[0017]
其中,Dc,De,D s,Dj 別為P〇, P1W個圖像在顏色、紋理、形狀、位置上的相似度,w P W2, W3, W4S各特征的權重,滿 W1+W2+W3+W4 - 1〇
[0018] 本發(fā)明相比現(xiàn)有技術,具有以下優(yōu)點:
[0019] 本發(fā)明提出了一種基于大數(shù)據(jù)的查詢方法,通過分布式系統(tǒng)對圖像數(shù)據(jù)的存儲和 檢索過程進行了優(yōu)化,提高了檢索效率,克服了性能瓶頸。
【附圖說明】
[0020] 圖1是根據(jù)本發(fā)明實施例的基于大數(shù)據(jù)的查詢方法的流程圖。
【具體實施方式】
[0021] 下文與圖示本發(fā)明原理的附圖一起提供對本發(fā)明一個或者多個實施例的詳細描 述。結合這樣的實施例描述本發(fā)明,但是本發(fā)明不限于任何實施例。本發(fā)明的范圍僅由權 利要求書限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細節(jié) 以便提供對本發(fā)明的透徹理解。出于示例的目的而提供這些細節(jié),并且無這些具體細節(jié)中 的一些或者所有細節(jié)也可以根據(jù)權利要求書實現(xiàn)本發(fā)明。
[0022] 本發(fā)明的一方面提供了一種基于大數(shù)據(jù)的查詢方法,實現(xiàn)海量圖像大數(shù)據(jù)的分布 式存儲和精確快速檢索。圖1是根據(jù)本發(fā)明實施例的基于大數(shù)據(jù)的查詢方法流程圖。
[0023] 針對海量圖像數(shù)據(jù)的存儲和檢索需求,本發(fā)明組建計算機集群,在集群上搭建高 效、可靠、可擴展的Hadoop平臺,組成Hadoop集群。Hadoop集群采用主從式結構,由一個主 節(jié)點和多個從節(jié)點構成。主節(jié)點用于集群中所有的任務調度和任務分配。從節(jié)點對主節(jié)點 分配的任務進行計算和數(shù)據(jù)存儲。從節(jié)點周期性地向主節(jié)點報告心跳,若主節(jié)點在一定的 時間期限內(nèi)未收到從節(jié)點的心跳信息,則視該節(jié)點為無效節(jié)點,然后自動對計算任務進行 重新部署和分配。
[0024] 在此架構之上,數(shù)據(jù)存儲層利用分布式文件數(shù)據(jù)庫的數(shù)據(jù)管理對海量圖像數(shù)據(jù)進 行分布式存儲和建立分布式訪問索引,數(shù)據(jù)處理層采用MapReduce編程模型將圖像數(shù)據(jù)進 行分塊,在Hadoop集群中的節(jié)點上進行處理,提取圖像特征、進行圖像匹配等計算。這些對 用戶是完全透明的,用戶只需在客戶端提交檢索請求,Web服務器接收用戶輸入的實例或圖 像特征,將其提交給Hadoop集群進行計算,然后通過Web服務器返回檢索結果。
[0025] 圖像檢索系統(tǒng)主要由分布式特征提取、分布式檢索和用戶接口等部分組成。首 先將圖像文件存儲在HDFS分布式文件系統(tǒng)的圖像庫中。然后對圖像文件進行預處理,將 圖像數(shù)據(jù)分割成一個個元素,然后從元素中提取元素特征。對圖像進行特征提取后,利用 MapReduce計算模型建立特征索引,并將索引文件和圖像文件存儲在分布式文件數(shù)據(jù)庫上。 用戶向系統(tǒng)提交查詢請求,用戶接口對提交的實例或圖像特征進行特征提取,與特征索引 庫中的圖像特征進行相似度比較后將匹配結果發(fā)送給用戶。因此,用戶可以根據(jù)自己的滿 意度向系統(tǒng)給出自己的反饋樣本信息,將用戶知識融入到查詢中,系統(tǒng)根據(jù)反饋樣本再次 進行檢索,直至滿足用戶的圖像檢索需求。
[0026] 海量圖像數(shù)據(jù)集的大小已經(jīng)完全超過一臺獨立物理計算機的存儲能力。本發(fā)明的 解決方案是先將圖像上傳至HDFS文件系統(tǒng)中,然后對圖像進行預處理,再存儲到分布式文 件數(shù)據(jù)庫中。以HDFS分布式文件系統(tǒng)作為底層數(shù)據(jù)存儲支持,用分布式文件數(shù)據(jù)庫來實現(xiàn) 海量圖像文件的分布式存儲和高并發(fā)實時讀寫。
[0027] 本發(fā)明設計將一個圖像的整體信息作為表的一行存儲在分布式文件數(shù)據(jù)庫中。將 行關鍵字(RowKey)和列關鍵字(ColumnKey)作為特征表的索引。將圖像ID作為R 〇wKey( BP 主鍵),圖像屬性保存兩列:一列為原圖像ID,另一列為圖像快照;圖像特征屬性有三列,分 別為顏色特征、紋理特征和尺寸特征。在對圖像進行存儲時,按照建立時間來對數(shù)據(jù)進行排 序,建立時間用數(shù)字表示。也就是說,如果存儲的數(shù)據(jù)進行修改,則舊版本數(shù)據(jù)和新版本數(shù) 據(jù)都會被存儲在分布式文件數(shù)據(jù)庫中,以建立時間來區(qū)分它們。查詢時如果不提供建立時 間,則返回最近版本的數(shù)據(jù)。
[0028] 圖像的具體存儲過程為:
[0029] (1)將采集的圖像文件上傳到HDFS上,在上傳時,每個圖像文件會生成唯一的圖 像ID,作為圖像標識。
[0030] (2)檢測圖像文件是否被損壞,若被損壞,將該圖像的ID標記為無效ID,并將無效 ID輸出到HDFS文件系統(tǒng)中。通過讀取這些文件來獲知無法存儲的圖像文件。若沒被損壞, 則允許正常上傳。
[0031] (3)提取HDFS中的圖像的特征,包括顏色、紋理、尺寸特征,并為每個圖像生成圖 像快照。
[0032] (4)將圖像ID、圖像快照、顏色特征、紋理特征、尺寸特征索引寫入到分布式文件 數(shù)據(jù)庫中。
[0033] 提取圖像特征是實現(xiàn)基于內(nèi)容的圖像檢索的如提,對于提尚圖像檢索效率有著非 常大的影響。從圖像中提取圖像特征的過程包括:
[0034] 首先進行圖像結構分析:對圖像進行分割,通過突變檢測和漸變檢測分離出元素, 此時,可以從元素中提取出圖像的位置特征;然后根據(jù)預定的規(guī)則從