蔡曉東,華 娜,吳 迪,陳文竹
(桂林電子科技大學(xué) 信息與通信工程學(xué)院,廣西 桂林 541004)
基于圖像特征索引的并行檢索技術(shù)研究
蔡曉東,華 娜,吳 迪,陳文竹
(桂林電子科技大學(xué) 信息與通信工程學(xué)院,廣西 桂林 541004)
為了提高建立索引、檢索圖像的速度,提出云架構(gòu)上基于圖像特征索引的并行檢索系統(tǒng)。該檢索系統(tǒng)主要有3個(gè)模塊:海量小圖片分布式存儲(chǔ)(Store)、并行建立圖像特征索引(Indexing)、并行圖像檢索(Retrieve)。在Store模塊中提出針對(duì)海量圖片的合并存儲(chǔ),Indexing模塊中提出索引緩存模式,避免重寫索引的輸出接口,Retrieve模塊中對(duì)索引進(jìn)行分片管理,以及并行檢索。實(shí)驗(yàn)結(jié)果表明,相對(duì)于其他圖像檢索系統(tǒng),基于圖像特征索引的檢索系統(tǒng)有效減少了圖像特征索引建立時(shí)間,縮短了圖像的檢索時(shí)間,提高了圖像檢索速率。
分布式存儲(chǔ);特征索引;并行檢索;分片管理
近年來,圖像數(shù)據(jù)量急劇增長(zhǎng),如何有效地檢索這些海量圖像成為一個(gè)迫切需要解決的問題。傳統(tǒng)圖像檢索方法是基于文本的,檢索結(jié)果依賴于對(duì)圖像的文字描述而不是圖像的內(nèi)容,造成圖像的查準(zhǔn)率不高,因此需要直接從待查找的圖像視覺特征出發(fā),通過圖像的顏色、形狀、紋理等特征進(jìn)行圖像檢索?;趦?nèi)容的圖像檢索[1]中提取的圖像特征都是高維的,特征匹配就意味著檢索高維的數(shù)據(jù)。當(dāng)圖像數(shù)據(jù)量很大時(shí),單機(jī)上基于內(nèi)容的圖像檢索速率面臨巨大的挑戰(zhàn)。
Hadoop[2]是Apache下用于分布式計(jì)算的開源軟件框架,可以使大量的數(shù)據(jù)在集群上并行處理,在大數(shù)據(jù)領(lǐng)域得到廣泛應(yīng)用。因此,本文提出Hadoop平臺(tái)上基于內(nèi)容的圖像檢索系統(tǒng)。
1.1 基于內(nèi)容的圖像檢索
基于內(nèi)容的圖像檢索技術(shù)分為兩步,即特征提取和特征匹配。
1.1.1 特征提取
圖像特征提取是基于內(nèi)容的圖像檢索的基礎(chǔ),常用的特征是顏色特征、形狀特征、紋理特征。由于一種特征總是存在無法克服的缺陷,或者檢索太慢,或者匹配效果差,目前很多檢索技術(shù)都是綜合多種特征,因此本文采用圖像局部不變特征SIFT與顏色特征相結(jié)合。
SIFT[3]是一種基于尺度空間對(duì)圖像縮放、旋轉(zhuǎn)、光照、變化甚至裁剪、遮擋等保持不變性的點(diǎn)特征提取算法。主要包括4個(gè)步驟:1)檢測(cè)尺度空間的極值;2)定位關(guān)鍵點(diǎn);3)根據(jù)圖像的局部梯度方向,給關(guān)鍵點(diǎn)分配方向;4)用特征向量來描述關(guān)鍵點(diǎn)。
顏色特征是圖像特征中最顯著、最可靠的視覺特征,它對(duì)圖像本身的尺寸、方向、視角的依賴性較小,從而具有較高的魯棒性。本文用顏色直方圖來表達(dá)顏色特征。 顏色直方圖表達(dá)了顏色的空間分布信息,統(tǒng)計(jì)每種顏色分量的像素?cái)?shù)占圖像總像素?cái)?shù)的比例。
給定一幅圖像(fxy)M*N,fxy表示像素點(diǎn)(x,y)處的顏色值,M×N表示圖像的尺寸,圖像所包含的顏色集記為C,則圖像的顏色直方圖可表示為
(1)
1.1.2 特征匹配
特征匹配過程是計(jì)算樣本圖像與目標(biāo)圖像之間的相似度,獲得與樣本圖像最相似的圖像。測(cè)量?jī)煞鶊D像之間相似度通常是計(jì)算圖像特征向量之間的距離,如歐氏距離、馬氏距離。本文采用歐氏距離來比較圖像相似度,歐氏距離定義如下
(2)
式中:Ai和Aj表示兩幅圖像的特征向量;r是向量的維數(shù)。特征向量間歐氏距離越小,則相似度越大。
1.2 Hadoop
Hadoop[5]是一個(gè)分布式的計(jì)算框架,主要由HDFS、MapReduce組成。HDFS是用于存儲(chǔ)大數(shù)據(jù)的分布式文件系統(tǒng)。MapReduce是用于處理數(shù)據(jù)的分布式框架,數(shù)據(jù)處理過程分為兩步:Map和Reduce。Map階段處理輸入的數(shù)據(jù)分片,并輸出中間的key-value對(duì)。將具有相同key值的key-value對(duì)輸入Reduce,處理后輸出最終的key-value對(duì)。
2.1 系統(tǒng)結(jié)構(gòu)
本文設(shè)計(jì)的并行圖像內(nèi)容檢索系統(tǒng)主要3個(gè)模塊:海量小圖片分布式存儲(chǔ)(Store)、并行建立圖像特征索引(Indexing)、并行圖像檢索(Retrieve),結(jié)構(gòu)如圖1所示。
圖1 Hadoop平臺(tái)上基于內(nèi)容的圖像檢索結(jié)構(gòu)圖
2.2 海量小圖片分布式存儲(chǔ)(Store)
Hadoop是針對(duì)大數(shù)據(jù)來設(shè)計(jì)的,處理海量小文件時(shí)非常消耗內(nèi)存資源,導(dǎo)致效率很低。為了避免Hadoop處理海量的小文件,通常是將小文件組織起來生成MapFile,并自動(dòng)上傳至HDFS進(jìn)行分布式存儲(chǔ)。但MapFile一般針對(duì)于文本文件,因此本文提出了針對(duì)海量圖片數(shù)據(jù)生成MapFile。
MapFile是排序后的SequenceFile,由兩部分組成:分別是data和index。index作為文件的數(shù)據(jù)索引,主要記錄了每個(gè)圖片的文件名,以及該圖片在MapFile文件中的偏移位置。在MapFile被訪問的時(shí)候,索引文件會(huì)被加載到內(nèi)存,通過索引映射關(guān)系可迅速定位到指定圖片所在文件位置,并且添加圖像時(shí),需要先將圖像的文件名按照字典序排序。
2.3 并行建立圖像特征索引(Indexing)
圖像索引模塊中,本文設(shè)計(jì)了MapReduce[4]框架上并行建立圖像特征索引。由于索引Document不支持MapReduce輸出類型的Writable接口,所以不能直接使用Document作為MapReduce的輸出。因此本文提出了一種索引緩存模式,在內(nèi)存中并行建立索引,map任務(wù)結(jié)束后將內(nèi)存中的索引存入HDFS,該方法有效提高了建立索引的速度。圖像特征索引創(chuàng)建流程如圖2所示。
圖2 用MapReduce并行創(chuàng)建圖像特征索引
1) InputFormat:將HDFS中圖像的MapFile作為輸入,由于MapFile是排序后的SequenceFile,因此將文件輸入格式寫為SequenceFileInputFormat。
2)SequenseFileRecordReader:該類將讀入的MapFile分片解析成鍵值對(duì)(Text key,BytesWritable value),key為圖像文件名,類型為Text,value為圖像內(nèi)容,類型為BytesWritable。
3)Mapper:Mapper階段處理由SequenceFileRecordReader解析出的(key,value)鍵值對(duì)。提取出圖像的SITF與顏色特征,通過Lucene在內(nèi)存中根據(jù)圖像特征建立特征索引,特征索引建立結(jié)構(gòu)如圖3所示。最后在close()階段將內(nèi)存中的索引存入HDFS。
圖3 索引結(jié)構(gòu)圖
2.4 并行圖像檢索(Retrieve)
在科技配置方面,銳騏6也毫不含糊。一鍵啟動(dòng)、無鑰匙進(jìn)入、倒車影像、倒車?yán)走_(dá)、胎壓監(jiān)測(cè)等諸多乘用車配置均出現(xiàn)在銳騏6車上。高清倒車影像,附帶彩色動(dòng)態(tài)輔助線,便于駕駛員判斷車輛與障礙物的距離,引導(dǎo)駕駛員安全倒車。胎壓監(jiān)測(cè)系統(tǒng),則能時(shí)刻監(jiān)測(cè)胎壓情況,保障用車安全。
圖像檢索時(shí)需要在很短的時(shí)間內(nèi)獲取檢索結(jié)果,而MapReduce框架是用來做離線處理的,因此MapReduce并不適用于圖像檢索。本文提出一種在線并行檢索系統(tǒng),將存儲(chǔ)在HDFS中的索引用Katta進(jìn)行分片部署,將索引分片存儲(chǔ)在各子節(jié)點(diǎn)上。檢索時(shí),同時(shí)讀取各節(jié)點(diǎn)的索引分片進(jìn)行檢索,然后將獲得的所有檢索結(jié)果中前10個(gè)合并,并按照從小到大的順序排序。最終得到特征距離最小的10張圖像的名稱,只需從圖像的MapFile中按文件名獲取圖像。
3.1 實(shí)驗(yàn)環(huán)境
軟件環(huán)境:Linux操作系統(tǒng),JDK1.7,Hadoop1.2.1,Opencv、Javacv計(jì)算機(jī)視覺庫(kù),Lucene。
硬件環(huán)境:實(shí)驗(yàn)使用3個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)配置雙核Intel CPU,4 Gbyte內(nèi)存。
3.2 并行創(chuàng)建索引實(shí)驗(yàn)結(jié)果分析
實(shí)驗(yàn)圖像總共50 000張,來源于加州理工學(xué)院101類圖像數(shù)據(jù)庫(kù),加州理工學(xué)院256類圖像數(shù)據(jù)庫(kù),其中部分圖像重復(fù),但具有不同的文件名。將不同張數(shù)的圖像生成MapFile分別上傳至HDFS,使用MapReduce進(jìn)行離線并行圖像特征索引創(chuàng)建,實(shí)驗(yàn)對(duì)單機(jī)建立索引和分布式建立索引的時(shí)間進(jìn)行對(duì)比,如圖4所示,圖中橫軸為圖像的張數(shù),縱軸為建立索引所用時(shí)間。
圖4 單機(jī)建立索引與分布式建立索引時(shí)間對(duì)比
3.3 在線圖像檢索實(shí)驗(yàn)結(jié)果分析
實(shí)驗(yàn)HDFS中的索引進(jìn)行分片管理,將索引分片存儲(chǔ)在各子節(jié)點(diǎn)本地上,由此進(jìn)行圖像的并行檢索,實(shí)驗(yàn)對(duì)圖像單機(jī)檢索和并行檢索的時(shí)間進(jìn)行對(duì)比,結(jié)果如圖5所示,圖中橫軸為圖像的張數(shù),縱軸為圖像檢索所用時(shí)間。
圖5 單機(jī)檢索與分布式檢索時(shí)間對(duì)比
由圖5可知,圖像數(shù)據(jù)少時(shí),單機(jī)進(jìn)行檢索所需時(shí)間較少,由于節(jié)點(diǎn)間需要通信,所以并行檢索所需時(shí)間較大;隨著數(shù)據(jù)量增大,單機(jī)檢索所花費(fèi)的時(shí)間在直線增長(zhǎng),而并行檢索花費(fèi)的時(shí)間增長(zhǎng)緩慢。當(dāng)圖像數(shù)量到5萬張時(shí),并行檢索速度較單機(jī)檢索速度提高了33 .3%,并行檢索速度與文獻(xiàn)[6]相比提高了20%。
3.4 圖像查準(zhǔn)率、查全率
本實(shí)驗(yàn)采用信息檢索中標(biāo)準(zhǔn)的評(píng)估方法:查準(zhǔn)率、查全率來對(duì)提出的設(shè)計(jì)進(jìn)行評(píng)估。
查準(zhǔn)率是指在一次查詢過程中,返回的查詢結(jié)果中的相關(guān)圖像數(shù)目r與在所有返回圖像數(shù)目N中占有的比例,表示為
Precision=r/N
查全率指在一次查詢過程中,返回的查詢結(jié)果中相關(guān)圖像的數(shù)目r在圖像庫(kù)中所有相關(guān)圖像數(shù)目R中占有的比例,公式表示為
Recall=r/R
實(shí)驗(yàn)在50 000張圖像中隨機(jī)抽取4張圖像進(jìn)行檢索,在圖像庫(kù)中每張圖像的相關(guān)圖像共10張,將檢索結(jié)果按照?qǐng)D像間的距離升序排列,圖像查準(zhǔn)率、查全率如表1。
表1 圖像差準(zhǔn)率、查全率 %
以上實(shí)驗(yàn)結(jié)果表明,本文提出的基于圖像特征索引的并行圖像檢索系統(tǒng)具有相對(duì)較高的查全率與查準(zhǔn)率。
經(jīng)過以上分析,基于圖像特征索引的并行檢索系統(tǒng)大大減少了建立圖像特征索引時(shí)間和基于內(nèi)容檢索圖像的時(shí)間;SIFT特征與顏色特征結(jié)合建立索引,達(dá)到了較好的檢索效果,該系統(tǒng)有效解決了單機(jī)下對(duì)海量圖像檢索效率低的問題。
[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] 劉炳均,戴云松.基于超算平臺(tái)和Hadoop的并行轉(zhuǎn)碼方案設(shè)計(jì)[J].電視技術(shù),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— ),博士,副教授,主研并行化圖像和視頻處理、模式識(shí)別與智能系統(tǒng);
華 娜(1988— ),女,碩士生,主研云計(jì)算、視頻圖像數(shù)據(jù)挖掘;
吳 迪(1989— ),女,碩士生,主研云計(jì)算、智能視頻圖像處理;
陳文竹(1988— ),碩士生,主研云計(jì)算,視頻圖像數(shù)據(jù)挖掘。
責(zé)任編輯:時(shí) 雯
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
【本文獻(xiàn)信息】蔡曉東,華娜,吳迪,等.基于圖像特征索引的并行檢索技術(shù)研究[J].電視技術(shù),2015,39(13).
國(guó)家“863”計(jì)劃項(xiàng)目(2012BAH20B01;2014BAK11B02);廣西自然科學(xué)基金項(xiàng)目(2012GXNSFAA053232;2013GXNSFAA019326);廣西高校科學(xué)技術(shù)研究項(xiàng)目(2013YB092)
TN911.73;TP3
A
10.16280/j.videoe.2015.13.005
2014-10-07