李 金,梁 洪
(哈爾濱工程大學(xué) 自動(dòng)化學(xué)院,哈爾濱 150001)
隨著現(xiàn)代化信息技術(shù)以及多媒體技術(shù)的飛速發(fā)展,海量的多媒體信息數(shù)據(jù)出現(xiàn)在眾多科研、應(yīng)用領(lǐng)域中。多媒體信息中信息量最大且最主要的一種就是視覺信息 (包括靜止圖像信息、視頻信息、序列圖像信息以及計(jì)算機(jī)圖形和動(dòng)畫信息等),而視覺信息中數(shù)量最大且最主要的就是圖像信息[1]。因此,如何高效的管理如此龐大的圖像庫(kù)并使其為公眾服務(wù)也就成為當(dāng)前迫切需要解決的問(wèn)題。
傳統(tǒng)的圖像檢索主要是借用基于描述的文本索引技術(shù),其優(yōu)點(diǎn)是技術(shù)簡(jiǎn)單,易于實(shí)現(xiàn)。然而,這種檢索技術(shù)存在著許多嚴(yán)重的問(wèn)題:對(duì)圖像的文本描述必須完全依賴于手工標(biāo)注,這對(duì)于海量的圖像數(shù)據(jù)顯然不合適;手工描述往往是不準(zhǔn)確或不完整的,同時(shí)還不可避免的受到個(gè)人主觀因素的影響;圖像中所包含的豐富的視覺特征往往無(wú)法用文本進(jìn)行客觀和完整的描述[2]。
鑒于以上原因,人們提出了基于內(nèi)容的圖像檢索 (Content-Based Image Retrieval,CBIR)技術(shù)。CBIR的基本思想是對(duì)圖像提取視覺特征,構(gòu)成描述圖像內(nèi)容的特征向量,并以此作為查詢索引,通過(guò)相似度匹配來(lái)實(shí)現(xiàn)較高層次上的圖像檢索[3]。
在圖像檢索中如何快速準(zhǔn)確地提取視覺信息內(nèi)容是最為關(guān)鍵的一步,即有效的提取圖像的穩(wěn)定特征在圖像檢索領(lǐng)域有著重要的作用。大多數(shù)圖像都會(huì)受到光照條件、景物幾何形狀和物理特性、噪聲干擾和畸變等影響,從而給圖像檢索增加了難度,因此,圖像檢索領(lǐng)域急需一種能夠有效對(duì)目標(biāo)直接進(jìn)行檢索的方法。為此,本文提出一種基于融合全局特性的SIFT特征的圖像檢索方法。
SIFT描述子是David Lowe于1999年提出的局部特征描述子,并于2004年進(jìn)行了更深入的完善和發(fā)展[4-5]。SIFT特征對(duì)圖像目標(biāo)的旋轉(zhuǎn)、尺度縮放、亮度變化能夠保持不變,對(duì)視角變化、仿射變換、噪聲也保持一定程度的穩(wěn)定性。不同特征點(diǎn)的局部鄰域信息差別較大時(shí),SIFT特征匹配算法生成的描述子唯一,該算法可以得到滿意的結(jié)果,但對(duì)于整幅圖像中目標(biāo)物體復(fù)雜的情況,該算法就會(huì)出現(xiàn)大量的誤匹配點(diǎn)對(duì)。因此,本文對(duì)SIFT特征匹配算法進(jìn)行改進(jìn),加入全局顏色信息,使得SIFT描述子能夠與全局信息互相約束,從而可以降低誤匹配的概率,提高檢索的準(zhǔn)確度。
尺度空間的基本思想是通過(guò)對(duì)原始圖像進(jìn)行尺度變換,獲得不同尺度空間的序列圖像,這種方式稱為圖像的多尺度表示,在不同尺度下可以獲取圖像不同的特征,所以利用多尺度可有效的提取圖像特征,獲取圖像內(nèi)容。
要在多尺度下對(duì)圖像進(jìn)行處理,首先需要對(duì)圖像進(jìn)行多尺度表達(dá),并建立各個(gè)尺度間的聯(lián)系。金字塔是一種有效的多尺度表達(dá)結(jié)構(gòu),它是從原始圖像出發(fā)導(dǎo)出一系列越來(lái)越平滑、分辨率逐步降低的圖像。Lindeberg已經(jīng)指出在現(xiàn)存各種各樣的平滑函數(shù)中,唯一可以作為尺度空間核函數(shù)的就是高斯函數(shù)[6]。
定義函數(shù)L(x,y,σ)為圖像的高斯尺度空間,則不同尺度下的尺度空間表示可由輸入圖像I (x,y)與高斯函數(shù)G(x,y,σ)進(jìn)行卷積而得到。
一幅圖像為I(x,y),G(x,y,σ)是尺度可變的高斯函數(shù)(σ為可變尺度),則I(x,y)的高斯尺度空間L(x,y,σ)可以定義為:
其中σ為可變尺度空間因子,其值越小則表征該圖像被平滑的越少,相應(yīng)的尺度也就越小。大尺度對(duì)應(yīng)于圖像的概貌特征,小尺度對(duì)應(yīng)于圖像的細(xì)節(jié)特征。
為了有效的在尺度空間檢測(cè)到穩(wěn)定的關(guān)鍵點(diǎn),利用高斯差分DOG(Difference of Gaussian)算子建立尺度空間,可利用不同尺度的高斯差分核與圖像卷積生成。DOG算子的定義如下:
之所以使用DOG算子有兩個(gè)主要原因:①DOG算子是一種比較有效的,計(jì)算方便快速的濾波算法;②DOG是尺度歸一化LOG(Laplacion of Gaussian)算子的近似,具有很好的穩(wěn)健性。事實(shí)上,DOG算子的原理就是由兩個(gè)不同尺度的高斯濾波器相減之后再對(duì)原來(lái)的圖像進(jìn)行濾波。這種方法只是比原來(lái)的高斯濾波多做了一次減法而已,因此計(jì)算十分方便高效。
Gaussian金字塔和DOG尺度空間的建立過(guò)程見圖1。
在尺度空間中,將初始圖像與高斯函數(shù)不斷卷積來(lái)產(chǎn)生一系列圖像,這些圖像都是由一個(gè)固定常量——相鄰的兩幅圖像之間的尺度比例k來(lái)確定的。如圖1左側(cè)所示的堆集,尺度空間分為n階,每一階有s層,為了讓后面的極值檢測(cè)覆蓋整個(gè)DOG尺度空間,需要產(chǎn)生s+3幅的Gaussian圖像,這s+3幅的Gaussian圖像從下到上尺度參數(shù)以k遞增,也就是說(shuō),若當(dāng)前的Gaussian圖像的尺度參數(shù)為σ,則下一層Gaussian圖像的尺度參數(shù)為kσ,k=21/s,相鄰尺度的圖像相減就得到了s+ 2幅的DOG圖像,本文s值取3,如圖1右側(cè)所示。當(dāng)所有的尺度階都處理完,則重新采樣產(chǎn)生一個(gè)新的高斯圖像,而s則變?yōu)槌跏嫉?倍,大小則是它的1/2(也就是原來(lái)圖像堆的下面第3層圖像縮小2倍后的圖像)。這個(gè)圖像作為下一個(gè)圖像堆的堆底圖像來(lái)產(chǎn)生一個(gè)新的圖像堆,在k和σ的取值保持不變的情況下,下一個(gè)圖像堆的計(jì)算量大為減小。
圖1 尺度空間建立過(guò)程Fig.1 Constructing process of scale space
在成功構(gòu)建尺度空間后,就要在該尺度空間中進(jìn)行局部極值的檢測(cè)。如果像素點(diǎn)的值在某位置能達(dá)到最大值或最小值,則定義這樣的點(diǎn)為 “關(guān)鍵點(diǎn)”。極值檢測(cè)得到的所有候選關(guān)鍵點(diǎn),還必須通過(guò)兩步檢驗(yàn)才能確定是關(guān)鍵點(diǎn):①它必須與周圍的像素有明顯的差異,也就是說(shuō)低對(duì)比度的點(diǎn)不要;②它不能是邊緣點(diǎn)。
1.2.1 空間極值點(diǎn)檢測(cè)
為了檢測(cè)D(x,y,σ)的局部最大值和最小值點(diǎn),每個(gè)像素點(diǎn)都要與其鄰近的26個(gè)像素點(diǎn)進(jìn)行比較,這26個(gè)點(diǎn)包括同尺度的8個(gè)點(diǎn),上下兩個(gè)尺度的各9個(gè)點(diǎn),如果這個(gè)點(diǎn)的像素值比它周圍的這26個(gè)點(diǎn)的像素值都大或者都小,那么它就被選為特征點(diǎn),并且選擇DOG圖像對(duì)應(yīng)的尺度為該點(diǎn)的特征尺度,見圖2。所有這樣的局部極值點(diǎn)就構(gòu)成了一個(gè)SIFT候選關(guān)鍵點(diǎn)的集合。
圖2 空間局部極值點(diǎn)檢測(cè)Fig.2 Extrema detection in DOG space
1.2.2 關(guān)鍵點(diǎn)確定
1)去除低對(duì)比度的點(diǎn)。對(duì)于低對(duì)比度的點(diǎn)來(lái)說(shuō),通過(guò)一個(gè)二次擬合可以精確確定極值點(diǎn)坐標(biāo)。空間尺度函數(shù)D(x,y,σ)在局部極值點(diǎn) (x0, y0,σ)處的二階Taylor展開式為:
其中,X=(x,y,σ)T,表示采樣點(diǎn)和特征點(diǎn)之間的位置、尺度偏移。令式 (3)的一階導(dǎo)數(shù)為0,就可以得到函數(shù)D(x,y,σ)的極值點(diǎn)^X:
將式(4)代回到式(3),得到:
如果計(jì)算得到的|D(^X)|<0.03,就可以確定這個(gè)候選關(guān)鍵點(diǎn)是低對(duì)比度的點(diǎn),應(yīng)該從特征點(diǎn)中剔除。
2)去除邊緣點(diǎn)。此外還應(yīng)舍去具有不穩(wěn)定的邊緣響應(yīng)點(diǎn),主要是排除邊緣切向有較大的主曲率而在邊緣的垂直方向有較小的主曲率的點(diǎn)。主曲率通過(guò)DOG函數(shù)的2×2Hessian矩陣H求出:
設(shè)矩陣H的最大特征值為α,最小特征值為β,計(jì)算Hessian矩陣的跡和行列式:
令α=rβ,則有:
本文中令r=10,如果候選關(guān)鍵點(diǎn)不滿足式(10),則認(rèn)為這個(gè)點(diǎn)是可能的邊緣點(diǎn),應(yīng)該從特征點(diǎn)中剔除。
1.2.3 關(guān)鍵點(diǎn)大小及方向參數(shù)的確定
在DOG尺度空間檢測(cè)到的局部極值點(diǎn)在經(jīng)過(guò)精確化點(diǎn)的位置、剔除低對(duì)比度的點(diǎn)、消除邊緣響應(yīng)后所保留的點(diǎn)被稱為關(guān)鍵點(diǎn),此時(shí)的關(guān)鍵點(diǎn)信息包括位置信息及尺度信息。通過(guò)給每個(gè)關(guān)鍵點(diǎn)分配一個(gè)基于圖像局部屬性的一致性方向,關(guān)鍵點(diǎn)的描述符的表示就會(huì)跟該方向相關(guān),此時(shí),也就取得了圖像旋轉(zhuǎn)不變量。
為了使算子具備旋轉(zhuǎn)不變性,需要給每個(gè)關(guān)鍵點(diǎn)指定一個(gè)方向參數(shù),這個(gè)方向參數(shù)可以通過(guò)計(jì)算關(guān)鍵點(diǎn)的梯度大小和方向來(lái)獲得。
對(duì)于高斯空間中的每一個(gè)圖像樣本 L(x, y),計(jì)算每個(gè)像素點(diǎn)的梯度大小m(x,y)和方向θ(x,y):
得到了每個(gè)采樣點(diǎn)的梯度大小和方向,接下來(lái)需要確定的是每個(gè)關(guān)鍵點(diǎn)梯度的大小和方向,本文采用的是梯度直方圖統(tǒng)計(jì)法。
對(duì)于每一個(gè)關(guān)鍵點(diǎn),考慮它鄰近一個(gè)窗口內(nèi)所有采樣點(diǎn)的梯度的大小和方向,并用梯度直方圖統(tǒng)計(jì)鄰域像素的梯度方向,梯度直方圖的范圍是0~360°,其中每10°為一個(gè)方向,總共36個(gè)方向。然后將鄰域內(nèi)的每個(gè)采樣點(diǎn)按梯度方向θ歸入適當(dāng)?shù)腷in,以梯度模m作為貢獻(xiàn)的權(quán)重。最后選擇直方圖的主峰值作為特征點(diǎn)的主方向,選取量值達(dá)到主峰值80%以上的局部峰值作為輔助方向。這樣一個(gè)特征點(diǎn)可能會(huì)被指定具有多個(gè)方向,可以增強(qiáng)匹配的魯棒性。
1.2.4 SIFT特征向量描述子
在確定了每個(gè)關(guān)鍵點(diǎn)的位置、所處尺度和方向后,接下來(lái)是將關(guān)鍵點(diǎn)描述成特征向量。
在提取局部描述符之前,先將坐標(biāo)軸旋轉(zhuǎn)為關(guān)鍵點(diǎn)的方向,以確保旋轉(zhuǎn)不變性。SIFT特征向量描述子生成的過(guò)程見圖3。
圖3 關(guān)鍵點(diǎn)特征向量描述Fig.3 Feature vector description of keypoint
特征向量的構(gòu)造過(guò)程如下:
1)以關(guān)鍵點(diǎn)為中心取88的窗口,將這個(gè)窗口切成22的子窗口,利用式 (11)統(tǒng)計(jì)每個(gè)子窗口中的方向直方圖。
2)將采樣窗口中各像素點(diǎn)根據(jù)坐標(biāo)按高斯加權(quán)后歸入4×4的位置網(wǎng)格,窗口中所有點(diǎn)對(duì)同一網(wǎng)格的貢獻(xiàn)之和作為描述子在該維的值,即可形成8個(gè)方向向量信息。
3)將采樣點(diǎn)與特征點(diǎn)的相對(duì)方向按高斯加權(quán)后歸入包含8個(gè)bin的方向直方圖(每個(gè)bin同樣作為描述子的一維),所有點(diǎn)對(duì)同一個(gè)bin的累加值作為描述子在該維的值。另外,為了使SIFT特征具有旋轉(zhuǎn)不變性,創(chuàng)建方向直方圖時(shí)使用的是采樣點(diǎn)和特征點(diǎn)的相對(duì)方向。
4)由上述2)、3)即獲得4×4×8共128維的SIFT描述子。標(biāo)定了SIFT特征的一幅示例圖像見圖4。
針對(duì)利用SIFT算子生成的每一個(gè)關(guān)鍵點(diǎn)進(jìn)行全局向量約束,新的特征向量由兩部分組成,一部分是SIFT特征向量,一部分是全局特征向量,可用下式表示:
圖4 標(biāo)定SIFT特征向量的示例圖像Fig.4 Sample image with SIFT feature vector calibrated
其中S表示128維的SIFT局部向量;C表示64維的全局顏色向量;F表示192維的新的特征向量;表示向量的權(quán)重,權(quán)重的確定可以有以下3種方法:①設(shè)定為均等;②按經(jīng)驗(yàn)人為設(shè)定;③利用相關(guān)反饋的方法確定,根據(jù)檢索統(tǒng)計(jì)結(jié)果進(jìn)行設(shè)定。
由于高維特征向量的引入,使得特征匹配計(jì)算量劇增,為了改善檢索速度,提高檢索效率,本文對(duì)所得到的原始特征利用PCA進(jìn)行降維處理。主成分分析 (Principal Component Analysis,PCA)就是一種非常經(jīng)典的尋找有效的線性變換的方法, PCA方法的目的就是尋找在最小均方誤差意義下最能代表原始數(shù)據(jù)的投影方法[8]。
首先計(jì)算d維均值向量μ和大小為d×d的協(xié)方差矩陣∑。然后,計(jì)算 ∑的特征值及其對(duì)應(yīng)的特征向量,每個(gè)特征向量ei都對(duì)應(yīng)一個(gè)特征值λi。接下來(lái),選出對(duì)應(yīng)最大k個(gè)特征值對(duì)應(yīng)的特征向量作為主成分方向。通常最大的特征值只有很少的幾個(gè),這意味著k取決于數(shù)據(jù)本身的子空間的內(nèi)在維數(shù),而剩下的d-k維往往由噪聲引起。構(gòu)造一個(gè)d×k的矩陣A,它的列由k個(gè)特征值對(duì)應(yīng)的特征向量組成。那么原始數(shù)據(jù)投影到k維空間的降維數(shù)據(jù)表示為:
主成分分析是在最小均方誤差準(zhǔn)則下,找到一個(gè)k維的線性子空間,使其能夠最好地表示原始高維數(shù)據(jù)。本文令k=48,使得特征向量的維數(shù)從192降到48。
當(dāng)特征向量形成后,就要對(duì)特征點(diǎn)進(jìn)行匹配,本文利用最近鄰(NN)和次近鄰(SCN)特征點(diǎn)的歐式距離之比作為相似性度量準(zhǔn)則。如果最近的距離和次近距離的比值小于某個(gè)閾值,則認(rèn)為該點(diǎn)對(duì)匹配成功。降低這個(gè)比例閾值,匹配點(diǎn)對(duì)數(shù)目就會(huì)減少,但精度會(huì)提高。
本文所采用的實(shí)驗(yàn)圖像測(cè)試集來(lái)源于COREL圖像庫(kù)等網(wǎng)絡(luò)數(shù)據(jù)資源[9-10],共計(jì)200幅彩色圖像,分為船、北京古建筑、飛機(jī)、火箭和汽車等5大類型,其中,每類圖像有40幅。
為有效測(cè)試本文算法,這里分別進(jìn)行以下3種測(cè)試:
1)利用SIFT算子作為特征描述向量,不進(jìn)行降維直接進(jìn)行檢索,其中一個(gè)檢索結(jié)果的前10幅圖像見圖5(a);
2)利用本文提出的融合全局特征的SIFT算子作為特征描述向量,不進(jìn)行降維直接進(jìn)行檢索,其中一個(gè)檢索結(jié)果的前10幅圖像見圖5(b);
3)利用本文提出的融合全局特征的SIFT算子作為特征描述向量,進(jìn)行PCA降維后進(jìn)行檢索。每一種實(shí)驗(yàn)各選取每類圖像中的5幅圖像作為示例圖像進(jìn)行檢索,由于篇幅有限,本文僅給出北京古建筑圖像一次的檢索結(jié)果,見圖5。
通過(guò)對(duì)一系列檢索結(jié)果進(jìn)行分析發(fā)現(xiàn),利用SIFT特征描述圖像內(nèi)容,確實(shí)能夠?qū)πD(zhuǎn)、平移、尺度縮放、亮度變化保持不變,對(duì)視角變化、仿射變換、噪聲也保持一定程度的穩(wěn)定性。對(duì)于含有示例圖像中目標(biāo)的側(cè)面圖像沒能檢出的原因在于該算法對(duì)性狀的依賴性。
另外,應(yīng)用融合全局特性的SIFT特征描述圖像內(nèi)容,除了能夠保持上述的優(yōu)良特性外,還能夠從全局特征上約束圖像特征的描述。由于本文采用的是顏色全局變量,因此,我們可以看到,在保證含有目標(biāo)物體的圖像被準(zhǔn)確檢出的同時(shí),色調(diào)相近的圖像排在了前方,這在一定程度上滿足了人們的主觀視覺需求。對(duì)于出現(xiàn)在檢索結(jié)果中的不相關(guān)圖像主要是由于目標(biāo)形狀的某些鄰域內(nèi)特征點(diǎn)能夠匹配且在全局顏色特征與示例圖像近似引起的。
此外,利用降維的方法對(duì)特征向量進(jìn)行約減,雖然在一定程度上造成了特征信息的丟失,但是,實(shí)驗(yàn)表明,由于本文特征表達(dá)的有效性,其對(duì)相關(guān)圖像的檢出影響不是很大,與此同時(shí),檢索的速度提高了很多,因此,利用降維后的特征進(jìn)行檢索還是能夠保證檢索的有效性。
本文提出了一種基于融合全局特性的SIF T特征的圖像檢索方法。由于既利用了SIFT算子能夠保持旋轉(zhuǎn)、縮放、平移不變等強(qiáng)大的目標(biāo)關(guān)鍵點(diǎn)描述能力,又考慮到了圖像的全局特性,因此,本文的算法通過(guò)實(shí)驗(yàn)驗(yàn)證具有良好的可靠性。其不足之處在于SIFT特征對(duì)目標(biāo)形狀的敏感可能會(huì)降低查全率,對(duì)此,可進(jìn)一步研究將其與形狀特征融合進(jìn)行檢索;此外,融合更多更加有效的全局信息到SIFT特征描述當(dāng)中來(lái)也是今后的一個(gè)研究思路。
[1]M.Belkhatir,H.C.Thiem.A M ultimedia Retrieval Framework Highlighting Agents and Coordinating Their Interactions to Address the Semantic Gap[J].Expert Systems with Applications,2010,37(12):8 903-8 909.
[2]章毓晉.基于內(nèi)容的視覺信息檢索[M].北京:科學(xué)技術(shù)出版社,2003.
[3]孟繁杰,郭寶龍.CBIR關(guān)鍵技術(shù)研究[J].計(jì)算機(jī)應(yīng)用研究,2004,(7):21-24.
[4]Lowe D.G.Object Recognition Frim Local Scale-invariant Features[C]//Greece:Kerkyra,1999:1 150-1 157.
[5]Lowe D.G.Distincive Image Features from Scale-invariant Keypoints[J].International Journal of Computer,2004,60(2):91-110.
[6]Lindeberg,Tony.Scale-space Theory:A Basic Tool for Analyzing Structures at Different Scales[J].Journal of Applied Statistics.1994,21(2):224-270.
[7]劉相濱,鄒北驥.一種基于主顏色表的圖像檢索算法[J].湖南大學(xué)學(xué)報(bào):自然科學(xué)版,2001,28(1):98-102.
[8]Carlos Eduardo Thomaz,Gilson Antonio Giraldi.A New Ranking Method for Principal Components Analysis and Its Application to Face Image Analysis[J].Image and Vision Computing,2010,28(6):902-913.
[9]http://www.cs.sfu.ca/~colour/data.
[10]http://www.db.stanford.edu/~wangz/image. vary.jpg.tar.