殷業(yè)瑜,高家全,李 瑩
(南京師范大學(xué)計(jì)算機(jī)與電子信息學(xué)院/人工智能學(xué)院,江蘇 南京 210023)
自20世紀(jì)末,關(guān)于圖像檢索的研究就陸續(xù)展開. 一般來看,圖像檢索根據(jù)檢索形式可分為兩類:基于文本的圖像檢索[1](Text Based Image Retrieval,TBIR)和基于內(nèi)容的圖像檢索[2](Content Based Image Retrieval,CBIR). TBIR是通過文字信息檢索與此關(guān)聯(lián)的圖片資源,CBIR則是直接通過用戶上傳的圖片檢索關(guān)聯(lián)圖片. TBIR的優(yōu)點(diǎn)是查詢方便快捷,缺點(diǎn)是其對(duì)圖片的描述比較粗略,檢索結(jié)果往往不夠精確,用戶需要瀏覽大量的圖片才能最終篩選出自己想要的圖片. 因此,檢索性能更優(yōu)的CBIR逐漸成為主流檢索方法.
CBIR檢索技術(shù)主要包含特征提取、相似性度量、重排序3個(gè)核心步驟. 特征提取是提取圖像的代表性特征以降低圖像的維度,通常以1個(gè)特征向量的形式表示1張圖片;度量學(xué)習(xí)是利用度量函數(shù)計(jì)算圖像特征之間的距離,得到特征之間的相似度. 在訓(xùn)練網(wǎng)絡(luò)時(shí),將其作為損失函數(shù),使得相似圖像之間的距離更近,不相似的圖像距離更遠(yuǎn);而重排序則是利用額外的度量方式,進(jìn)一步修正檢索結(jié)果,從而提升檢索效果.
圖像特征提取的好壞會(huì)直接影響圖像檢索精度. 在CBIR發(fā)展早期,常用的底層特征包括顏色特征、紋理特征、形狀特征以及空間關(guān)系特征等,這些底層特征通常局限性較強(qiáng),往往只關(guān)注圖像的某一方面特征. 為了彌補(bǔ)底層特征的不足,人們提出了直接通過手工設(shè)計(jì)的圖像特征,主要有SIFT[3]、GIST[4]以及HOG[5]等,這些特征在一定程度上彌補(bǔ)了早期底層特征的缺陷,但是隨著圖像數(shù)量的增多以及圖像內(nèi)容的多樣化,手工特征也難以滿足人類對(duì)于圖像表示的需求,這些低層特征難以表示圖像的高層語義.
隨著深度學(xué)習(xí)的大放異彩,研究者在各類圖像數(shù)據(jù)集中訓(xùn)練網(wǎng)絡(luò),利用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)學(xué)習(xí)并提取圖像特征. CNN上的參數(shù)通常通過訓(xùn)練海量的數(shù)據(jù)來學(xué)習(xí),訓(xùn)練完成后各神經(jīng)網(wǎng)絡(luò)層得到最優(yōu)的參數(shù),從而提取到優(yōu)異的圖像特征. 利用深度CNN提取的特征在理解圖像語義方面遠(yuǎn)勝于手工特征,并且可以利用神經(jīng)網(wǎng)絡(luò)中的卷積層、池化層以及全連接層等各層參數(shù)的設(shè)置來調(diào)整模型的擬合能力,使提取到的圖像特征更科學(xué),更能代表圖片的高層語義. 從2012年Krizhevsky等[6]提出AlexNet模型后,研究者為了得到更優(yōu)異的、更深層次的特征,設(shè)計(jì)的網(wǎng)絡(luò)越來越深,如GoogLeNet[7]、VGG[8]等. 但是隨著網(wǎng)絡(luò)層次的加深,訓(xùn)練難以收斂,檢索的精度反而開始下降,故而He等對(duì)CNN進(jìn)行改進(jìn),提出了ResNet[9-13]等模型解決網(wǎng)絡(luò)的退化問題.
此外,隨著圖像檢索在各個(gè)領(lǐng)域上的應(yīng)用愈發(fā)廣泛,對(duì)于檢索的要求也隨之提高. 單一特征僅僅從圖像的一方面特點(diǎn)衡量圖像,無法準(zhǔn)確地描述出不同圖像之間的區(qū)別. 因此,通過單一特征的圖像檢索無法滿足精確檢索的要求,針對(duì)印花圖案的檢索則更為復(fù)雜. 為了解決印花圖案檢索問題,本文提出一種通過融合多個(gè)特征以此表征圖像進(jìn)行檢索的方案,即從多個(gè)特征中選取具有互補(bǔ)性的特征,利用合理的方法進(jìn)行融合. 實(shí)驗(yàn)證明,通過融合形成的新特征可以從多個(gè)角度衡量圖像,具有更好的表述力.
本節(jié)將詳細(xì)描述基于特征融合的印花圖案檢索模型PGLN的網(wǎng)絡(luò)層次結(jié)構(gòu)和訓(xùn)練流程.
圖1展示了本文提出的基于特征融合的印花圖案檢索模型PGLN. 模型利用卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)深度全局和局部特征,結(jié)合GeM池化和注意力機(jī)制檢索相似圖像. 第一階段使用全局特征進(jìn)行檢索,以有效地選擇最相似的圖像. 第二階段使用局部特征對(duì)檢索結(jié)果進(jìn)行重排序,從而進(jìn)一步提高系統(tǒng)的檢索精度.
圖1 PGLN模型結(jié)構(gòu)Fig.1 The structure of PGLN model
ResNet網(wǎng)絡(luò)結(jié)構(gòu)能夠有效緩解梯度消失的問題,其中ResNet-50模型更是兼顧準(zhǔn)確性和運(yùn)算量. 鑒于此,本文的PGLN網(wǎng)絡(luò)結(jié)構(gòu)使用ResNet-50作為主干網(wǎng)絡(luò).
給定一幅圖像,本文利用ResNet-50進(jìn)行特征提取,得到兩個(gè)特征圖:S∈RHS×WS×CS和D∈RHD×WD×CD,分別表示較淺的和較深的激活圖,其中H、W、C分別表示通道的高度、寬度和數(shù)量.對(duì)于常見的卷積網(wǎng)絡(luò),HD≤HS,WD≤WS和CD≥CS,越深層次的特征圖越小,通道數(shù)量更多,sh,w∈RCS和dh,w∈RCD表示h,w位置的特征圖.對(duì)于一般的網(wǎng)絡(luò)設(shè)計(jì),這些特征值都是非負(fù)的,因?yàn)樗鼈兪窃赗eLU非線性之后得到的.
為了將深度激活圖聚合為一個(gè)全局特征,本文采用了廣義平均池(GeM),它有效地加權(quán)了每個(gè)特征的貢獻(xiàn).全局特征學(xué)習(xí)的另一個(gè)關(guān)鍵組成部分是對(duì)聚合表示進(jìn)行白化;本文通過一個(gè)全連接層F∈RCF×CD將它集成到本文的模型中,其學(xué)習(xí)到的偏置為bF∈RCF.這兩個(gè)部分整合成一個(gè)總結(jié)了整個(gè)圖像的判別內(nèi)容的全局特征g∈RCF:
(1)
對(duì)于局部特征,只選擇相關(guān)的區(qū)域進(jìn)行匹配是很重要的.這可以通過增加注意模塊M來實(shí)現(xiàn),該模塊的目標(biāo)是預(yù)測具有判別性的局部區(qū)域.設(shè)為A=M(S),其中M是一個(gè)小的卷積網(wǎng)絡(luò),A∈RHS×WS表示與S特征相關(guān)聯(lián)的注意力得分圖.
此外,CNN網(wǎng)絡(luò)提取出的圖像局部特征數(shù)以萬計(jì),容易導(dǎo)致維度過高,所以必須對(duì)它們進(jìn)行緊湊的表示. 為此,本文增加一個(gè)小的卷積自編碼器(AE)模塊,它負(fù)責(zé)學(xué)習(xí)合適的低維表示.局部描述符為L=T(S),其中L∈RHS×WS×CT,T是自編碼器的編碼部分,對(duì)應(yīng)為一個(gè)帶有CT濾波器的的1×1卷積層.與S相反,局部描述符L不被限制為非負(fù)的.
對(duì)于全局特征的學(xué)習(xí),本文采用一個(gè)結(jié)合全局損失和局部損失的新?lián)p失函數(shù),融合了softmax loss和cross-entropy loss. 此外還添加了ArcFace margin,它通過誘導(dǎo)較小的類內(nèi)方差,在全局特征學(xué)習(xí)方面表現(xiàn)出了良好的效果.
經(jīng)Arcface調(diào)整后的余弦相似度可以表示為:
(2)
式中,u為余弦相似度,m為ArcFace margin,c表示對(duì)應(yīng)標(biāo)簽是否為ground-truth類,值為1表示是同一類,值為0則非同一類.在這種情況下,用softmax歸一化計(jì)算的cross-entropy loss可以表示為:
(3)
為了訓(xùn)練局部特征,本文使用了兩個(gè)損失函數(shù).首先,第一個(gè)是MSE loss損失,使得自編碼器良好地重建S.以S′=T′(L)作為S的重構(gòu)版本,兩者維數(shù)相同,其中T′為一個(gè)帶有CT濾波器的的1×1卷積層,然后是ReLU.損失如式4所示:
(4)
第二個(gè)是cross-entropy loss,促使注意力模塊選擇更具判別性的局部特征,通過注意力權(quán)重ah,w對(duì)重構(gòu)特征S′進(jìn)行池化,如式(5)所示:
(5)
然后使用一個(gè)標(biāo)準(zhǔn)的softmax-cross-entropy loss:
(6)
式中,vi和bi分別指第i類的分類器的權(quán)重和偏差,k為各真實(shí)類別.該損失函數(shù)的目的是為了使判別性特征的注意權(quán)重變大.綜上,PGLN網(wǎng)絡(luò)結(jié)構(gòu)的損失為Lg+λLr+βLa.
考慮到CNN網(wǎng)絡(luò)提取出的圖像局部特征數(shù)以萬計(jì),容易導(dǎo)致維度過高,所以必須對(duì)圖像特征進(jìn)行緊湊的表示. 為此,本文增加一個(gè)小的AE卷積自編碼器模塊,它負(fù)責(zé)學(xué)習(xí)合適的低維表示.
L=T(S),L∈RHS×WS×CT,
(7)
式中,T是自編碼器的編碼部分,對(duì)應(yīng)為一個(gè)帶有CT濾波器的的1×1卷積層.與S相反,局部描述符L不被限制為非負(fù)的.
為了衡量PGLN模型在印花圖案檢索任務(wù)上的檢索效果,驗(yàn)證特征融合方式的有效性,本文采用 Pattern 數(shù)據(jù)集中的Design設(shè)計(jì)圖子集進(jìn)行實(shí)驗(yàn),將PGLN模型與局部特征提取算法、全局特征提取算法以及特征融合算法分別進(jìn)行了比較.
圖像檢索主要包含特征提取、相似性度量、重排序這3個(gè)核心模塊. 在特征提取階段,提取出的特征優(yōu)劣將直接影響圖像檢索的精度. 為了提高圖像檢索性能,需要兩種類型的圖像表示:全局特征和局部特征. 一方面,全局特征通常被稱為“全局描述符”,它通常以一種緊湊的表示總結(jié)圖像的內(nèi)容. 另一方面,局部特征包含特定圖像區(qū)域的描述符和幾何信息. 總地來說,全局特征的查全率更高,而局部特征的查準(zhǔn)率更高. 全局特征可以學(xué)習(xí)非常不同姿態(tài)的相似性,而局部特征無法找到相應(yīng)關(guān)系;與此同時(shí),基于局部特征的幾何驗(yàn)證所提供的分?jǐn)?shù)通常能很好地反映圖像相似性,比全局特征距離更可靠. 然而,這兩種特征在特征表示方面具有顯著差異,因此,本文采用特征融合方法,克服傳統(tǒng)特征提取方法較為片面、底層特征拘泥于圖像細(xì)節(jié)、深層特征只考慮圖像整體等局限性.
在實(shí)驗(yàn)中,本文采用的數(shù)據(jù)集為Pattern數(shù)據(jù)集中的Design設(shè)計(jì)圖子集,圖2展示了實(shí)驗(yàn)數(shù)據(jù)集的部分圖片.
圖2 Pattern數(shù)據(jù)集中的Design設(shè)計(jì)圖子集Fig.2 A subset of the Pattern data set named Design data set
設(shè)計(jì)圖(Design):包含組成元素、圖案風(fēng)格、排列方式等3種類別標(biāo)簽,共計(jì)29種標(biāo)簽,例如花卉、田園風(fēng)、單獨(dú)圖樣等. 數(shù)據(jù)規(guī)模為20 000張圖片,主要是由專業(yè)設(shè)計(jì)人員利用CAD軟件設(shè)計(jì)得到的高清設(shè)計(jì)圖. 圖片通常較大,大小一般在1M~10M之間,清晰度高.
在實(shí)驗(yàn)中,各項(xiàng)基本參數(shù)的設(shè)置如下:PGLN模型使用的主干網(wǎng)絡(luò)為ResNet-50,模型由預(yù)先訓(xùn)練的ImageNet權(quán)重初始化,根據(jù)檢索任務(wù)進(jìn)行了微調(diào). 其中,從conv4輸出中得到較淺的特征映射S作為局部特征,從conv5輸出中得到較深的特征映射D作為全局特征.D的通道數(shù)是CD=2048;GeM池化使用參數(shù)p=3. 之后使用白化全連通層,產(chǎn)生一個(gè)維度為2 048的全局特征CF=2048.S的通道數(shù)是CS=1024;自動(dòng)編碼器模塊學(xué)習(xí)這個(gè)特征映射的降維CT=128.注意力網(wǎng)絡(luò)M有2個(gè)卷積層,卷積核大小為1×1;第一層使用ReLU作為激活函數(shù),第二層使用Softplus作為激活函數(shù). 檢索的評(píng)價(jià)指標(biāo),選擇平均檢索精度mAP,該項(xiàng)指標(biāo)能夠較為全面地反映檢索的準(zhǔn)確率.
實(shí)驗(yàn)1:為了驗(yàn)證PGLN算法在印花檢索任務(wù)上的有效性,我們將PGLN與SIFT、DELF(DEep Local Feature)等局部特征提取算法進(jìn)行了對(duì)比.
目前較為常用的局部特征包括基于手工的傳統(tǒng)特征與基于深度學(xué)習(xí)的局部特征. 其中,傳統(tǒng)局部特征提取算法包括SIFT算法、LBP算法等,基于深度學(xué)習(xí)的局部特征提取包括DELF算法等. 在實(shí)驗(yàn)中,本文以Design數(shù)據(jù)集為例,將這3種局部特征提取算法與PGLN算法進(jìn)行了對(duì)比.
表1 不同局部特征提取算法在Design數(shù)據(jù)集上的檢索結(jié)果Table 1 Retrieval results of different local featureextraction algorithms on the Design data set
從表1可以看出,針對(duì)Design數(shù)據(jù)集,SIFT算法、LBP算法的檢索精度非常低,分別為48.63%和49.32%. DELF算法的檢索精度略高于二者,達(dá)到了56.79%. 在該數(shù)據(jù)集上,PGLN模型的檢索精度最高,達(dá)到了66.73%. 由此可以看出,一方面,無論是哪種局部特征提取算法,提取出的局部特征往往只能表征圖像的局部細(xì)節(jié),并沒有深入挖掘特征的全局語義信息. 因此,僅使用局部特征提取算法來提取印花圖案的特征是遠(yuǎn)遠(yuǎn)不夠的,本文的PGLN模型則結(jié)合了全局特征提取算法,有效提升了檢索的精度. 另一方面,Design數(shù)據(jù)集為Pattern數(shù)據(jù)集中的設(shè)計(jì)圖子集,圖片的內(nèi)容最為豐富多樣且標(biāo)簽數(shù)眾多,檢索的難度較高. 4種算法在該數(shù)據(jù)集上的檢索精度尚未達(dá)到工業(yè)應(yīng)用的檢索要求.
本文從Design數(shù)據(jù)集上選取了一張印花圖片作為查詢圖片,對(duì)比了幾種局部特征提取算法的檢索效果,檢索結(jié)果如圖3所示.
圖3 不同局部特征提取算法的檢索結(jié)果Fig.3 Retrieval results of different local feature extraction algorithms
本文選擇了一張具有“人”“頭像”“三角”“抽象”等4個(gè)標(biāo)簽的印花圖片作為查詢圖像,紅框內(nèi)為檢索正確的圖片. 從圖3來看,SIFT算法與LBP算法的檢索效果較差,檢索出的前5張圖片中僅有2張與查詢圖像相似. 作為深度局部特征提取算法,DELF算法的檢索效果要優(yōu)于SIFT和LBP這兩種傳統(tǒng)局部特征提取算法,檢索出的前5張圖片中有3張與查詢圖像相似. PGLN模型則展現(xiàn)出更為精確的檢索效果,檢索出的前5張圖片中僅有1張與查詢圖像不相似.
實(shí)驗(yàn)2:為了驗(yàn)證PGLN算法相較于全局特征提取算法的優(yōu)勢(shì),我們將PGLN與HOG、VGG、ResNet等全局特征提取算法進(jìn)行了對(duì)比.
常用的全局特征包括傳統(tǒng)全局特征和深度全局特征. 傳統(tǒng)全局特征包括Color Histogram特征、HOG特征和Gabor特征等. Color Histogram特征體現(xiàn)圖像的顏色分布,HOG特征更關(guān)注圖像中目標(biāo)的形狀輪廓,Gabor特征則常常用來描述圖像的全局紋理信息. 深度全局特征包括VGG、ResNet等深度網(wǎng)絡(luò)模型提取出的圖像特征.
表2 不同全局特征提取算法在Design數(shù)據(jù)集上的檢索結(jié)果Table 2 Retrieval results of different global featureextraction algorithms on the Design data set
表2為不同全局特征提取算法在Design數(shù)據(jù)集上的檢索結(jié)果. 從特征提取方式來看,3種傳統(tǒng)全局特征提取算法在Design數(shù)據(jù)集上的檢索精度均未達(dá)到50%,VGG、ResNet和PGLN這3種深度全局特征提取算法的檢索精度則均在55%以上,其中PGLN模型取得了高達(dá)66.73%的檢索精度. 因此,深度全局特征提取算法在該數(shù)據(jù)集上的檢索優(yōu)勢(shì)極為明顯. 同時(shí),深度網(wǎng)絡(luò)的層數(shù)越深,其提取到的全局圖像特征可能更具代表性,檢索精度也越高.
為了直觀地展示不同全局特征提取算法的檢索效果,本文選取了一張標(biāo)簽為“文字”“抽象”的印花圖片作為查詢圖像,紅框內(nèi)為檢索正確的圖片. 圖4中,Color Histogram特征的檢索效果較差,只檢索出了1張與查詢圖像相似的圖片,其余4張圖片與查詢圖片只在顏色分布上較為相似. Gabor特征和VGG-19模型均檢索出了2張相似圖片,ResNet-50則檢索出了3張相似圖片. PGLN的檢索效果最佳,檢索出了 4張相似圖片.
實(shí)驗(yàn)3:為了證明PGLN算法先用全局特征檢索、再用局部特征排序的特征融合策略的有效性,我們將PGLN與目前主流的特征融合方法如FashionNet等進(jìn)行了對(duì)比.
目前主流的特征融合網(wǎng)絡(luò)包括U-net、FashionNet、HyperNet、ExFuse等,本文在Design數(shù)據(jù)集上驗(yàn)證了各個(gè)網(wǎng)絡(luò)的性能.
圖4 不同全局特征提取算法的檢索結(jié)果Fig.4 Retrieval results of different global feature extraction algorithms
表3 不同特征融合算法在Design數(shù)據(jù)集上的檢索結(jié)果Table 3 Retrieval results of different feature fusionalgorithms on the Design data set
從表3可以看出,PGLN模型在所有的特征融合方法中取得了最高的檢索精度. 這表明,先使用全局特征進(jìn)行常規(guī)檢索,再使用局部特征對(duì)檢索結(jié)果重排序的特征融合方式針對(duì)印花圖案檢索效果較好.
此外,本文選取了一張印花圖片作為查詢圖像進(jìn)行了測試,對(duì)比了幾種特征融合算法的效果.
圖5展示了5種特征融合算法的檢索結(jié)果,紅框內(nèi)為檢索正確的圖片. 查詢圖像的標(biāo)簽為“花卉”“田園風(fēng)”. 從圖中可以看出,FPN、FashionNet、HyperNet、ExFuse等算法在印花圖案檢索任務(wù)上取得了一定的效果,檢索出的前5張圖片中均包含了2~3張正確相似圖片;PGLN模型則取得了最優(yōu)的檢索效果,檢索出的前5張圖片包含了4張正確相似圖片. 這表明本文的PGLN特征融合方法在印花圖案檢索上具有顯著的優(yōu)勢(shì),先通過全局特征進(jìn)行檢索,后通過局部特征重排序的方法能夠充分利用圖像特征,提升檢索準(zhǔn)確率.
圖5 不同特征融合算法的檢索結(jié)果Fig.5 Retrieval results of different feature fusion algorithms
本文針對(duì)單一特征對(duì)圖像的表征能力不足的問題,提出一種融合全局特征和局部特征的網(wǎng)絡(luò)模型PGLN,即先通過全局特征進(jìn)行圖像檢索,再利用局部特征對(duì)檢索結(jié)果進(jìn)行排序. 介紹了PGLN的網(wǎng)絡(luò)框架的各部分細(xì)節(jié),包括網(wǎng)絡(luò)的各部分組成、全局特征提取、局部特征提取、損失函數(shù)及降維模塊. 最后與單一局部特征、單一全局特征以及特征融合等其他特征提取方法進(jìn)行對(duì)比. 結(jié)果表明,本文提出的PGLN模型,無論與單一局部特征或全局特征相比,針對(duì)印花圖案的檢索效果都是最佳的. 同時(shí),相比于其他的特征融合方式,本文的融合方式也取得了最優(yōu)表現(xiàn),證明了先用全局特征檢索、再用局部特征排序的特征融合方法的有效性.