陳綿書,蘇 越,桑愛軍,李培鵬
(吉林大學(xué) 通信工程學(xué)院, 長春 130022)
隨著互聯(lián)網(wǎng)中圖像數(shù)量的急速增長,如何準(zhǔn)確且快速地對圖像進(jìn)行分類顯然已經(jīng)成為了一個(gè)熱門領(lǐng)域。而源自于文本領(lǐng)域的圖像分類模型—詞袋模型(Bag-of-words,BOW)[1]作為一種信息檢索算法,在文本分類領(lǐng)域有著廣泛的應(yīng)用。BOW模型忽略掉一個(gè)文檔的結(jié)構(gòu)、語法和語序等,僅僅將其看作是若干個(gè)獨(dú)立單詞的集合,文檔中任意位置出現(xiàn)的單詞,均不受該文檔的語義影響而單獨(dú)存在。將這一原理與圖像相結(jié)合,認(rèn)為圖像是由一些相互無關(guān)聯(lián)的視覺單詞組成。具體的做法為:先提取圖像的SIFT[2,3](Scale-invariant feature transform)特征,之后把視覺特征轉(zhuǎn)換為一系列的圖像視覺單詞,最后,根據(jù)每一個(gè)視覺單詞在圖像中出現(xiàn)的概率來繪制直方圖。視覺單詞出現(xiàn)的頻率越高,相應(yīng)的概率值就越大。因此,詞袋模型不僅具有文本匹配高效簡潔的特點(diǎn),而且原理簡單,易于編程和實(shí)際操作。然而,詞袋模型沒有考慮到視覺單詞之間的空間位置信息。研究表明,視覺單詞間的空間位置信息有助于提高圖像的表述能力。Lazebnik等[4]利用金字塔匹配核函數(shù),提出了SPM模型(Spatial pyramid matching);Wu等[5]提出了視覺語言模型(Visual language model,VLM);Jiang等[6]利用隨機(jī)劃分圖像來提高分類性能。然而以上研究均沒有考慮到全局信息,且存在大量冗余的短語信息,從而嚴(yán)重地影響到計(jì)算速率??紤]以上不足,本文提出了一種基于視覺單詞間空間位置信息的空間矢量模型。
在以往的圖像分類應(yīng)用中,BOW模型取得了不錯(cuò)的分類效果。但是在這些應(yīng)用中,均是將單詞視為獨(dú)立的存在,彼此間沒有聯(lián)系且完全獨(dú)立??墒聦?shí)上,通常一幅圖像中出現(xiàn)的單詞都是有結(jié)構(gòu)聯(lián)系的,不可能完全獨(dú)立,所以這種單詞之間完全獨(dú)立的假設(shè)顯然不成立。由此,這里提出了結(jié)合視覺單詞空間信息的圖像分類方法。實(shí)驗(yàn)結(jié)果表明,這種方法能夠有效地提高圖像分類的平均分類正確率(Average classification accuracy,ACA)和平均類別準(zhǔn)確率(Average category precision,ACP)。
對圖像進(jìn)行SIFT特征提取、聚類,以生成視覺單詞。然后利用視覺單詞的空間位置信息,將圖像表達(dá)為空間位置模型。對于一幅圖像來說,其表示為:
I={(w1,x1,y1),(w2,x2,y2),
…,(wm,xm,ym)}
(1)
式中:w為圖像經(jīng)過聚類表達(dá)后得到的視覺單詞;m為視覺單詞的個(gè)數(shù);(x,y)為單詞坐標(biāo)位置。
這里需明確兩個(gè)重要的問題:①視覺單詞之間的聯(lián)系是什么;②應(yīng)該怎樣準(zhǔn)確地表達(dá)這種聯(lián)系??臻g位置矩陣最大的問題就是不包含視覺單詞之間的空間位置信息??紤]到視覺單詞的空間關(guān)系,兩兩視覺單詞能夠構(gòu)成矢量,形成一對單詞對。這樣一來圖像就能夠映射成空間矢量矩陣。如圖1所示,設(shè)CUP圖像提取出3個(gè)視覺單詞分別為w1、w2、w3,其中兩兩之間能夠構(gòu)成一個(gè)矢量,所以一共可以得到3個(gè)矢量,CUP圖像的空間矩陣表達(dá)式就可以表示為矢量的形式:
M={(w1,w2,x2-x1,y2-y1),
(w1,w3,x3-x1,y3-y1),
(w2,w3,x3-x2,y3-y2)}
(2)
M={(w1,w2,x2-x1,y2-y1),
(w1,w3,x3-x1,y3-y1),…,
(wm-1,wm,xm-xm-1,ym-ym-1)}
(3)
式中:m為單詞的個(gè)數(shù);w為視覺單詞。
圖1 空間位置模型與空間矢量模型Fig.1 Spatial position model and space vector model
將圖像表示為空間矢量矩陣后,雖然考慮到了視覺單詞之間的聯(lián)系,但仍有兩個(gè)問題有待商榷。
圖2 矢量位移對比Fig.2 Comparison of vector displacement
(2)如何利用空間矢量模型進(jìn)行分類。本文使用支持向量機(jī)(Support vector machine,SVM)[7]和K最近鄰分類器(K-nearest neighbor,KNN)[8]對圖像進(jìn)行分類,分別提出兩種不同的分類方法。
圖3為有效空間矢量矩陣的構(gòu)建過程圖,具體包括以下4個(gè)步驟。
圖3 有效空間矢量矩陣的構(gòu)建Fig.3 Structure of valid space vector matrix
(1)相減
將圖像庫中不同圖像間相同的單詞空間位置兩兩相減。這里假定有分別包含m個(gè)視覺單詞和n個(gè)視覺單詞的兩幅圖像I1和I2,空間位置矩陣分別為d1和d2。則它們的空間位置差矩陣為:
(4)
(5)
式中:d1={(wa,xa,ya),(wb,xb,yb),…,(wm,xm,ym)};d2={(wa,xa1,ya1),(wa,xa2,ya2),…,(wn,xn,yn)}。
假設(shè)I1中第一個(gè)視覺單詞為wa,I2中有2個(gè)與wa相同的單詞。依據(jù)式(5)就可以得到位移點(diǎn)的坐標(biāo)(xa1-xa,ya1-ya)和(xa2-xa,ya2-ya)。之后再將第1幅圖像中的單詞與第2幅圖像中的所有單詞進(jìn)行比較,就能夠得出I1與I2的空間位置差矩陣。其中,空間位置差矩陣中的每條記錄都包含信息(w1,x1-x2,y1-y2)。其中w1表示視覺單詞;x1和y1為單詞在圖像I1中的坐標(biāo);x2和y2為單詞在圖像I2中的坐標(biāo)。
(2)統(tǒng)計(jì)
(3)提取
提取單詞對個(gè)數(shù)不小于2的點(diǎn),并保存到對應(yīng)的空間矢量矩陣中。假設(shè)I1與I2的空間矢量矩陣分別為M1和M2,若空間位置差矩陣在某一個(gè)網(wǎng)格內(nèi)存在2個(gè)點(diǎn)w1和w2,那么:
(6)
(7)
同理,將(I1,I2)空間位置差相同的點(diǎn)全部提取出來。
以此類推,依次提取(I1,I3),(I1,I4),…,(I2,I3),(I2,I4),…,(IN-1,IN)中空間位置差值相同的點(diǎn)。
(4)消除重復(fù)
由于總會(huì)出現(xiàn)某一圖像的矢量與其他圖像相同的情況,所以需要去除M1,M2,M3,…,MN中的重復(fù)行,這樣的操作能夠剔除不相關(guān)的矢量,以保證得到的空間矢量矩陣能最有效地代表圖像的空間信息。
基于SVM分類器的圖像分類包括3個(gè)步驟:建立視覺短語庫、圖像表達(dá)和分類判決。
2.1.1 建立視覺短語庫
訓(xùn)練集圖像的視覺單詞經(jīng)過空間矢量轉(zhuǎn)化后,每一幅圖像都會(huì)表示成一個(gè)N×4的空間矢量矩陣。使用K均值聚類將距離比較近的4維矢量合并。為了簡化,這里假設(shè)K值為3,具體的視覺短語庫的構(gòu)建過程如圖4所示。
圖4 視覺短語庫構(gòu)造過程Fig.4 Structure of visual phrase lexicon
2.1.2 圖像表達(dá)
假設(shè)一個(gè)N×4的圖像空間矢量矩陣,計(jì)算每個(gè)矢量到視覺短語的距離,若與某一個(gè)視覺短語最近,就將這個(gè)短語的bin值加1。從而完成視覺短語直方圖的轉(zhuǎn)化,歸一化之后稱為視覺短語特征。最后,將視覺短語直方圖與視覺單詞直方圖結(jié)合,形成視覺語言直方圖。這樣,視覺語言模型不僅考慮到了全局信息,也包含空間特征。
視覺語言模型的主要原理包括:
(1)對2個(gè)特征集X、Y,將其劃為L個(gè)層(L=2,層1和層2分別為視覺單詞直方圖和視覺短語直方圖)。
(2)在層l中,若點(diǎn)x,y落入同一bin中,就稱x與y匹配。每個(gè)bin中匹配點(diǎn)的個(gè)數(shù)為min(Xi,Yi),其中Xi,Yi為相應(yīng)層下的第i個(gè)bin。
(8)
(4)統(tǒng)計(jì)每層l下的匹配點(diǎn)的總數(shù)Il,不同的l賦予不同的權(quán)重w。
(5)兩個(gè)點(diǎn)集X、Y匹配程度的匹配核為:
(9)
視覺語言模型的構(gòu)建過程主要包括以下兩個(gè)步驟。
(1)如圖5所示,對圖像特征聚類映射后,提取視覺單詞直方圖。之后將視覺單詞轉(zhuǎn)化為空間矢量矩陣,提取視覺短語直方圖,如圖6所示。
圖5 視覺單詞直方圖Fig.5 Histogram of visual words
圖6 視覺短語直方圖Fig.6 Histogram of visual phrase
(2)將兩個(gè)層的直方圖首尾連接,同時(shí)賦予每個(gè)層相應(yīng)的權(quán)重,如圖7所示。
圖7 視覺語言直方圖Fig.7 Histogram of visual language
2.1.3 分類判決
基于SVM分類器的具體訓(xùn)練和判決過程如圖8所示。
圖8 SVM分類器過程圖Fig.8 Flow diagram of SVM classification
根據(jù)KNN分類原理,利用空間矢量矩陣對圖像進(jìn)行分類:首先,對所有訓(xùn)練圖像的空間矢量矩陣進(jìn)行量化;然后,設(shè)M為測試圖像X的空間矢量矩陣,統(tǒng)計(jì)它與(M1,M2,…,MN)中相同行的個(gè)數(shù);最后,利用相同個(gè)數(shù)最多的K個(gè)樣本來判斷測試圖像X的標(biāo)簽。
2.2.1 量化統(tǒng)計(jì)
首先,分別對x方向及y方向的矢量差進(jìn)行量化,量化間隔設(shè)為3;然后,計(jì)算兩幅圖像具有相同行的個(gè)數(shù):
(10)
(11)
式中:N1、N2分別為空間矢量矩陣M1和M2的記錄行數(shù)。
2.2.2 參數(shù)選取
(1)K值的選取
本文利用交叉驗(yàn)證法(cross-validate)[9,10]選取最佳K值。
(2)權(quán)重的選取
如果認(rèn)定各特征的權(quán)重都相同,那么會(huì)大大降低圖像的分類效果。本文利用與測試圖像的空間矢量矩陣相同行的數(shù)量來分配權(quán)重。然后將權(quán)重累加,選定累加值最高的類別作為樣本的類別標(biāo)簽。
將相同行個(gè)數(shù)的平方值作為權(quán)重。設(shè)訓(xùn)練數(shù)據(jù)集包含2個(gè)標(biāo)簽,K個(gè)近鄰中有K1個(gè)作為標(biāo)簽1,K2個(gè)作為標(biāo)簽2(K1+K2=K),則判為標(biāo)簽1的概率為:
(12)
取權(quán)重后的概率為:
(13)
判為標(biāo)簽2的概率為:
(14)
取權(quán)重后的概率為:
(15)
式中:L1和L2分別為測試圖像與標(biāo)簽1和標(biāo)簽2的訓(xùn)練圖像空間矢量矩陣相同行的數(shù)量。
2.2.3 分類判決
通過參數(shù)的選取,確定了基于詞袋模型的最佳K值(KB)和基于空間矢量矩陣的最佳K值(KM)。這里假定訓(xùn)練集包括2個(gè)標(biāo)簽,那么對于一幅測試圖像,判為標(biāo)簽1的概率為:
(16)
判為標(biāo)簽2的概率為:
(17)
比較式(16)和式(17)的大小,將概率值相對較高的標(biāo)簽作為最終測試圖像的分類類別。
在圖像分類中,有些發(fā)生旋轉(zhuǎn)的圖像會(huì)對分類效果造成影響。如圖9所示,為了消除這種影響,本文提出了矢量模的方法。由于兩兩單詞構(gòu)成一個(gè)矢量,所以當(dāng)圖像旋轉(zhuǎn)時(shí),矢量的長度不變。因此對于一個(gè)N×3的圖像矩陣,具體的表達(dá)式為:
(18)
在構(gòu)建有效的空間矢量矩陣后,分別利用KNN和SVM分類器進(jìn)行分類。
圖9 圖像旋轉(zhuǎn)的分析Fig.9 Analysis of image rotation
本次實(shí)驗(yàn)在Caltech 101數(shù)據(jù)集和Caltech 256數(shù)據(jù)集中[11]分別選取8個(gè)類別,并將數(shù)據(jù)集分為測試圖像和訓(xùn)練圖像兩部分。從Caltech 101數(shù)據(jù)集中取8個(gè)類別的圖像(Faces_easy、向日葵、摩托車、蝴蝶、筆記本電腦、雙梔船、盆景、袋鼠)進(jìn)行分類實(shí)驗(yàn),實(shí)驗(yàn)分為二類類別(Faces_easy、向日葵)、四類類別(Faces_easy、向日葵、摩托車、蝴蝶)、六類類別(Faces_easy、向日葵、摩托車、蝴蝶、筆記本、雙梔船)和八類類別(Faces_easy、向日葵、摩托車、蝴蝶、筆記本、雙梔船、盆景、袋鼠);從Caltech 256數(shù)據(jù)集取8個(gè)類別的圖像(ak47、雙筒望遠(yuǎn)鏡、駱駝、鴨子、煙火、三角鋼琴、火星、網(wǎng)球鞋)進(jìn)行分類實(shí)驗(yàn),實(shí)驗(yàn)分為二類類別(ak47、雙筒望遠(yuǎn)鏡)、四類類別(ak47、雙筒望遠(yuǎn)鏡、駱駝、鴨子)、六類類別(ak47、雙筒望遠(yuǎn)鏡、駱駝、鴨子、煙火、三角鋼琴)和八類類別(ak47、雙筒望遠(yuǎn)鏡、駱駝、鴨子、煙火、三角鋼琴、火星、網(wǎng)球鞋),所有實(shí)驗(yàn)都重復(fù)10次取其統(tǒng)計(jì)平均,并對結(jié)果進(jìn)行分析。評價(jià)標(biāo)準(zhǔn)采用平均分類正確率(ACA)和平均類別準(zhǔn)確率(ACP)。
這里分別基于詞袋模型、空間金字塔、空間矢量模型(SpVM)、具有旋轉(zhuǎn)不變性的空間矢量模型(SpVM-ROT)進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)過程分別如圖10和圖11所示。
圖10 基于SVM分類的框架圖Fig.10 Frame diagram of classification based on SVM
圖11 基于KNN分類的框架圖Fig.11 Frame diagram of classification based on KNN
4.1.1 參數(shù)的選擇
(1)網(wǎng)格間距的選擇
網(wǎng)格間距的選擇對最終的分類結(jié)果有很大的影響。若網(wǎng)格間距太小,那么落入同一網(wǎng)格的單詞會(huì)很少,獲得的樣本太少;若網(wǎng)格間距太大,那么落入同一網(wǎng)格的單詞會(huì)很多,缺乏了準(zhǔn)確性。所以選擇一個(gè)合適的網(wǎng)格間距尤為重要。這里經(jīng)驗(yàn)性地選擇間距為3。
(2)權(quán)重的選擇
視覺語言直方圖分為兩層:1層是視覺單詞直方圖;2層是視覺短語直方圖。兩層的權(quán)重分別為w1和w2。經(jīng)過比較實(shí)驗(yàn),取w1=0.4,w2=0.6。
(3)聚類K的選擇
本文設(shè)置不同的K值,分析視覺短語庫大小對分類性能的影響。其中,二類分類的K值為500;四類分類的K值為800;六類分類的K值為1400;八類分類的K值為2000。
4.1.2 實(shí)驗(yàn)結(jié)果
Caltech-101數(shù)據(jù)集和Caltech-256數(shù)據(jù)集的ACA和ACP分類結(jié)果分別如表1、表2和圖12、圖13所示。
表1 Caltech-101基于SVM的平均分類正確率Table 1 ACA in Caltech-101 data collection based on SVM %
圖12 Caltech-101基于SVM的平均類別準(zhǔn)確率Fig.12 ACP in Caltech-101 data collection based on SVM
表2 Caltech-256基于SVM的平均分類正確率Table 2 ACA in Caltech-256 data collection based on SVM %
圖13 Caltech-256基于SVM的平均類別準(zhǔn)確率Fig.13 ACP in Caltech-256 data collection based on SVM
4.2.1 參數(shù)的選擇
通過交叉驗(yàn)證選擇K值,選用相同記錄個(gè)數(shù)的平方作為權(quán)重。
4.2.2 實(shí)驗(yàn)結(jié)果
Caltech-101數(shù)據(jù)集和Caltech-256數(shù)據(jù)集的ACA和ACP分類結(jié)果分別如表3、表4和圖14、圖15所示。
表3 Caltech-101基于KNN的平均分類正確率Table 3 ACA in Caltech-101 data collection based on KNN %
表4 Caltech-256基于KNN的平均分類正確率Table 4 ACA in Caltech-256 data collection based on KNN %
這里對分類錯(cuò)誤的圖像進(jìn)行統(tǒng)計(jì)和分析。如圖16所示,分類錯(cuò)誤的圖像主要包括兩類:一是受光照影響較大的圖像,可以考慮通過圖像濾波或圖像增強(qiáng)等對圖像進(jìn)行預(yù)處理;二是背景較為雜亂或者物體本身繪有花紋的圖像,這類影響具有不可避免性,所以如何避免此類干擾的影響,從而提高分類效果,將是下一步研究的重點(diǎn)。另外,當(dāng)考慮旋轉(zhuǎn)不變性時(shí),有些分類準(zhǔn)確率會(huì)出現(xiàn)不升反降的現(xiàn)象,這種現(xiàn)象主要發(fā)生在Caltech 101數(shù)據(jù)集上。這是因?yàn)镃altech 101數(shù)據(jù)集中很少有發(fā)生旋轉(zhuǎn)的圖像,圖像都相對簡單,從而導(dǎo)致聚類后的視覺單詞對之間難以分辨;而在圖像數(shù)據(jù)復(fù)雜的Caltech 256數(shù)據(jù)集上則表現(xiàn)良好。
圖16 錯(cuò)誤分類圖像示例Fig.16 Misclassification image samples
提出了一種基于視覺單詞間空間位置信息的空間矢量模型,并基于兩種分類器提出了不同的分類方法:當(dāng)使用SVM分類時(shí),將空間矢量矩陣轉(zhuǎn)化為視覺語言模型,利用視覺語言直方圖特征進(jìn)行分類;當(dāng)使用KNN分類時(shí),利用空間矢量矩陣具有相同行的個(gè)數(shù),通過選擇最佳的K值和權(quán)重進(jìn)行分類。最后,對本文提出的基于空間矢量模型的圖像分類方法進(jìn)行了對比實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果顯示,本文方法具有很好的分類效果。
參考文獻(xiàn):
[1] Li Fei-fei. Visual recognition: computational models and human psychophysics[D]. Pasadena: College of Electronic Engineering,California Institute of Technology,2005.
[2] 劉佳,傅衛(wèi)平,王雯,等. 基于改進(jìn)SIFT算法的圖像匹配[J]. 儀器儀表學(xué)報(bào),2013,34(5):1107-1112.
Liu Jia, Fu Wei-ping, Wang Wen, et al. Image matching based on improved sift algorithm[J]. Chinese Journal of Scientific Instrument,2013,34(5):1107-1112.
[3] 生海迪. 視覺詞袋模型的改進(jìn)及其在圖像分類中的應(yīng)用研究[D]. 濟(jì)南:山東師范大學(xué)信息科學(xué)與工程學(xué)院,2015.
Sheng Hai-di. The improvement of bag-of-visual-words model and its application research in images classification[D]. Ji′nan: College of Information Science and Engineering,Shandong Normal University,2015.
[4] Lazebnik S, Schmid C, Ponce J. Beyond bags of features: spatial pyramid matching for recognizing natural scene categories[C]∥IEEE Conference on Computer Vision and Pattern Recognition(CVPR),New York, USA,2006:2169-2178.
[5] Wu Lei, Hu Yang, Li Ming-jing, et al. Scale-invariant visual language modeling for object categorization[J]. IEEE Transactions on Multimedia,2009,11(2):286-294.
[6] Jiang Y, Wang R, Wang C. Scene classification with context pyramid features[J]. Journal of Computer-Aided Design and Computer Graphics,2010,22(8):1366-1373.
[7] 紀(jì)昌明,周婷,向騰飛,等. 基于網(wǎng)格搜索和交叉驗(yàn)證的支持向量機(jī)在梯級(jí)水電系統(tǒng)隱隨機(jī)調(diào)度中的應(yīng)用[J]. 電氣自動(dòng)化設(shè)備,2014,34(3):125-127.
Ji Chang-ming,Zhou Ting,Xiang Teng-fei,et al. Application of support vector machine based on grid search and cross validation in implicit stochastic dispatch of cascaded hydropower stations[J]. Electric Power Automation Equipment,2014,34(3):125-127.
[8] 閆永剛,馬廷淮,王建. KNN分類算法的MapReduce并行化實(shí)現(xiàn)[J]. 南京航空航天大學(xué)學(xué)報(bào),2013,45(4):550-555.
Yan Yong-gang,Ma Ting-huai,Wang Jian. Parallel implementing KNN classification algorithm using Mapreduce programing model[J]. Journal of Nanjing University of Aeronautics and Astronautics,2013,45(4):550-555.
[9] 嚴(yán)利鑫,黃珍,朱敦堯,等. 基于馬爾科夫毯和隱樸素貝葉斯的駕駛行為險(xiǎn)態(tài)辨識(shí)[J]. 吉林大學(xué)學(xué)報(bào):工學(xué)版,2016,46(6):1851-1857.
Yan Li-xin, Huang Zhen, Zhu Dun-yao, et al. Driving risk status identification based on Markov blanket hidden Naive Bayes[J]. Journal of Jilin University (Engineering and Technology Edition),2016,46(6):1851-1857.
[10] 王寅同,王建東,陳海燕. 時(shí)間序列降維及機(jī)場噪聲中的機(jī)型識(shí)別[J]. 吉林大學(xué)學(xué)報(bào):工學(xué)版,2016,46(4):1202-1208.
Wang Yan-tong,Wang Jian-dong,Chen Hai-yan. Time series dimensionality reduction and aircraft model recognition in airport-noise[J]. Journal of Jilin University (Engineering and Technology Edition),2016,46(4): 1202-1208.
[11] 湯鵬杰,王瀚漓,左凌軒. 并行交叉的深度卷積神經(jīng)網(wǎng)絡(luò)模型[J]. 中國圖像圖形學(xué)報(bào),2016,21(3):339-347.
Tang Peng-jie, Wang Han-li, Zuo Ling-xuan. Parallel cross deep convolution neural networks model[J]. Journal of Image and Graphics,2016,21(3):339-347.