侯 峰, 劉 斌, 卓 政, 卓 力*, 張 菁
(1.北京工業(yè)大學(xué) 北京計(jì)算智能與智能系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,北京 100124;2.北京工業(yè)大學(xué) 信息學(xué)部 微電子學(xué)院,北京 100124; 3.北京航空航天大學(xué) 計(jì)算機(jī)學(xué)院,北京 100191)
遙感技術(shù)在近些年發(fā)展迅速,遙感衛(wèi)星對(duì)地觀測(cè)分辨率越來(lái)越高,遙感圖像數(shù)據(jù)量呈現(xiàn)出爆發(fā)式的增長(zhǎng)。如何對(duì)海量的遙感圖像數(shù)據(jù)進(jìn)行高效的檢索,是發(fā)揮其效應(yīng)的關(guān)鍵所在[1]。
圖像檢索技術(shù)[2]的發(fā)展經(jīng)歷了兩個(gè)階段。第一階段是20世紀(jì)70年代基于文本的圖像檢索技術(shù) (Text-based Image Retrieval,TBIR),它采用關(guān)鍵字的方式來(lái)進(jìn)行圖像檢索,雖然簡(jiǎn)單快速,但是需要耗費(fèi)大量人工成本進(jìn)行標(biāo)注,在海量圖像數(shù)據(jù)場(chǎng)景下難以適用。第二階段是20世紀(jì)90年代以來(lái)基于內(nèi)容的圖像檢索(Content-based Image Retrieval,CBIR)。這一方法包含兩個(gè)核心技術(shù),分別是圖像特征提取和相似性度量。首先,提取圖像的低層視覺(jué)特征用于描述圖像的內(nèi)容,然后建立圖像特征描述符庫(kù),將每一幅圖像與其特征描述符之間建立一一對(duì)應(yīng)關(guān)系;在相似性度量階段,對(duì)查詢圖像以同樣的方式提取特征,然后與圖像特征描述符庫(kù)中所有特征描述符進(jìn)行相似性度量,并按照相似性大小進(jìn)行排序,將特征描述符最相似的若干幅圖像作為結(jié)果返回給用戶。對(duì)于CBIR來(lái)說(shuō),圖像檢索性能的優(yōu)劣主要取決于圖像特征的表達(dá)能力。因此,如何提取更具有表達(dá)能力和區(qū)分性的圖像特征就成為研究重點(diǎn)。
早期的遙感圖像檢索基于CBIR框架加以實(shí)現(xiàn),采用一些手工提取的特征,例如局部二值模式(LocalBinary Patter,LBP)、尺度不變特征變換(Scale-Invariant Feature Transformation,SIFT)、定向梯度直方圖(Histogram of Oriented Gradients,HOG)等,這些特征表征了圖像中一些局部點(diǎn)的統(tǒng)計(jì)特性,可以稱作局部描述子。由于這些局部描述子并不能描述整個(gè)圖像,因此需要將這些局部描述子使用一定的編碼方法構(gòu)建出更加緊湊的全局圖像描述符。常用的編碼方法有詞袋(Bag of Words,BoW)[3]、改進(jìn)的Fisher核(Improved Fisher Kernel,IFK)[4]和向量局部聚集描述符(Vector Locally Aggregated Descriptors,VLAD)[5]等。
2012年,深度卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)在大規(guī)模視覺(jué)識(shí)別挑戰(zhàn)賽中取得了當(dāng)時(shí)最優(yōu)的成績(jī),且性能遙遙領(lǐng)先第二名。自此,以CNN為代表的深度學(xué)習(xí)技術(shù)在圖像處理、機(jī)器視覺(jué)等領(lǐng)域不斷突破,取得了遠(yuǎn)超過(guò)傳統(tǒng)方法的性能。CNN通過(guò)多層卷積層來(lái)模仿人類(lèi)大腦的學(xué)習(xí)機(jī)制,可以自動(dòng)學(xué)習(xí)到從圖像細(xì)節(jié)紋理到局部塊再到高層語(yǔ)義的層次化遞進(jìn)表達(dá)。與手工特征相比較,CNN不僅減少了手工設(shè)計(jì)圖像特征的復(fù)雜數(shù)學(xué)推導(dǎo),而且學(xué)習(xí)到的深度特征相比手工特征更具魯棒性,區(qū)分性與表達(dá)能力也更強(qiáng)。
學(xué)者們將CNN應(yīng)用于遙感圖像檢索中,取得了諸多成果。2015年,Babenko等[6]使用不同的CNN、卷積層池化和編碼方法進(jìn)行了對(duì)比實(shí)驗(yàn)。他們得出的結(jié)論是,基于聚合池化的方法可以獲得更優(yōu)的性能。同年,Lin等[7]提出了一個(gè)深度學(xué)習(xí)框架,用于生成二進(jìn)制哈希碼,實(shí)現(xiàn)圖像的快速檢索。該方法以一種逐點(diǎn)的方式學(xué)習(xí)哈希碼和圖像表示,比較適合于大規(guī)模數(shù)據(jù)集的檢索。實(shí)驗(yàn)結(jié)果表明,在CIFAR-10和MNIST數(shù)據(jù)集上,該方法優(yōu)于幾種最新的哈希算法。2019年,Ge等[8]將不同的卷積特征圖融合成一個(gè)更大的特征圖,以保留圖像的空間信息,將所有卷積層特征進(jìn)行級(jí)聯(lián)后,采用maxpool方法進(jìn)行壓縮,并采用PCA降維,得到了優(yōu)于單一特征的檢索性能。同年,Xiong等[9]將注意力機(jī)制和新的注意模塊引入到CNN結(jié)構(gòu)中,使得人們更加關(guān)注顯著特征,并對(duì)其他特征進(jìn)行抑制,極大地提高了遙感圖像檢索的基線。2020年,彭晏飛等[10]提出了區(qū)域注意力網(wǎng)絡(luò),該方法有效抑制了遙感圖像背景和不相關(guān)的圖像區(qū)域,在兩大遙感圖像數(shù)據(jù)集上取得了優(yōu)異的效果。
本文以Google公司提出的Inception系列網(wǎng)絡(luò)的最新版本Inception v4[11]作為骨干網(wǎng)絡(luò),提出了一種深度特征字典學(xué)習(xí)方法,該方法對(duì)Inception v4第一個(gè)Reduction Block輸出的卷積特征圖進(jìn)行重組,然后使用重組特征學(xué)習(xí)深度特征字典,最后使用學(xué)習(xí)到的深度特征字典對(duì)卷積特征圖進(jìn)行緊湊的表達(dá),得到卷積層特征表示向量。該向量與全連接(Full Connection,FC)層特征級(jí)聯(lián)起來(lái),形成圖像的特征表示向量。為了避免“維度災(zāi)難”,采用Largevis方法對(duì)高維的特征表示向量進(jìn)行降維,通過(guò)L2距離度量降維后的低維特征之間的相似度,實(shí)現(xiàn)圖像檢索。在多個(gè)遙感圖像數(shù)據(jù)集上的實(shí)驗(yàn)表明,此方法可以有效地提升卷積層的特征表達(dá)能力,與現(xiàn)有的先進(jìn)方法相比,可以獲得更好的檢索性能。
目前基于CNN的遙感圖像檢索方案提取的深度特征分別來(lái)自于卷積層和FC層,其中卷積層特征來(lái)自于CNN的低層,包含的大多是圖像局部細(xì)節(jié)信息,可以表征圖像的低層視覺(jué)特性[12];FC層通常位于CNN的最后幾層,用于表征圖像的高層語(yǔ)義信息[13]。
根據(jù)特征提取階段所利用的深度特征的不同,可以將基于CNN的遙感圖像檢索方案分為兩大類(lèi):基于卷積層特征的遙感圖像檢索和基于FC層特征的遙感圖像檢索,卷積層特征和FC層特征如圖1所示。
圖1 從卷積層和FC層提取的深度特征
Inception系列網(wǎng)絡(luò)是Google提出的面向圖像分類(lèi)的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),它們最大的特點(diǎn)是在同一個(gè)卷積層中使用不同大小的卷積核來(lái)提取深度特征。相比前面幾代的Inception系列網(wǎng)絡(luò)結(jié)構(gòu),Inception v4使用大量小尺度卷積核來(lái)代替大尺度卷積核,并多次使用1*1卷積核將特征圖通道數(shù)控制在一個(gè)合理的范圍內(nèi)。這些操作使得網(wǎng)絡(luò)在保證性能不降低的情況下參數(shù)量更少,計(jì)算速度更快。除此之外,Inception v4進(jìn)一步整合了前幾代的Inception網(wǎng)絡(luò),引入了專(zhuān)門(mén)的Reduction Block,用于改變特征圖的寬度和高度。本文將采用Inception v4作為骨干網(wǎng)絡(luò),來(lái)提取圖像的深度特征。
圖2是Inception v4的第一個(gè)Reduction Block結(jié)構(gòu),它將輸入的35*35大小的特征圖變成了17*17。Reduction Block結(jié)構(gòu)包含3種操作,分別是3*3卷積、5*5卷積和maxpool操作。3種操作會(huì)得到3種不同類(lèi)型的特征圖,這些特征圖無(wú)法直接作為描述符用于圖像檢索。為此,本文對(duì)這些特征圖進(jìn)行了重組并對(duì)其進(jìn)行量化編碼,得到一種緊湊的特征表示向量用于圖像檢索。
提出了一種深度特征字典學(xué)習(xí)方法,該方法采用K均值聚類(lèi)算法對(duì)重組后的卷積層特征進(jìn)行訓(xùn)練,得到深度特征字典?;谠撟值鋵?duì)卷積層特征進(jìn)行緊湊表達(dá),得到卷積層的特征表示向量。
圖2 Inception v4中的Reduction Block結(jié)構(gòu)
在Inception v4的第一個(gè)Reduction Block模塊中,包含的3種操作可以表示為Fi_conv(.),i=1,2,3,分別表示3*3卷積、5*5卷積和maxpool操作,得到3組不同類(lèi)型的卷積特征圖,分別為5*5 conv,3*3 conv和maxpool conv,如圖3所示。最終輸出的數(shù)據(jù)量大小為Si_conv=Bi_conv*Ci_conv*Hi_conv*Wi_conv。其中,Bi_conv為批數(shù)量;Ci_conv為特征通道數(shù)目;Hi_conv和Wi_conv分別為特征圖的高度和寬度。
對(duì)于CNN來(lái)說(shuō),特征圖中每個(gè)特征點(diǎn)是通過(guò)某一卷積核對(duì)圖像中的對(duì)應(yīng)區(qū)域進(jìn)行卷積得到。采用相同大小、不同參數(shù)的卷積核進(jìn)行卷積,得到的是某一個(gè)感受野的不同響應(yīng)輸出,可以看作是對(duì)該區(qū)域的不同特征表示。對(duì)3組卷積特征圖數(shù)據(jù)進(jìn)行重新組織的過(guò)程如圖3所示。對(duì)于每組數(shù)據(jù),將每個(gè)特征圖中相同位置處的特征值提取出來(lái),形成一個(gè)一維向量xk,其中k的取值范圍是[1,2,… ,Hi_conv*Wi_conv],最終共獲得Hi_conv*Wi_conv個(gè)xk,這些向量共同構(gòu)成了一個(gè)樣本集合X=[x1,x2,…,xHiconv*Wiconv]∈RHiconv*Wiconv。
對(duì)于重組后的卷積層特征,通過(guò)K均值聚類(lèi)算法訓(xùn)練并構(gòu)建深度特征字典,用于對(duì)X集合進(jìn)行緊湊表示。K均值聚類(lèi)算法是一種無(wú)監(jiān)督方法,通過(guò)聚類(lèi)算法可以將數(shù)據(jù)表示為n個(gè)簇,假設(shè)設(shè)置的聚類(lèi)中心為n,每個(gè)簇的中心作為一個(gè)視覺(jué)單詞,集合起來(lái)構(gòu)成一個(gè)n維字典。
圖3 卷積層特征圖數(shù)據(jù)的組織過(guò)程示意圖
圖4 基于K均值聚類(lèi)的深度特征字典學(xué)習(xí)
接下來(lái),利用深度特征詞字典集合P,對(duì)卷積層特征圖進(jìn)行量化,得到卷積層特征的緊湊表示。根據(jù)2.1節(jié)中所示的方法,每組卷積層特征圖可以看作是Hi_conv*Wi_conv個(gè)一維的特征列向量,向量維度為Ci_conv,i=1,2,3,分別表示其由3*3卷積、5*5卷積和maxpool等不同操作得到。每個(gè)列向量都可以用深度特征字典中的某個(gè)特征單詞近似代替,代替的依據(jù)是該列向量與某個(gè)特征單詞的L2距離最小。通過(guò)統(tǒng)計(jì)字典中每個(gè)特征單詞出現(xiàn)的次數(shù),可以將每組卷積特征圖量化表示為一個(gè)L維的深度特征表示向量,L=1024。深度特征表示向量構(gòu)建過(guò)程如圖5所示。
圖5 卷積特征圖的編碼表示
利用深度特征字典對(duì)卷積特征圖進(jìn)行編碼,得到了一個(gè)1024維的深度特征表示向量Fi_conv,i=1,2,3,分別表示其由3*3卷積、5*5卷積和maxpool等不同操作得到。Fi_conv與FC層的特征向量Ffc進(jìn)行級(jí)聯(lián)后,得到圖像特征表示向量F,F(xiàn)的維度為1024+1536=2560,如圖6所示。
圖6 特征級(jí)聯(lián)與Largevis降維
為了降低計(jì)算量,節(jié)約存儲(chǔ)空間,對(duì)于得到的圖像特征表示向量,使用Largevis降維方法對(duì)其進(jìn)行降維。Largevis是唐建等[14]于2016年提出的降維方法,該方法被用于大規(guī)模超高維數(shù)據(jù)的可視化。它由t-SNE進(jìn)一步發(fā)展得到,采用了高效的 KNN圖來(lái)構(gòu)建算法,并采用最近鄰搜索方法進(jìn)行優(yōu)化。Largevis算法相對(duì)于t-SNE不僅極大地降低了訓(xùn)練的時(shí)間復(fù)雜度,而且在數(shù)據(jù)由高維空間向低維空間映射的過(guò)程中拉大了類(lèi)間距離,縮小了類(lèi)內(nèi)距離。
采用Largevis對(duì)深度特征進(jìn)行降維以后的特征向量為64維,作為最終的圖像特征表示。
本文采用L2距離度量特征之間的相似性。n維空間中兩個(gè)特征x1(x11,x12,…,x1n)與x2(x21,x22,…,x2n)間的L2距離定義如下:
(1)
為了驗(yàn)證筆者提出的遙感圖像檢索方法的有效性,分別在UCM、RS19和RSSCN三個(gè)數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),并與現(xiàn)有的各種先進(jìn)方法進(jìn)行了對(duì)比。
目前最常用的遙感圖像檢索數(shù)據(jù)集有UCM、RS19和RSSCN等。其中RS19[15]是武漢大學(xué)發(fā)布的一個(gè)高分辨率衛(wèi)星場(chǎng)景數(shù)據(jù)集,一共包括19個(gè)地物類(lèi)別,每個(gè)類(lèi)別有50張左右的圖像,每幅圖像大小是600像素×600像素,一共有1005張圖像。UCM數(shù)據(jù)集[16]由加州大學(xué)摩賽德分校發(fā)布,一共包含了21類(lèi)地物,每個(gè)類(lèi)別100張圖像,每張圖像大小是256像素×256像素。RSSCN7數(shù)據(jù)集[17]稱為遙感場(chǎng)景數(shù)據(jù)集,一共有7個(gè)類(lèi)別,每個(gè)類(lèi)別包含400張圖像,圖像大小是400像素×400像素。
使用平均準(zhǔn)確率(mean Average Precision,mAP)作為檢索性能評(píng)價(jià)指標(biāo)[18],平均準(zhǔn)確率是遙感圖像檢索最常用的評(píng)價(jià)指標(biāo),定義如下:
(2)
式中:Q為類(lèi)別數(shù)目;AveP的定義為
(3)
式中:P(k)為準(zhǔn)確率;rel(k)是一個(gè)分段函數(shù),當(dāng)?shù)趉張圖像為相關(guān)圖像時(shí),其值為1,否則為0。
采用“預(yù)訓(xùn)練+微調(diào)”的策略對(duì)Inception v4網(wǎng)絡(luò)進(jìn)行訓(xùn)練,解決無(wú)法在小規(guī)模的數(shù)據(jù)集上訓(xùn)練深層網(wǎng)絡(luò)的問(wèn)題。首先利用ImageNet數(shù)據(jù)集對(duì)Inception v4網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練,得到初始的網(wǎng)絡(luò)參數(shù)。然后利用遙感圖像數(shù)據(jù)集對(duì)初始網(wǎng)絡(luò)參數(shù)進(jìn)行微調(diào),得到面向遙感圖像檢索任務(wù)的網(wǎng)絡(luò)參數(shù)。接下來(lái),提取網(wǎng)絡(luò)卷積層和FC層特征,按照第2節(jié)中所述的方法處理后得到圖像特征表示向量。
對(duì)于遙感圖像數(shù)據(jù)集,按照80%訓(xùn)練集,20%測(cè)試集的比例進(jìn)行劃分。單次實(shí)驗(yàn)中對(duì)數(shù)據(jù)集隨機(jī)劃分,進(jìn)行3次重復(fù)實(shí)驗(yàn),對(duì)3次的結(jié)果取平均作為最終的實(shí)驗(yàn)結(jié)果。
實(shí)驗(yàn)采用PyTorch開(kāi)源框架進(jìn)行搭建。計(jì)算硬件平臺(tái)使用單張Titan Xp 12GB的顯卡進(jìn)行訓(xùn)練和測(cè)試。訓(xùn)練迭代次數(shù)設(shè)置為100輪,batch大小設(shè)置為16,學(xué)習(xí)率為0.001。
4.3.1 不同卷積特征表示向量對(duì)檢索性能的影響
通過(guò)使用深度特征字典對(duì)由Inception v4的第一個(gè)Reduction Block模塊輸出的3組卷積特征進(jìn)行量化,可以獲得相應(yīng)的卷積特征表示向量,表示為F3*3_conv、F5*5_conv和Fmaxpool。這些特征表示向量分別與FC特征級(jí)聯(lián),形成用于圖像檢索的圖像特征表示向量,分別為F3*3_conv+FC、F5*5_conv+FC和Fmaxpool_conv+FC,維度均為2560,相似性度量采用的是式(1)所示的L2距離度量準(zhǔn)則。在UCM、RS19和RSSCN7數(shù)據(jù)集使用3種特征表示向量得到的檢索性能如表1所示。
表1 不同卷積特征表示向量對(duì)檢索性能的影響
可以看出,卷積核的大小對(duì)檢索性能有很大的影響。綜合來(lái)看,采用5*5的卷積核得到的卷積特征表示向量可以獲得更好的檢索性能。因此可以選擇5*5卷積核得到的特征表示向量與FC層特征級(jí)聯(lián),作為圖像的特征表示向量。
4.3.2 不同降維算法對(duì)檢索性能的影響
為了驗(yàn)證不同降維算法對(duì)檢索性能的影響,在UCM、RS19和RSSCN7三個(gè)數(shù)據(jù)集上使用FICA( Fast Independent Component Analysis)、PCA(Principal component analysis)以及Largevis三種降維算法對(duì)4.3.1節(jié)中的F5*5_conv+FC進(jìn)行降維,并進(jìn)行了對(duì)比,對(duì)比結(jié)果見(jiàn)表2。為了達(dá)到速度與精度的均衡,設(shè)置降維的維度為64??梢钥闯?,使用Largevis降維算法所得到的降維向量的檢索準(zhǔn)確率在3個(gè)數(shù)據(jù)集上均遠(yuǎn)超另外兩種降維算法,甚至高于4.3.1節(jié)中未降維之前的檢索準(zhǔn)確率。這是因?yàn)長(zhǎng)argevis可以將高維數(shù)據(jù)投影到低維空間,在減少高維數(shù)據(jù)冗余的同時(shí),能有效地拉大原來(lái)在高維空間中不同類(lèi)別數(shù)據(jù)之間的距離,減小相同類(lèi)別數(shù)據(jù)之間的距離,從而提升特征的區(qū)分能力。
表2 采用Largevis降維對(duì)檢索性能的影響
4.3.3 與其他方法的對(duì)比結(jié)果
為了驗(yàn)證筆者提出的圖像檢索方法的有效性,將其與現(xiàn)有的7種遙感圖像檢索方法進(jìn)行對(duì)比。在3個(gè)數(shù)據(jù)集上和其他方法所得到的檢索性能對(duì)比結(jié)果如表3所示,表中的“—”表示原文中未進(jìn)行該數(shù)據(jù)集的準(zhǔn)確率測(cè)試實(shí)驗(yàn)。
表3 mAP與現(xiàn)有檢索方法對(duì)比
由表3可以看出,與現(xiàn)有方法相比,筆者提出的方法在RS19和RSSCN7數(shù)據(jù)集上都能達(dá)到較好的檢索性能。而在UCM數(shù)據(jù)集上,mAP值僅比性能最好的方法低0.37%。采用Inception v4網(wǎng)絡(luò)架構(gòu),可以獲得描述性好、表達(dá)能力強(qiáng)的深度特征。采用深度特征進(jìn)行字典學(xué)習(xí)以后對(duì)圖像細(xì)節(jié)表達(dá)更加充分,更加有利于遙感圖像檢索性能的提升。而采用Largevis對(duì)深度特征進(jìn)行降維,不但可以降低計(jì)算復(fù)雜度,節(jié)約存儲(chǔ)空間,還可以進(jìn)一步提升深度特征的區(qū)分能力,從而獲得最優(yōu)的檢索性能。
本文基于Inception v4網(wǎng)絡(luò)結(jié)構(gòu),提出了一種遙感圖像檢索方法。該方法對(duì)卷積特征圖數(shù)據(jù)進(jìn)行了重組,利用K均值聚類(lèi)算法建立深度特征字典,對(duì)卷積層特征進(jìn)行緊湊表示。然后將卷積層特征表示向量與FC層特征進(jìn)行級(jí)聯(lián),得到圖像特征表示向量。對(duì)其采用Largevis進(jìn)行降維,進(jìn)一步提升特征的區(qū)分能力。最后,利用L2距離度量準(zhǔn)則進(jìn)行特征相似性比對(duì),實(shí)現(xiàn)遙感圖像檢索。在RS19、RSSCN7和UCM數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,與現(xiàn)有方法相比,該方法能獲得更好的檢索性能。在今后的工作中,將努力學(xué)習(xí)更深層次的視覺(jué)字典,以進(jìn)一步提高檢索性能。