韓雪昆 苗奪謙 張紅云 張齊賢
文本-圖像檢索(Text Based Image Retrieval, TBIR)是目前常用的檢索方法之一.但是,文本包含的信息相對有限,因此學者們開始探究圖像-圖像檢索方式.
相比文本,圖像能夠包含更多的信息.隨著觸屏設備的發(fā)展,學者們逐漸關注草圖相關的研究,包括草圖識別[1-3]、草圖重構[4-6]及草圖-圖像檢索(Sketch-Based Image Retrieval, SBIR)[7].草圖攜帶信息的能力介于文本和真實圖像之間.相比真實圖像,草圖更容易獲取,也更能反映用戶的想法.對于搜索引擎或者網絡購物應用來說,通過草圖搜索用戶需要的內容是一個更好的選擇.
草圖-圖像檢索分為粗粒度的類別級草圖-圖像檢索(Category Level SBIR, CL-SBIR)和實例級草圖-圖像檢索(Instance Level SBIR, IL-SBIR),實例級草圖-圖像檢索又稱為細粒度草圖-圖像檢索(Fine Grained SBIR, FG-SBIR).
類別級草圖-圖像檢索只需找出和輸入草圖屬于同類的圖像,實例級草圖-圖像檢索需要找出和輸入草圖姿態(tài)、細節(jié)完全對應的圖像.相比傳統(tǒng)的基于內容的圖像檢索,實例級草圖-圖像檢索主要面臨如下問題.1)目前常用數據集包含數據量較少.2)草圖本身具有稀疏性和高度抽象性,傳統(tǒng)圖像處理方法很難直接用于草圖.3)草圖和真實圖像之間的模態(tài)差異過大,草圖不具備真實圖像包含的紋理、顏色等信息,導致檢索時判別信息不足.同時,真實圖像中背景信息的干擾使該任務更加困難.
早期的實例級草圖-圖像檢索采用手工提取特征,并通過RankSVM(Ranking Support Vector Ma-chine)進行檢索.Yu等[8]提取真實圖像的邊緣圖,利用Image-Net預訓練的Sketch-a-Net作為特征提取網絡,分別提取草圖特征和真實圖像特征.Song等[9]在Deep Spatial-Semantic Attention中將注意力機制引入草圖圖像檢索,利用直連方法結合深層特征和淺層特征,從而避免卷積過程中細節(jié)信息的丟失,并引入HOLEF(Higher-Order Learnable Energy Function),解決空間不對齊問題.Lin等[10]認為利用邊緣圖代替真實圖像更耗時,并且邊緣圖的質量在很大程度上影響檢索精度,因此提出TC-Net(Triplet Classification Network),直接提取草圖特征和真實圖像特征,在使用三元組損失的同時,還引入多種分類損失,提高檢索精度.Xu等[11]認為局部特征對于實例級草圖-圖像檢索非常重要,提出LA-Net(Local Aligned Network),計算不同模態(tài)局部特征間的距離后加和,從而得到草圖和真實圖像的距離.同時,Xu等[11]又提出DLA-Net(Dynamic LA-Net),采用動態(tài)局部對齊方法解決局部特征不對齊問題.此后,Sun等[12]提出DLI-Net(Dual Local Interaction Network),在DLA-Net的基礎上加入自交互模塊,去除空白區(qū)域,加快檢索速度.Ling等[13]提出MLRM(Multi-level Region Matching),首先通過DRE(Discrimina-tive Region Extraction Module)從不同層次和不同區(qū)域提取特征,然后采用RLA(Region and Level Attention Module)學習注意力權重,探索不同區(qū)域和不同層次的貢獻.Bhunia等[14]提出Noise-Tolerant FG-SBIR,通過強化學習去除噪聲筆畫,在輸入草圖質量較差的情況下進行準確檢索.
由于草圖-圖像檢索數據集稀缺,上述方法都是采用Image-Net預訓練的網絡作為骨干網絡.為了擺脫預訓練的束縛,還有一些方法[15-17]利用諸如草圖復原、拼圖等任務,使模型獲得提取草圖特征和真實圖像特征的能力,或是聯合訓練圖像-草圖生成模型和檢索模型,從而解決數據稀缺的問題.
上述方法在提取草圖特征和真實圖像特征之后,大多利用全局特征計算草圖和圖像間的相似度,但對于實例級草圖-圖像檢索而言,局部信息更重要.DLA-Net提取局部特征并考慮特征不對齊問題,然而草圖和真實圖像之間的不對齊還包括局部特征大小不匹配,只考慮單一粒度的特征無法解決特征大小不匹配問題.
草圖-圖像檢索本質上是一個跨模態(tài)檢索任務.跨模態(tài)任務的主要問題之一是如何減小不同模態(tài)間的域差異.Ye等[18-19]提出TONE(Two-Stream Convolutional Neural Network)和HCML(Hierarchical Cross-Modality Metric Learning),利用雙流特征提取器提取不同模態(tài)間共享特征,并提出雙向雙約束排序損失.Zhang等[20]采用生成對抗的方式,使提取到的共享特征更純粹.Lu等[21]認為除了共享特征,特異特征同樣對跨模態(tài)檢索起到重要作用,在使用共享特征的同時,通過建模模態(tài)內和模態(tài)間的相似度并根據近鄰關系傳遞特異特征,在學習共享特征和特異特征時,還加入對抗學習等方式,確保共享分支和特異分支提取相應的特征,從而提高檢索精度.
現有的草圖-圖像檢索工作大多通過共享參數或不共享參數的兩個網絡提取草圖特征和圖像特征,利用三元組損失拉近同一物體特征距離,并使不同物體特征距離增大,找出和草圖距離最近的圖像作為檢索結果.
然而,草圖和圖像之間的模態(tài)差異過大,導致同一物體不同模態(tài)特征之間的距離大于不同物體特征之間的距離,進而導致檢索錯誤.
基于上述分析.本文提出雙分支多粒度局部對齊網絡(Two Stream Multi-granularity Local Alignment Network, TSMLA),著重解決草圖和圖像模態(tài)差異過大的問題以及空間不對齊問題.采用雙分支特征提取器(Two Stream Feature Extractor, TSFE)提取草圖和圖像的共享特征,解決草圖和圖像模態(tài)差異過大的問題,并且同時利用共享特征和特異特征約束模型訓練.采用多粒度局部對齊模塊(Multi-granu-larity Local Alignment Module, MLA),在不同粒度上進行局部特征之間的對齊,大幅減輕位置不對齊和特征大小不一致問題,進一步提升網絡性能.在多個不同的數據集上的實驗表明TSMLA的有效性.
對于FG-SBIR任務,給定一個草圖,希望能夠找到和它的姿態(tài)及細節(jié)完全對應的圖像.網絡以三元組(s,p+,p-)作為輸入,s表示草圖,p+表示和草圖對應的圖像,p-表示和草圖不對應的圖像.
首先將(s,p+,p-)三元組送入特征提取器,獲得草圖特征、正樣本特征和負樣本特征.這些特征用于計算草圖和真實圖像之間的距離,最終計算三元組損失:
L(s,p+,p-)=max(0,δ+d(s,p+)-d(s,p-)),
其中,d(s,p+)表示草圖和正例的距離,d(s,p-)表示草圖和負例的距離,δ表示人為設置的常量,防止模型過快收斂.
TSMLA的整體結構如圖1所示,草圖和正負樣本被成對送入雙分支特征提取器中,提取模態(tài)共享特征和模態(tài)特異特征,利用共享特征和特異特征分別計算距離矩陣,對距離矩陣進行多粒度局部對齊后計算三元組損失.
圖1 TSMLA整體結構
FG-SBIR需要提取草圖特征和真實圖像特征.在早期工作中,由于使用邊緣圖替換真實圖像,真實圖像和草圖間的模態(tài)差異較小,因此使用孿生網絡提取特征,效果較優(yōu).TC-Net及之后的工作直接將真實圖像作為輸入,模態(tài)差異較大,使用異構網絡提取草圖特征和真實圖像特征,效果更優(yōu).
然而,草圖和真實圖像之間模態(tài)差異過于明顯.真實圖像中包含的紋理、顏色、背景等信息,在草圖中都不存在.
受其它跨模態(tài)檢索方法的啟發(fā),TSMLA在實例級草圖-圖像檢索任務中引入雙分支特征提取器(TSFE),提取共享特征和特異特征.模態(tài)共享特征是指草圖特征和真實圖像特征都包含的特征.而特異特征指某一模態(tài)特有的特征,如真實圖像中的紋理信息、顏色信息等.
TSFE結構圖如圖2所示.TSFE包含共享特征分支和特異特征分支.特征提取器以草圖S和真實圖像P作為輸入,共享分支和特異分支都利用Image-Net預訓練的ResNet-50提取特征,并且兩個分支不共享參數.
圖2 TSFE結構圖
Xu等[11]認為在特征提取的過程中,深層特征的語義表達能力更強,但是會丟失細節(jié)信息,因此更適合圖像識別及分類任務,而淺層信息語義表達能力較弱,但攜帶的細節(jié)信息更多,更適合實例級草圖-圖像檢索任務.參考其做法,TSFE去掉ResNet最后的卷積塊,將ResNet50的前兩個卷積塊作為Conv1,將第3個卷積塊作為Conv2.特異分支的Conv1的輸出分別送入共享分支和特異分支的Conv2,從而得到共享特征和特異局部特征.從草圖和真實圖像中提取的特異特征如下所示:
其中,S表示輸入草圖,P表示輸入的真實圖像.從草圖和真實圖像中提取的共享特征如下所示:
得到的共享和特異的草圖和真實圖像局部特征使用多粒度局部對齊模塊進行特征對齊.
在獲得模態(tài)共享和模態(tài)特異的局部特征之后,分別使用這兩種局部特征計算草圖和真實圖像之間的距離.最簡單的方法是認為相同位置的局部特征是對齊的,利用每個成對的局部特征計算距離后求和,這要求草圖和真實圖像嚴格對齊.然而,草圖是抽象的,并且不同的人對于同個物體有不同的畫法,很難做到嚴格對齊.
為了解決空間不對齊問題,學者們大多采用動態(tài)對齊策略,將局部特征和另一模態(tài)下所有的局部特征進行對比,距離最小的兩個局部特征即為對齊的.
但特征不對齊不僅僅是特征位置上的不對齊,還包括局部特征大小不匹配,如圖3中右下方陰影部分所示.此外,在草圖中一個局部特征代表的部分在真實圖像中可能同時屬于兩個局部特征.如圖3所示,草圖中左上方陰影部分表示的特征在真實圖像中屬于兩個不同部分.這些問題導致特征對齊過程中的錯誤匹配,最終導致檢索錯誤.
圖3 特征大小不匹配示例
為了解決這些問題,本文采用多粒度局部對齊模塊(MLA),在不同粒度上進行局部特征對齊.此前大多數類似的方法或是獲取不同卷積層的輸出從而獲得不同大小的特征,或是對特征使用空間金字塔池化(Spatial Pyramid Pooling, SPP).然而FG-SBIR對于局部特征具有依賴性,使用不同卷積層特征無法利用局部特征.對特征進行池化則會導致細節(jié)信息的丟失,性能下降.
因此本文選擇對使用局部特征計算得到的距離矩陣進行池化操作,即
TSFE提取到的草圖和真實圖像特征大小為C×16×16,C為通道數,特征矩陣中每個C×1×1的部分SP(x,y)表示一個圖像塊的特異特征,SH(x,y)表示一個圖像塊的共享特征,矩陣平鋪得到的C×256的向量可以看成256個圖像塊的特征.dj,k表示草圖第j塊的特征和真實圖像第k塊的特征計算得到的距離,j=1,2,…,256,對于j的每個取值,同樣k=1,2,…,256,即對每個草圖塊,計算它和真實圖像所有塊之間的距離,得到256×256的距離矩陣D.參考DLI-Net[12],這里選擇歐氏范數計算特征間的距離.
為了在不同粒度上進行特征對齊,將該矩陣變形為256×16×16的矩陣,對這256個16×16的距離矩陣分別進行不同粒度的平均池化,在每個粒度下各得到256個距離矩陣,將256個距離矩陣組成的三維矩陣重新變?yōu)槎S矩陣后,就完成矩陣D列方向上的多粒度池化.對池化后的矩陣D在行方向上進行同樣的操作.這樣,完成對距離矩陣D的多粒度池化操作,得到不同大小的距離矩陣.矩陣大小m越大,距離矩陣中每個距離度量的圖像塊越小,信息粒度越細,感受野越小,進行特征對齊時越會出現圖像局部大小不匹配的問題;m越小,距離矩陣中每個距離度量的圖像塊越大,信息粒度越粗糙,但感受野越大,能夠在一定程度上解決圖像局部大小不匹配的問題.
對D進行池化后得到大小為m×m的距離矩陣:
Dm×m=Averagem(D).
然后,利用池化得到距離矩陣進行動態(tài)局部對齊,對于Dm×m的每行Dj,使用這行中的最小值代替它,即認為特征距離最小的兩個塊是對齊的,具體公式如下:
Dj=min(dj,1,dj,2,…,dj,m),
其中,dj,k為Dm×m第j行第k列的元素,表示草圖第j個塊的特征和真實圖像中第k個塊的特征的距離,m表示距離矩陣的大小.
使用這個最小距離表示草圖的一個局部和真實圖像對應部分的距離,得到大小為m×1的向量.在不同大小的距離矩陣上進行動態(tài)局部對齊,更準確地尋找相互對應的局部特征.
利用每個草圖局部特征和其對應部分的距離計算草圖和真實圖像的距離.參照DLI-Net[12],這里使用歐氏范數計算距離,即
最后,將使用不同大小的距離矩陣計算得到的草圖和圖像之間的距離相加,用于結合不同粒度的信息.結合不同粒度的信息,既能有效利用細節(jié)信息,又能在一定程度上解決大小不匹配的問題,即
MLA的做法是符合人類的習慣的.在判斷一幅圖像和草圖是否對應時,首先整體上看二者是否相似,然后逐步對比二者的細節(jié)是否對應.
通過MLA,可以得到使用共享特征計算得到的距離dsh和使用特異特征計算得到的距離dsp.特征提取器包含共享和特異兩個分支,提取共享特征和特異特征,共享特征不一定都是對檢索有幫助的,而特異特征也不都是沒用的,如果只使用共享特征計算三元組損失,會導致模態(tài)特異信息的丟失.在其它使用雙分支的跨模態(tài)檢索方法中,往往使用分類損失約束特異分支.然而,由于數據集的稀缺,每個物品只有一幅真實圖像和少數草圖,不適合使用分類損失.所以,本文同時使用共享特征和特異特征計算三元組損失:
L=αmax(0,δ+dsp(s,p+)-dsp(s,p-))+
βmax(0,δ+dsh(s,p+)-dsh(s,p-)),
(1)
其中α、β為提前設置的參數.
目前常用的FG-SBIR數據集有如下5個:QMUL-ChairV1、QMUL-ShoeV1、QMUL-ChairV2、Q-MUL-ShoeV2、Sketchy數據集[22].本文在這5個數據集上進行實驗.
QMUL-ShoeV1數據集包含419個草圖-圖像對,QMUL-ChairV1數據集包含297個草圖-圖像對.使用QMUL-Shoev1數據集上300個草圖-圖像對和QMUL-ChairV1數據集上204個草圖-圖像對作為訓練集,其余的作為測試集.
QMUL-ChairV2、QMUL-ShoeV2數據集分別是QMUL-ChairV1、QMUL-ShoeV1數據集的擴展版本.QMUL-ChairV2數據集包含400幅椅子照片和1 275幅草圖,QMUL-ShoeV2數據集包含2 000幅鞋的照片和6 730幅草圖,每幅照片都有至少三幅對應的草圖.參照其它工作的做法,在QMUL-ChairV2數據集上選擇300幅圖像及其對應的草圖作為訓練集,在QMUL-ShoeV2數據集上選擇1 800幅照片及其對應草圖作為訓練集,其余的作為測試集.
Sketchy數據集包含12 500幅真實圖像和74 425幅草圖,這些圖像屬于125個不同類別,每個類別包含100幅圖像和其對應草圖.與其它4個數據集不同,Sketchy數據集上的真實圖像包含背景.因此在Sketchy數據集上的檢索更加困難.參考其它方法,在每類中挑選90%的圖像和對應草圖作為訓練集,其余的作為測試集.
實驗在RTX 3090 GPU上使用PyTorch完成.將草圖擴展至3個通道,并將草圖和真實圖像一起作為輸入.在訓練過程中,草圖和真實圖像都重新調整為288×288,并裁剪到255×255.在測試過程中,輸入圖像直接被調整為255×255.
TSMLA使用Res-Net-50提取特征.在式(1)中,α和β都設置為1.在使用Chair-V2數據集訓練模型時,δ設置為0.3,在使用其它數據集訓練時,δ設置為0.1.
在實現多粒度對齊模塊時,將大小為256×256的距離矩陣進行平均池化,得到大小為64×64和16×16的距離矩陣,并使用這3種大小的距離矩陣進行動態(tài)對齊.
網絡使用Adam(Adaptive Moment Estimation)優(yōu)化,在Sketchy數據集上訓練300個迭代周期,學習率設置為0.000 01,在其它數據集上使用0.000 1的學習率訓練100個迭代周期.
給出一幅輸入草圖,將所有圖像按照和草圖距離從小到大排序,acc@k表示正例在前k個圖像的次數與總的測試圖像數量的對比值.本文選擇acc@1作為評價指標.
為了驗證網絡的有效性,選擇如下對比網絡:文獻[8]網絡、文獻[9]網絡、TC-Net[10]、LA-Net[11]、DLA-Net[11]、DLI-Net[12]、MLRM[13]、Noise-Tolerant
SBIR[14].
各網絡的acc@1值對比結果如表1所示,表中黑體數字表示最優(yōu)值.由表可以看到,TSMLA在多個數據集上性能都有一定的提升.在QMUL-ShoeV1數據集上acc@1提升2.61%,在QMUL-ChairV2數據集上acc@1提升4.51%,在QMUL-ShoeV2數據集上acc@1提升3.52%.盡管在QMUL-ChairV1數據集上acc@1有所下降,但是QMUL-ChairV1數據集是一個非常小的數據集且模型準確率接近100%,提高模型復雜度不一定能在其上獲得更優(yōu)結果.
值得注意的是,DLI-Net在Sketchy數據集上實驗時去除數據集上部分不可用的數據,本節(jié)并沒有這么做.在相同的實驗設置下,DLI-Net在Sketchy數據集上的acc@1為59.32%,檢索精度仍有所提升.
表1 各網絡在5個數據集上的acc@1值對比
此外,在δ=0,0.1,0.3,0.5時對比TSMLA和DLI-Net,在QMUL-ShoeV2、QMUL-ChairV2數據集上的acc@1如圖4所示.
(a)QMUL-ShoeV2
(b)QMUL-ChairV2
δ是三元組損失中設置的常量,用于減小草圖和正例的距離,同時增大草圖和負例的距離.δ太大會導致網絡很難收斂,δ太小會導致網絡鑒別能力下降,因此δ的變化會產生一定程度的性能波動.由圖4可以看出,δ=0,0.1,0.3,0.5時,雖然DLI-Net和TSMLA的性能都有一些起伏,但是TSMLA的acc@1都高于DLI-Net.
在相同輸入情況下,Noise-Tolerant FG-SBIR[14]、DLI-Net[12]和TSMLA在3個樣本上的檢索可視化結果如圖5所示.由圖可以看出,由于充分利用草圖特征和真實圖像特征,TSMLA能夠準確找出正確結果.盡管Noise-Tolerant FG-SBIR在樣本1和樣本3中能夠找出正確結果,DL1在樣本2和樣本3中能夠找出正確結果,但兩者找出的其它候選圖像和正確結果并不相似,而TSMLA找出的候選圖像大多和正確結果相似,說明其判別能力更強.
(a1)Noise-Tolerant FG-SBIR
(a2)DLI
(a3)TSMLA
(b1)Noise-Tolerant FG-SBIR
(b2)DLI
(b3)TSMLA
(c1)Noise-Tolerant FG-SBIR
(c2)DLI
(c3)TSMLA
下面在QMUL-ChairV2、QMUL-ShoeV2數據集上進行消融實驗,驗證TSFE和MLA的有效性.在DLI-Net上加入不同模塊后的acc@1值如表2所示.由表可以看出,在DLI-Net上加入TSFE后,在QMUL-ChairV2數據集上acc@1提升2.30%,在QMUL-ShoeV2數據集上acc@1提升2.55%.在DLI-Net上加入MLA后,在QMUL-ChairV2數據集上acc@1提升2.32%,在QMUL-ShoeV2數據集上acc@1提升2.21%.在DLI-Net上同時加入TSFE和MLA后,在QMUL-ChairV2數據集上acc@1提升4.51%,在QMUL-ShoeV2數據集上acc@1提升3.52%.由此可見,在DLI-Net上添加模塊,性能都會出現一定提升.
表2 不同模塊對網絡性能的影響
模態(tài)共享特征權重和特異特征權重對網絡性能的影響如表3所示,表中(α,β)表示式(1)中的α和β,分別表示模態(tài)特異特征權重和模態(tài)共享特征權重.共享特征不一定包含檢索需要的信息,特異特征可能包含檢索需要的關鍵信息.當兩幅真實圖像形狀相差較大時,模態(tài)共享特征較重要;當兩幅真實圖像形狀接近時,模態(tài)特異特征起到關鍵作用.因此,無論舍棄共享特征或是特異特征,都會導致性能下降.
表3 模態(tài)共享特征權重和特異特征權重對網絡性能的影響
下面討論不同池化方式對網絡性能的影響.在DLI-Net+TSFE這個基準網絡上,對特征矩陣進行池化和對距離矩陣進行池化,得到網絡的acc@1值如表4所示.在表中,POF表示在MLA中對特征矩陣進行池化,POF(1)表示不對特征矩陣進行池化操作,POF(2)表示將特征矩陣縮小到原來的1/2,POF(4)表示將特征矩陣縮小到原來的1/4,POF(1,2,4)表示將三種粒度的特征矩陣計算得到的圖像距離相加,POD表示對距離矩陣進行相應的池化操作,黑體數字表示最優(yōu)值.
由表4可以看出,直接對特征矩陣進行池化,并使用池化后的特征計算距離,會在不同程度上導致檢索精度降低.池化后的特征矩陣越小,檢索性能越差,這也表明對特征矩陣進行池化會導致細節(jié)信息的丟失.對距離矩陣進行平均池化能夠避免特征信息的丟失,將不同粒度下得到的距離結合,能夠利用不同粒度信息,有效解決特征不對齊問題.需要注意的是,如果距離矩陣縮小倍數過大,說明用于距離度量的特征塊過大,信息粒度過于粗糙,反而導致檢索結果不準確.
表4 不同池化策略對網絡性能的影響
各網絡檢索不同數據集上所有草圖對應的真實圖像的效率對比如表5所示,表中黑體數字表示最優(yōu)值.DLI-Net使用自交互模塊去除背景區(qū)域,提升檢索速度,DLI-Net(W)表示沒有使用自交互模塊.由于TSMLA在特征提取時使用共享特征提取分支和特異特征提取分支,并在不同尺度上進行局部特征對齊,因此相比DLI-Net,TSMLA的檢索性能有所下降,考慮到精度的提升,額外的計算開銷是可以接受的.
表5 各網絡檢索效率對比
本文針對實例級草圖-圖像檢索中存在的模態(tài)差異大和空間不對齊問題,提出雙分支多粒度局部對齊網絡(TSMLA).在網絡中,分別提出雙分支特征提取器(TSFE)和多粒度局部特征對齊模塊(MLA),利用共享特征和特異特征同時訓練模型,解決模態(tài)差異過大的問題,同時在不同粒度上進行草圖和真實圖像局部特征的對齊,解決特征的空間不對齊和特征大小不匹配的問題.雖然TSMLA在QMUL-ChairV2、QMUL-ShoeV2等多個數據集上提升檢索精度,但雙分支特征提取以及多粒度特征對齊使網絡的檢索速度下降.今后將著重提升檢索速度,同時進一步提升檢索精度.