汪弋琛
摘 要傳統(tǒng)的相似圖像檢索大多基于顏色、紋理、場(chǎng)景等特征,缺少對(duì)圖像的局部特征提取,忽視了局部特征對(duì)相似圖像檢索的影響,檢索效果較差。本文采用視覺BOW(Bag of words)模型,提取圖像中尺度不變的SIFT特征,形成視覺單詞向量,設(shè)計(jì)了一個(gè)基于視覺單詞的相似圖像分類檢索方法,取得了較好的分類檢索效果。
【關(guān)鍵詞】圖像分類 檢索 BOW模型 SIFT
1 引言
當(dāng)今,在“互聯(lián)網(wǎng)+”環(huán)境下,圖像己經(jīng)成為網(wǎng)頁內(nèi)容中必不或缺的一部分,在基于關(guān)鍵字從網(wǎng)頁中尋找文本信息的同時(shí),需要考慮如何能夠快速幫助用戶基于圖像的內(nèi)容找到相似的圖片?;趦?nèi)容的圖像檢索CBIR(Content Based Image Retrieval)是指根據(jù)圖像本身、圖像的內(nèi)容語義以及上下文聯(lián)系進(jìn)行查找,以圖像語義特征為線索從圖像數(shù)據(jù)庫中檢出具有相似特性的其它圖像。這一概念是于1992年由T.Kato提出的,被廣泛應(yīng)用于各種研究領(lǐng)域,如統(tǒng)計(jì)學(xué)、模式識(shí)別、信號(hào)處理和計(jì)算機(jī)視覺。
認(rèn)知心理學(xué)派認(rèn)為,人類大概可以分類三萬個(gè)不同的類別。計(jì)算機(jī)視覺要模仿并達(dá)到人類對(duì)圖像的分類處理能力,在處理新類別圖像時(shí),必須學(xué)習(xí)已有知識(shí)以加快分類過程。目前,國(guó)內(nèi)外現(xiàn)有的基于內(nèi)容的圖像分類檢索系統(tǒng)主要有四種:基于顏色信息的檢索、基于圖像紋理的檢索、基于形狀特征的檢索和基于空間位置的檢索。美國(guó)麻省理工學(xué)院、荷蘭阿姆斯特丹大學(xué)等相繼開展了圖像檢索系統(tǒng)相關(guān)應(yīng)用及技術(shù)研究,典型代表是Vasconcelos提出的調(diào)整權(quán)的原則和Rui提出的貝葉斯法則。
2 視覺BOW模型
2.1 BOW模型
BOW模型最早出現(xiàn)在自然語言處理和文本信息檢索領(lǐng)域,該模型忽略掉文本的語法、語序等要素,將文檔看作若干詞匯的集合,文檔中的單詞是獨(dú)立出現(xiàn)的,使用一組無序的單詞(words)表達(dá)一個(gè)文檔。根據(jù)文本中單詞的統(tǒng)計(jì)信息完成對(duì)文本的分類。
首先給出兩個(gè)簡(jiǎn)單的文本文檔如下:
John likes to watch movies. Mary likes too.
John also likes to watch football games.
根據(jù)文檔中出現(xiàn)的單詞,構(gòu)建如下一個(gè)詞典 (dictionary):
{"John": 1, "likes": 2,"to": 3, "watch": 4, "movies": 5,"also": 6, "football": 7, "games": 8,"Mary": 9, "too": 10}
上面的詞典中包含10個(gè)單詞, 每個(gè)單詞有唯一的索引(標(biāo)號(hào)), 那么每個(gè)文本可以使用一個(gè)10維的向量來表示。如下:
[1, 2, 1, 1, 1, 0, 0, 0, 1, 1]
[1, 1, 1, 1, 0, 1, 1, 1, 0, 0]
該向量的維度是單詞的個(gè)數(shù),值是每個(gè)單詞在文本中出現(xiàn)的頻率。以上向量也可以用單詞的直方圖表示,詞表相當(dāng)于直方圖的基,要表述的文檔向這個(gè)基上映射。
并非所有的單詞都用來構(gòu)建詞表,相似的單詞用一個(gè)單詞表示。例如“walk, walking ,walks”都用 “walk”表示。單詞對(duì)區(qū)分文檔的重要性通過計(jì)算單詞TF-IDF(term frequency–inverse document frequency,詞頻-逆向詞頻)實(shí)現(xiàn)。
BOW模型用于文本分類包括詞表的建立、樣本訓(xùn)練、新來樣本識(shí)別三個(gè)步驟。
與文本相似,圖像可以視為與位置無關(guān)的局部特征的集合,局部特征的地位就類似于文本中的單詞,稱作“視覺單詞”,視覺單詞的集合稱為“視覺詞典”。詞袋模型可以類比地應(yīng)用于圖像分類中,文獻(xiàn)[3,4,5]中,BOW模型被廣泛用到了圖像的目標(biāo)分類。
2.2 SIFT算法
尺度不變特征轉(zhuǎn)換(Scale-invariant feature transform或SIFT)是一種特征點(diǎn)提取算法,用來偵測(cè)與描述影像中的局部特征,它在空間尺度中尋找極值點(diǎn),并提取出其位置、尺度、旋轉(zhuǎn)不變量。此算法由David Lowe在1999年所發(fā)表,2004年完善總結(jié)。
SIFT算法的實(shí)質(zhì)是在不同的尺度空間上查找關(guān)鍵點(diǎn)(特征點(diǎn)),并計(jì)算出關(guān)鍵點(diǎn)的方向。SIFT所查找到的關(guān)鍵點(diǎn)是一些十分突出,不會(huì)因光照,仿射變換和噪音等因素而變化的點(diǎn),如角點(diǎn)、邊緣點(diǎn)、暗區(qū)的亮點(diǎn)及亮區(qū)的暗點(diǎn)等。
2.3 視覺BOW模型分類過程
圖像的BOW模型表示即圖像中所有圖像塊的特征向量得到的直方圖。具體分類過程如下:
2.3.1 提取訓(xùn)練樣本圖像塊中的特征向量
SIFT算法在構(gòu)建好的尺度空間的基礎(chǔ)上搜索尺度空間中的極值點(diǎn)(特征點(diǎn)),然后確定極值點(diǎn)的尺度信息以及位置,再確定極值點(diǎn)的方向(其鄰域梯度的主方向),最終可以得到具有魯棒性的128維(4*4*8)的特征描述子。
2.3.2 利用K-Means算法構(gòu)造詞表
K-Means算法是一種基于樣本間相似性度量的間接聚類方法,此算法以K為參數(shù),把M個(gè)對(duì)象分為K個(gè)簇,使簇內(nèi)具有較高的相似度,而簇間相似度較低。若K=n,通過K均值聚類算法后,得到n個(gè)新的聚類中心。每一個(gè)聚類中心為一個(gè)視覺單詞,n個(gè)聚類中心即為構(gòu)建的詞典,即圖像視覺單詞直方圖的一個(gè)基。
以SIFT 128維為例,假如現(xiàn)在有3張訓(xùn)練圖片:人臉、自行車、小提琴,對(duì)每一張訓(xùn)練圖片都提取SIFT的128維特征,那么最終可以得到 M = N1+N2+N3 個(gè)128維的特征,Ni 代表第i張圖特征點(diǎn)的個(gè)數(shù)。
SIFT提取的視覺單詞向量,根據(jù)距離的遠(yuǎn)近,可以利用K-Means算法將詞義相近的詞匯合并,作為詞表中的基礎(chǔ)詞匯,假定我們將K設(shè)為4,那么經(jīng)過聚類后,詞表中單詞數(shù)為4個(gè)。endprint
2.3.3 利用視覺BOW量化圖像特征,利用詞頻直方圖表示圖像
統(tǒng)計(jì)詞表中每個(gè)單詞在圖像中出現(xiàn)的次數(shù),將圖像表示為K維數(shù)值向量。上例中,可以將圖像表示成為一個(gè)K=4維數(shù)值向量:
人臉:[3,30,3,20] 自行車:[20,3,3,2] 小提琴:[8,12,32,7]
每幅圖的視覺單詞與詞頻直方圖如圖1所示。
實(shí)際應(yīng)用中,為了達(dá)到較好的效果,單詞表中的詞匯數(shù)量K往往非常龐大,并且目標(biāo)類數(shù)目越多,對(duì)應(yīng)的K值也越大,一般情況下,K的取值在幾百到上千。
BOW模型建好后,對(duì)于新來的圖像,同樣通過下面三步判斷圖像類別。
(1)先提取圖像的SIFT特征;
(2)用詞表中的單詞將圖像表示成數(shù)值向量直方圖;
(3)通過分類器進(jìn)行分類,看它屬于哪一類圖片。
3 基于BOW模型的圖像檢索方法
基于BOW模型的圖像檢索分兩個(gè)階段:訓(xùn)練階段和測(cè)試階段。
在訓(xùn)練階段,構(gòu)建詞典。將圖像用很多“塊”(patch)表示,以SIFT特征為例,圖像中每個(gè)關(guān)鍵點(diǎn)就是一個(gè)patch,每一個(gè)patch特征向量的維數(shù)128。筆者用500幅訓(xùn)練圖像樣本,詞典的大小為1000,用K-Means算法對(duì)所有的patch進(jìn)行聚類,等K-Means收斂時(shí),將得到每一個(gè)聚類最后的質(zhì)心,這1000個(gè)質(zhì)心(維數(shù)128)就是詞典里的1000個(gè)詞。
在測(cè)試階段,按照?qǐng)D像的詞典表示進(jìn)行比較,檢索圖像。對(duì)每幅圖像初始化一個(gè)維數(shù)1000、值全為0的直方圖,計(jì)算測(cè)試圖像每個(gè)patch與詞典中單詞的歐氏距離,距離最近的單詞對(duì)應(yīng)的直方圖計(jì)數(shù)加1,將所有patch計(jì)算完畢后的直方圖即為圖像的詞典表示。訓(xùn)練圖與測(cè)試圖都以1000維向量表示,對(duì)每個(gè)待檢索圖像,只需計(jì)算所有訓(xùn)練圖與其歐式距離,并返回最近的若干幅即可。
4 系統(tǒng)的Python實(shí)現(xiàn)
為了驗(yàn)證基于BOW模型的相似圖像分類檢索效果,筆者開發(fā)了一個(gè)小型圖片管理系統(tǒng),實(shí)現(xiàn)了用戶管理、用戶登錄、圖片上傳、圖片檢索等功能。并對(duì)圖片庫中500張圖片樣本建立了詞庫,用于進(jìn)行相似圖像檢索。檢索效果如圖2所示。
圖2(a)為隨機(jī)排列的500幅訓(xùn)練樣本圖片,(b)為選擇一幅測(cè)試樣本圖片檢索后的搜索結(jié)果,由圖可以看出,相似的4幅圖片按相似度從高到低排列在第一行最左位置。
5 結(jié)語
視覺BOW模型能夠有效的將文本挖掘技術(shù)用于檢索相似圖像,但是,視覺BOW模型本身也存在一定的局限性。進(jìn)一步研究可以采用區(qū)域劃分、分層詞袋模型、空間金字塔匹配等方法減少特征點(diǎn)空間信息損失;可以利用機(jī)器學(xué)習(xí)方法,構(gòu)造具有語義保護(hù)的視覺單詞詞典,用以減少語義信息丟失。
參考文獻(xiàn)
[1]DN Osherson,SM Kosslyn,LR Gleitman.An Invitation to Cognitive Science.2nd edition.MIT Press.1995.Chapter 4.121-165.
[2]O.G Cula.K.J.Dana.Compact. Representation of bidirectional texture functions.IEEE Conference on Computer Vision and Pattern Recognition,2001(01).1041-1047.
[3]L.Fei Fei,R.Fergus,P.Perona.One-Shot Learning of Object Categories.IEEE Transactions on Pattem Analysis and Machine Intelligence,2006.28(04).594-611.
[4]G Csurka,C.Dance,L Fan.Visual categorization with bags of keypoints.In Workshop on Statistical Learning in Computer Vision(ECCV),2004,1.
[5]G Dorko.C.Schmid.Object class recognition using discriminative local features.IEEE Transactions on Paaem Analysis and Machine Intelligence,2004.
[6]David G.Lowe.Distinctive Image Features from Scale-Invariant Keypoints. International Journal of Computer Vision,2004,60(02):91-110.
[7]David G.Lowe.Object Recognition from Local Scale-Invariant Features.IEEE International Conference on Computer Vision,1999,2:1150.
作者單位
江蘇省新海高級(jí)中學(xué) 江蘇省連云港市 222003endprint