蔡曉東,華 娜,吳 迪,陳文竹
(桂林電子科技大學 信息與通信工程學院,廣西 桂林 541004)
基于圖像特征索引的并行檢索技術研究
蔡曉東,華 娜,吳 迪,陳文竹
(桂林電子科技大學 信息與通信工程學院,廣西 桂林 541004)
為了提高建立索引、檢索圖像的速度,提出云架構上基于圖像特征索引的并行檢索系統。該檢索系統主要有3個模塊:海量小圖片分布式存儲(Store)、并行建立圖像特征索引(Indexing)、并行圖像檢索(Retrieve)。在Store模塊中提出針對海量圖片的合并存儲,Indexing模塊中提出索引緩存模式,避免重寫索引的輸出接口,Retrieve模塊中對索引進行分片管理,以及并行檢索。實驗結果表明,相對于其他圖像檢索系統,基于圖像特征索引的檢索系統有效減少了圖像特征索引建立時間,縮短了圖像的檢索時間,提高了圖像檢索速率。
分布式存儲;特征索引;并行檢索;分片管理
近年來,圖像數據量急劇增長,如何有效地檢索這些海量圖像成為一個迫切需要解決的問題。傳統圖像檢索方法是基于文本的,檢索結果依賴于對圖像的文字描述而不是圖像的內容,造成圖像的查準率不高,因此需要直接從待查找的圖像視覺特征出發,通過圖像的顏色、形狀、紋理等特征進行圖像檢索。基于內容的圖像檢索[1]中提取的圖像特征都是高維的,特征匹配就意味著檢索高維的數據。當圖像數據量很大時,單機上基于內容的圖像檢索速率面臨巨大的挑戰。
Hadoop[2]是Apache下用于分布式計算的開源軟件框架,可以使大量的數據在集群上并行處理,在大數據領域得到廣泛應用。因此,本文提出Hadoop平臺上基于內容的圖像檢索系統。
1.1 基于內容的圖像檢索
基于內容的圖像檢索技術分為兩步,即特征提取和特征匹配。
1.1.1 特征提取
圖像特征提取是基于內容的圖像檢索的基礎,常用的特征是顏色特征、形狀特征、紋理特征。由于一種特征總是存在無法克服的缺陷,或者檢索太慢,或者匹配效果差,目前很多檢索技術都是綜合多種特征,因此本文采用圖像局部不變特征SIFT與顏色特征相結合。
SIFT[3]是一種基于尺度空間對圖像縮放、旋轉、光照、變化甚至裁剪、遮擋等保持不變性的點特征提取算法。主要包括4個步驟:1)檢測尺度空間的極值;2)定位關鍵點;3)根據圖像的局部梯度方向,給關鍵點分配方向;4)用特征向量來描述關鍵點。
顏色特征是圖像特征中最顯著、最可靠的視覺特征,它對圖像本身的尺寸、方向、視角的依賴性較小,從而具有較高的魯棒性。本文用顏色直方圖來表達顏色特征。 顏色直方圖表達了顏色的空間分布信息,統計每種顏色分量的像素數占圖像總像素數的比例。
給定一幅圖像(fxy)M*N,fxy表示像素點(x,y)處的顏色值,M×N表示圖像的尺寸,圖像所包含的顏色集記為C,則圖像的顏色直方圖可表示為

(1)
1.1.2 特征匹配
特征匹配過程是計算樣本圖像與目標圖像之間的相似度,獲得與樣本圖像最相似的圖像。測量兩幅圖像之間相似度通常是計算圖像特征向量之間的距離,如歐氏距離、馬氏距離。本文采用歐氏距離來比較圖像相似度,歐氏距離定義如下
(2)
式中:Ai和Aj表示兩幅圖像的特征向量;r是向量的維數。特征向量間歐氏距離越小,則相似度越大。
1.2 Hadoop
Hadoop[5]是一個分布式的計算框架,主要由HDFS、MapReduce組成。HDFS是用于存儲大數據的分布式文件系統。MapReduce是用于處理數據的分布式框架,數據處理過程分為兩步:Map和Reduce。Map階段處理輸入的數據分片,并輸出中間的key-value對。將具有相同key值的key-value對輸入Reduce,處理后輸出最終的key-value對。
2.1 系統結構
本文設計的并行圖像內容檢索系統主要3個模塊:海量小圖片分布式存儲(Store)、并行建立圖像特征索引(Indexing)、并行圖像檢索(Retrieve),結構如圖1所示。

圖1 Hadoop平臺上基于內容的圖像檢索結構圖
2.2 海量小圖片分布式存儲(Store)
Hadoop是針對大數據來設計的,處理海量小文件時非常消耗內存資源,導致效率很低。為了避免Hadoop處理海量的小文件,通常是將小文件組織起來生成MapFile,并自動上傳至HDFS進行分布式存儲。但MapFile一般針對于文本文件,因此本文提出了針對海量圖片數據生成MapFile。
MapFile是排序后的SequenceFile,由兩部分組成:分別是data和index。index作為文件的數據索引,主要記錄了每個圖片的文件名,以及該圖片在MapFile文件中的偏移位置。在MapFile被訪問的時候,索引文件會被加載到內存,通過索引映射關系可迅速定位到指定圖片所在文件位置,并且添加圖像時,需要先將圖像的文件名按照字典序排序。
2.3 并行建立圖像特征索引(Indexing)
圖像索引模塊中,本文設計了MapReduce[4]框架上并行建立圖像特征索引。由于索引Document不支持MapReduce輸出類型的Writable接口,所以不能直接使用Document作為MapReduce的輸出。因此本文提出了一種索引緩存模式,在內存中并行建立索引,map任務結束后將內存中的索引存入HDFS,該方法有效提高了建立索引的速度。圖像特征索引創建流程如圖2所示。

圖2 用MapReduce并行創建圖像特征索引
1) InputFormat:將HDFS中圖像的MapFile作為輸入,由于MapFile是排序后的SequenceFile,因此將文件輸入格式寫為SequenceFileInputFormat。
2)SequenseFileRecordReader:該類將讀入的MapFile分片解析成鍵值對(Text key,BytesWritable value),key為圖像文件名,類型為Text,value為圖像內容,類型為BytesWritable。
3)Mapper:Mapper階段處理由SequenceFileRecordReader解析出的(key,value)鍵值對。提取出圖像的SITF與顏色特征,通過Lucene在內存中根據圖像特征建立特征索引,特征索引建立結構如圖3所示。最后在close()階段將內存中的索引存入HDFS。

圖3 索引結構圖
2.4 并行圖像檢索(Retrieve)
在科技配置方面,銳騏6也毫不含糊。一鍵啟動、無鑰匙進入、倒車影像、倒車雷達、胎壓監測等諸多乘用車配置均出現在銳騏6車上。高清倒車影像,附帶彩色動態輔助線,便于駕駛員判斷車輛與障礙物的距離,引導駕駛員安全倒車。胎壓監測系統,則能時刻監測胎壓情況,保障用車安全。
圖像檢索時需要在很短的時間內獲取檢索結果,而MapReduce框架是用來做離線處理的,因此MapReduce并不適用于圖像檢索。本文提出一種在線并行檢索系統,將存儲在HDFS中的索引用Katta進行分片部署,將索引分片存儲在各子節點上。檢索時,同時讀取各節點的索引分片進行檢索,然后將獲得的所有檢索結果中前10個合并,并按照從小到大的順序排序。最終得到特征距離最小的10張圖像的名稱,只需從圖像的MapFile中按文件名獲取圖像。
3.1 實驗環境
軟件環境:Linux操作系統,JDK1.7,Hadoop1.2.1,Opencv、Javacv計算機視覺庫,Lucene。
硬件環境:實驗使用3個節點,每個節點配置雙核Intel CPU,4 Gbyte內存。
3.2 并行創建索引實驗結果分析
實驗圖像總共50 000張,來源于加州理工學院101類圖像數據庫,加州理工學院256類圖像數據庫,其中部分圖像重復,但具有不同的文件名。將不同張數的圖像生成MapFile分別上傳至HDFS,使用MapReduce進行離線并行圖像特征索引創建,實驗對單機建立索引和分布式建立索引的時間進行對比,如圖4所示,圖中橫軸為圖像的張數,縱軸為建立索引所用時間。

圖4 單機建立索引與分布式建立索引時間對比
3.3 在線圖像檢索實驗結果分析
實驗HDFS中的索引進行分片管理,將索引分片存儲在各子節點本地上,由此進行圖像的并行檢索,實驗對圖像單機檢索和并行檢索的時間進行對比,結果如圖5所示,圖中橫軸為圖像的張數,縱軸為圖像檢索所用時間。

圖5 單機檢索與分布式檢索時間對比
由圖5可知,圖像數據少時,單機進行檢索所需時間較少,由于節點間需要通信,所以并行檢索所需時間較大;隨著數據量增大,單機檢索所花費的時間在直線增長,而并行檢索花費的時間增長緩慢。當圖像數量到5萬張時,并行檢索速度較單機檢索速度提高了33 .3%,并行檢索速度與文獻[6]相比提高了20%。
3.4 圖像查準率、查全率
本實驗采用信息檢索中標準的評估方法:查準率、查全率來對提出的設計進行評估。
查準率是指在一次查詢過程中,返回的查詢結果中的相關圖像數目r與在所有返回圖像數目N中占有的比例,表示為
Precision=r/N
查全率指在一次查詢過程中,返回的查詢結果中相關圖像的數目r在圖像庫中所有相關圖像數目R中占有的比例,公式表示為
Recall=r/R
實驗在50 000張圖像中隨機抽取4張圖像進行檢索,在圖像庫中每張圖像的相關圖像共10張,將檢索結果按照圖像間的距離升序排列,圖像查準率、查全率如表1。

表1 圖像差準率、查全率 %
以上實驗結果表明,本文提出的基于圖像特征索引的并行圖像檢索系統具有相對較高的查全率與查準率。
經過以上分析,基于圖像特征索引的并行檢索系統大大減少了建立圖像特征索引時間和基于內容檢索圖像的時間;SIFT特征與顏色特征結合建立索引,達到了較好的檢索效果,該系統有效解決了單機下對海量圖像檢索效率低的問題。
[1] ZHANG C,CHEN T. An active learning framework for content-based information retrieval[J].IEEE Trans. Multimedia,2002,4(2):260-268.
[2] Hadoop[EB/OL]. [2014-04-16].http://www.Hadoop.org.
[3] DAVID G L. Distinct image features from local scale-invariant keypoints[J]. International Journal of Computer Vision,2004,60(2):91-110.
[4] DEAN J,GHEMAWAT S. MapReduce:simplified data processing on large clusters[C]//Proc. Symposium Conf. Opearting Systems Design & Implementation.[S.l.]:IEEE Press,2004:107-113.[5] 劉炳均,戴云松.基于超算平臺和Hadoop的并行轉碼方案設計[J].電視技術,2014,38(7):123-126.
[6] JAI-ANDALOUSSI S,ABDELJALIL E. Medical content based image retrieval by using the hadoop Framework[C]//Proc. Casablanca Conf. Telecommunications(ICT).[S.l.]:IEEE Press,2013:1-5.
蔡曉東(1971— ),博士,副教授,主研并行化圖像和視頻處理、模式識別與智能系統;
華 娜(1988— ),女,碩士生,主研云計算、視頻圖像數據挖掘;
吳 迪(1989— ),女,碩士生,主研云計算、智能視頻圖像處理;
陳文竹(1988— ),碩士生,主研云計算,視頻圖像數據挖掘。
責任編輯:時 雯
Parallel Retrieval System Based on Image Feature Index
CAI Xiaodong,HUA Na,WU Di,CHEN Wenzhu
(SchoolofInformationandCommunicationEngineering,GuilinUniversityofElectronicTechnology,GuangxiGuilin541004,China)
In order to improve the speed of indexing and retrieving images,the parallel retrieval system based on image features index in cloud is proposed. The retrieval system mainly consists of three parts,the distributed store of massive small images(Store),building index of image features in parallel(Indexing),image retrieval in parallel(Retrieve). In the part of store,the combined storage for massive small images is proposed,in the part of Indexing,in order to avoid rewriting the output interface of index,the mode for caching index is proposed,in the part of Retrieve,by the fragmented management for features index,it proposes the image retrieval in parallel. The experimental results show that the retrieval system reduces the time for indexing and retrieving effectively,it improves the speed for image retrieval.
distributed store;features index;retrieve in parallel;fragment management
【本文獻信息】蔡曉東,華娜,吳迪,等.基于圖像特征索引的并行檢索技術研究[J].電視技術,2015,39(13).
國家“863”計劃項目(2012BAH20B01;2014BAK11B02);廣西自然科學基金項目(2012GXNSFAA053232;2013GXNSFAA019326);廣西高校科學技術研究項目(2013YB092)
TN911.73;TP3
A
10.16280/j.videoe.2015.13.005
2014-10-07