姬子恒,王 斌
(南京財經大學信息工程學院,江蘇 南京210023)
基于內容的圖像檢索技術CBIR(Content-Based Image Retrieval)[1 -3]是計算機視覺和圖像處理領域一個重要的研究方向,其任務是在圖像數據庫中檢索與用戶所提交樣本圖像在內容上一致或相似的圖像,主要是通過對圖像底層特征的比較來實現。CBIR執行的前提是需要用戶提供一幅自然圖像,以表達用戶的檢索意圖。但是,在實際應用中,找到一幅準確表達用戶檢索意圖的自然圖像并不容易,且在很多情況下,很難得到這樣的自然圖像,從而限制了用戶的個性語義表達。一個替代的方法是,用戶可以提供一幅自畫的草圖來表達其檢索意圖,因此基于草圖的圖像檢索技術應運而生。基于草圖的圖像檢索SBIR(Sketch Based Image Retrieval)是CBIR檢索形式的擴展,相較于CBIR,手繪草圖可更方便、更直接地表達用戶的檢索意圖。圖1a為使用百度CBIR識圖檢索系統,用鴨子的自然圖像作為檢索圖像,返回的前4個圖像的檢索結果;圖1b為Pang等人[4]實現的SBIR檢索系統,用鴨子草圖作為檢索圖像,返回的前4個圖像的檢索結果。從圖1可以看出,SBIR的檢索結果差強人意,對比兩者輸入圖像可獲取的信息,易看出SBIR更具有挑戰性。

Figure 1 Retrieval examples of CBIR retrieval system and SBIR retrieval system圖1 CBIR檢索系統和SBIR檢索系統的檢索例圖
草圖可以簡單分為專業素描與簡易草圖,在計算機中,專業素描往往以灰度圖像的形式表示,而簡易草圖為二值圖像[5],如圖2所示。在現實生活中,素描圖像通常由專業人員繪制而成,從應用的角度來看,專業素描不具有普遍性,所以研究者們將研究集中于簡易草圖。草圖不同于圖像,圖像是由密集像素組成視覺對象的透視投影,而草圖是主觀和抽象的線條圖,它們包含非常少的目標信息,但是卻有令人驚訝的直觀說明性。

Figure 2 Examples of professional sketches and simple sketches圖2 專業素描與簡易草圖示例
盡管草圖檢索取得了很大的進展,但是目前的研究仍然面臨著幾大問題:
(1)草圖-圖像的跨域差距。草圖與圖像為非同源數據,處于不同的域空間,圖像是對物體的像素完美描繪,而草圖是高度抽象的線條集合。如何將兩者更好地進行特征匹配或嵌入空間映射,縮小兩者的跨域差距成為最關鍵的研究內容。
(2)草圖多義性。由于繪畫能力和藝術表達方式因人而異,且草圖本身具有一定的模糊性,導致草圖會因用戶主觀意識被理解為不同的語義信息,即草圖存在大量的類間差異,如圖3所示。
(3)草圖檢索成本問題。隨著互聯網2.0時代的到來,用戶產生的內容越來越多,數據增加為檢索系統帶來巨大的壓力。當遇到大規模檢索情景時,系統輸入一幅手繪草圖需要與系統數據庫中大量的自然圖像進行特征相似性計算,如何以更高的效率獲得理想的結果也成為草圖檢索的一大問題。
(4)草圖數據集缺乏。與可以輕松訪問到百萬級數據集的照片(ImageNet、CIFAR等)相比,草圖研究可使用的公共數據集(Sketchy、TU-Berlin等)僅為亞萬級,數據缺乏成為研究進展緩慢的重要原因。
在傳統的草圖檢索研究[6 -13]中,草圖被看作是基于形狀輪廓的表達,研究重點集中于如何利用幾何關系表達草圖特征。特征提取通常在針對草圖特別設計的特征描述符上(例如方向邊緣直方圖[14]、關鍵形狀學習[15]等二進制形狀特征描述符和梯度場[16]、尺度不變特征[17]等自然圖像特征描述符)進行邊緣提取;之后,將草圖與邊緣圖使用歐氏距離等方法進行相似度測量,通過相似度匹配對候選結果的輸出進行排序與檢索;最后完成圖像檢索,傳統的草圖檢索方法流程圖如圖4所示。但是,由于草圖本身具有的高度抽象性,生成的特征描述子對于草圖的內容無法有效地擬合[18],因此不能滿足現實場景的使用。除此之外,使用傳統的草圖檢索方法無法實現端到端的檢索系統,導致工作量大量提升。

Figure 4 Flowchart of traditional sketch retrieval method圖4 傳統的草圖檢索方法流程圖

Figure 5 Flowchart of sketch retrieval based on deep learning圖5 基于深度學習的草圖檢索流程
2012年在ImageNet圖像識別比賽中,Hinton課題組使用AlexNet網絡獲得冠軍,掀起了深度學習新浪潮。草圖檢索作為計算機視覺領域中的重要研究方向之一,使用卷積神經網絡CNN(Convolutional Neural Network)、循環神經網絡RNN(Recurrent Neural Network)等深度學習技術已成為解決相關問題的主要方法。深度學習不同于傳統手工特征提取需要層層設計,其可以學習手繪草圖與自然圖像包括低、中、高不同層次的深度特征,并學習理解圖像中隱含的抽象語義信息,可以有效地捕捉人類感知。深度學習提取的深度特征更適合草圖的研究,彌補了傳統方法的不足,可實現端到端的檢索系統,有效地提高了草圖檢索的性能。圖5給出了基于深度學習的草圖檢索流程。
近年來,雖然已有大量的研究工作將深度學習應用于草圖檢索,但在國內外還沒有發表過對該方面工作進行系統歸納和總結的綜述性文獻。本文聚焦于基于深度學習的草圖檢索方法,對現有的基于深度學習的草圖檢索方法進行綜述和評論,并對未來的相關問題的研究進行總結和展望。本文結構安排如下:第2節介紹基于深度學習的SBIR常用模型;第3節介紹SBIR研究常用的公共數據集;第4節探討SBIR中粗粒度與細粒度檢索問題;第5節研究基于深度學習的SBIR的檢索效率;第6節討論用于SBIR的深度模型的泛化問題;第7節進行代表性方法的實驗比較研究;最后一節為結束語。
在圖像處理領域中,常用的深度學習特征提取模型包括單層網絡、孿生網絡(Siamese Network)、三重網絡(Triplet Network)和多層深度融合卷積神經網絡等。SBIR研究不同于自然圖像相關研究,其數據包含自然圖像與手繪草圖2個部分,它們是處于2個不同領域的異質數據,致使研究重點不僅需要關注于圖像的語義、特征等內容,還需解決跨域問題。
SBIR研究初期,孿生網絡為研究者們常用的網絡模型,其可以實現異質數據在不同網絡同步輸入并完成數據在嵌入空間的映射。之后,Bui等人[19]通過實驗發現,三重網絡可以更好地捕獲實例間的細微差異,適用于SBIR的研究,由此三重網絡模型成為SBIR研究中最常使用的結構。本節選取具有代表性的孿生網絡與三重網絡進行介紹。

Figure 6 Siamese network structure 圖6 孿生網絡結構圖
孿生網絡是由Hadsell等人[20]提出的。在SBIR研究中,孿生網絡作為模型框架,如圖6所示,將手繪草圖與自然圖像作為模型的輸入,通過深度網絡學習,拉近標記為相似的草圖-圖像對在特征向量空間中的距離,而加大標記為不相似的草圖-圖像對在特征向量空間中的距離。使用類別標簽Y={0,1}建立三元組(S,I,Y),其中S和I分別為輸入草圖與圖像,當Y=1時,表示輸入草圖-圖像對類別相同;相反,當Y=0時,表示類別不同。對比損失函數公式(Contrastive Loss)[20]如式(1)所示:

(1)

一般情況下,孿生網絡中2個分支使用相同的CNN模型,例如AlexNet、Sketch-A-Nett和VGGNet等。近來,也有工作將不同的CNN網絡相結合,實現描述草圖特征的不變嵌入[19,21,22]。
三重網絡模型曾應用于人臉識別以及跨域問題,包括3D姿勢估計(圖像與姿勢空間的映射)和場景描述(圖像和自然語言空間的映射)。Bui等人[19]在草圖檢索問題中首次嘗試使用三重網絡,檢索精度取得了顯著的提升。在之后的研究中,三重網絡成為最常用的模型框架。三重網絡通常使用3個相同深度網絡模型的分支,每個分支輸入的數據不同,第1分支又被稱為錨分支,輸入數據為手繪草圖;第2分支輸入與輸入草圖類別相同的自然圖像,稱為正圖像;第3分支則輸入與輸入草圖類別不同的自然圖像,稱為負圖像。三重損失函數負責指導訓練階段。實驗表明,與孿生網絡相比,三重網絡可以更好地捕獲實例間的細微差異。圖7展示了三重網絡模型框架。

Figure 7 Triplet network structure 圖7 三重網絡模型
三重網絡的目的是將同一類別的草圖與正圖像之間的距離最小化,并將草圖與負圖像之間的距離最大化,通過這樣的方法增大類間距離,使輸入檢索草圖時可以在空間中獲得更好的映射。三重網絡給定一個三元組t(S,p+,p-),S、p+和p-分別為輸入草圖、正圖像和負圖像,其對應的三元組損失函數[23]如式(2)所示:
Lθ(t(S,p+,p-))=
max(0,m+Fθ(S,p+)-Fθ(S,p-))
(2)
其中,m為正查詢距離和負查詢距離之間的邊距,如果草圖與正圖像之間的距離和草圖與負圖像之間的距離小于間距m,則該三元組不會受到處罰。Fθ為測量特征向量距離的方法(實值計算時常用歐氏距離,二進制編碼時常用漢明距離)。
手繪草圖公共數據集在SBIR研究中起著重要的作用。手繪草圖數據的收集不同于自然圖像,不僅有數量要求,還需要在數據集中保留草圖的抽象性、模糊性和多樣性,所以同一個實例物體需要不同的人進行繪制。本節主要介紹現有的常用手繪草圖公共數據集。
TU-Berlin數據集是由Eitz等人[24]建立的,覆蓋250個物體類別,每個類別80幅,一共包含20 000幅草圖。圖8為TU-Berlin數據集部分示例圖。該數據集擁有“時序”屬性,因此除了用于粗粒度檢索之外,還可用于人類使用草圖來描述物體的過程研究。使用TU-Berlin需要配合與草圖類別相對應的自然圖像,所以往往與Liu等人[25]提供的擴展自然圖像數據集TU-Berlin Extended相結合使用。該擴展數據集與TU-Berlin中草圖類別相對應,其中包含204 489幅自然圖像。數據集來源:http:∥cybertron.cg.tuberlin.de/-eitz/projects/classifysketch/。

Figure 8 Part images in the TU-Berlin dataset圖8 TU-Berlin數據集圖像部分示例
Sketchy數據集是由Sangkloy等人[26]建立的,該數據集中所有手繪草圖通過眾包方式收集,并要求參與者通過直觀回憶參考圖像的方式進行繪畫,這樣保證了草圖本身的直觀性與抽象性。除此之外,該數據集在每一幅手繪草圖中添加Sketchablity屬性,以此完成人工標注工作,表明該手繪草圖在繪制時的難易程度[18],為用戶提供了特定照片和草圖之間的細粒度關聯。Sketchy包含12 500件物品的自然圖像,對應75 471幅手繪草圖,每幅圖像大約對應6幅草圖,種類也多達125種。圖9為 Sketchy Extended數據集部分示例圖。Liu等人[25]用來自ImageNet的60 502幅圖像擴充了Sketchy數據集。對于深度學習草圖檢索研究,Sketchy Extended也是驗證模型有效性的數據集。數據集來源:http:∥sketchy.eye-gatech.edu/。

Figure 9 Part images in the Sketchy Extended dataset圖9 Sketchy Extended數據集圖像部分示例
QMUL數據集的建立是為了進行細粒度檢索的研究,其包含2個對象種類(椅子和鞋子),分為QMUL Chair-V2和QMUL Shoe-V2[27]。為了凸顯出椅子和鞋子的類內區別,他們將2大類物品進行細致的小類別劃分,數據集中數據皆以草圖-圖像對的形式存在,其中自然圖像是從購物網絡平臺上獲得的。QMUL Shoe-V2數據集是最大的單類細粒度草圖檢索FG-SBIR(Fine-Grained Sketch-Based Image Retrieval)數據集含有1 800個訓練草圖-圖像對和200個測試草圖-圖像對。QMUL Chair-V2含有200個訓練草圖-圖像對和97個測試草圖-圖像對。圖10為QMUL Chair-V2和QMUL Shoe-V2數據集部分示例圖。數據集來源:http:∥sketchx.eecs.qmul.ac.uk/downloads/。

Figure 10 Part images in QMUL Chair-V2 and QMUL Shoe-V2 datasets圖10 QMUL Chair-V2和QMUL Shoe-V2數據集圖像部分示例
QuickDraw Extended是由Dey等人[28]建立的,他們通過從QuickDraw中篩選出合適的草圖,并根據其草圖類型與自然圖像進行了匹配,主要為了解決草圖數據集數量不足的問題。該數據集橫跨110種類別,每個類別包含3 000幅草圖,總計330 000幅草圖和204 000幅自然圖像。圖11為QuickDraw Extended數據集部分示例圖。數據集來源:https:∥githu-b.com/googlecreativelab/quickdraw-dataset。

Figure 11 Part images in the QuickDraw Extended dataset圖11 QuickDraw Extended數據集圖像部分示例
深度學習技術需要大量數據作為輸入,至今為止,手繪草圖數據集仍然缺乏,在一定程度上阻礙了SBIR技術的進一步發展。以上介紹的數據集為草圖檢索研究過程中最常用的手繪草圖數據集,根據每個數據集的特性,不同的數據集可用于不同方向的草圖檢索研究。草圖檢索技術大致可分為粗粒度檢索與細粒度檢索,需要進行細粒度檢索相關研究時,研究人員需要大量的不同類別草圖與其對應的自然圖像,所以常常使用TU-Berlin和Sketchy這2個數據集;而在進行細粒度檢索時更加關注的是一個較大類別中的不同分類,QMUL Chair-V2、QMUL Shoe-V2和Sketchy更加合適。從深度網絡模型的角度來看,粗粒度數據集可以更好地反映出模型針對空間分布的高維特征映射能力,而細粒度偏向于學習數據中細節特征與語義特征,更有利于類內目標的檢索。表1對以上公共數據集進行了對比與總結。
粗粒度檢索與細粒度檢索是草圖檢索領域的2類問題。粗粒度檢索側重于類間差異,旨在檢索與查詢草圖共享相同類別標簽的自然圖像。為了充分表達草圖的類間差異特征描述,CNN學習過程應專注于草圖的全局特征和高級語義特征。細粒度檢索FG-SBIR又稱為實例級(instance-level)檢索,而細粒度檢索除了保留類別級的一致性外,還旨在保留類內實例級別的一致性,即只有檢索結果為與輸入草圖唯一對應的實例圖像才可判定為一次成功的檢索。深度學習應用于粗粒度草圖檢索已有大量的研究工作,算法的檢索性能提升很快,而近來,有研究將深度學習應用于更具挑戰性的細粒度草圖檢索問題,取得了一些進展。本節對這2類研究工作進行綜述和總結。
粗粒度檢索研究中使用的深度網絡模型,大多以孿生網絡或三重網絡為基礎,根據研究重點的不同(例如域對齊、語義保留等問題),提出合適的變形結構(例如孿生同構網絡、三重異構網絡等)。Qi等人[29 -32]首次將孿生網絡應用于粗粒度SBIR問題中,提出了針對草圖特性的CNN網絡結構,如圖6所示。實驗中使用以類Sketch-A-Net[30]為基礎網絡的同構孿生網絡。與傳統的手工提取特征方法相比,Qi等人[29]從全新的視角解決域移位問題,通過CNN學習對比損失函數引導模型訓練。雖然實驗結果與傳統方法相比平均精度均值mAP(mean Average Precision)僅提升了1%,但是深度學習的引入突破了傳統方法的束縛。
Bui等人[19]將三重網絡應用于粗粒度草圖檢索,提出并比較了幾種三重異構CNN網絡。在錨分支與另外2個分支之間,通過使用不同的權重分享策略(權重無分享、權重半分享和權重全分享)進行對比實驗,結果表明使用權重半分享策略的網絡有更好的類別概括能力,其mAP值比Qi等人提出的孿生網絡mAP值提升超過18%。

Table 1 Commonly used SBIR public datasets表1 常用SBIR公共數據集
Lei等人[31]在ImageNet數據集上使用VGG-19網絡訓練得到的預訓練模型,解決了深度網絡需要大量數據訓練的問題,并使用Candy算子提取自然圖像邊緣輪廓,相比于其他邊緣提取算法可以保留更多的紋理細節,使網絡在學習過程中獲得更多的語義信息。
Yu等人[33]將多步驟草圖繪畫概念引入SBIR問題,文中結合手繪草圖的時序信息,將手繪草圖與圖像邊緣圖按繪畫順序分解為3部分視覺表示層,這些視覺表示層在同一層中彼此對應。根據多層視覺表示層相應地提出了多層深度融合卷積網絡,基于多層視覺表示,將草圖和二進制邊緣圖饋入多通道多尺度的深層CNN中,以提取不同層中的唯一特征表達,然后將3層特征融合為最終的精確特征以代表草圖或圖像,多層融合網絡結構如圖12所示。雖然將特征表達擴展到多層可以將草圖的更多抽象和語義信息以及圖像的二進制邊緣圖用于相似度計算,但使用多步驟訓練存在新增筆劃信息是否有效的問題,如果所增加筆劃為無效信息,則會成為噪聲,導致最終得到的融合特征并非最佳特征表示。

Figure 12 Multi-layer converged network structure圖12 多層融合網絡結構
Song等人[21]為了更好地解決草圖域和圖像域映射到公共空間域的問題,提出一種具有形狀回歸的邊緣引導跨域學習方法,使用邊緣引導模塊融合經過級聯操作的自然圖像和相應的邊緣圖,有效引導自然圖像特征提取域對齊過程,并使用形狀回歸模塊探索草圖與圖像之間的形狀相似性,從而縮小不同域的特征表示差異。
Bui等人[19]的研究表明,對于具有挑戰性的草圖數據集(如Sketchy、Flickr15k等),用邊緣圖代替圖像將對檢測準確性產生負面影響。雖然利用邊緣檢測算子提取出圖像邊緣圖,完成圖像域向草圖域的近似轉化,以減少域差,但是邊緣圖中存在不可避免的噪聲,而且使自然圖像只保留邊緣輪廓與空間分布信息,而丟失了大量的高維語義信息,導致CNN網絡未能發揮出其學習圖像高維特征的優勢。使用自然圖像作為CNN輸入源更有利于語義特征的提取和域差的減少,為之后的研究提供了指導。表2列出了5種代表性的深度草圖粗粒度檢索方法,給出了它們所用的基礎網絡、模型結構、使用方法、損失函數、測試數據集和檢索精度,以資對比。
從表2可以看出,使用三重網絡模型[19,33,21]比使用孿生網絡模型[29,31]的檢索精度更高。從使用的損失函數角度來看,僅使用對比損失或三元組損失引導模型訓練的實驗結果不理想,這歸因于通過損失函數引導的訓練結果在特征空間中不同類別所對應的特征向量分布較為分散,共享同類標簽的特征向量未能得到較好的內聚性。
相較于粗粒度檢索,細粒度檢索是一項更富有挑戰性的任務:(1)視覺特征不僅需要細粒度,而且還需要跨域執行;(2)手繪草圖高度抽象,使得細粒度匹配更加困難;(3)更為重要的是,訓練所需帶注釋的跨域草圖-圖像對數據集稀少,使得許多深度學習方法面臨巨大挑戰。因此,相關研究者將研究重點集中于如何利用高維特征與更有效的局部信息實現跨模態匹配。本節將對細粒度檢索研究中具有代表性的工作進行歸納總結。

Table 2 Five representative coarse-grained retrieval methods for sketches with deep learning表2 5種代表性的深度草圖粗粒度檢索方法
Yu等人[27]首次將深度學習引入細粒度檢索問題中,他們在類別級檢索模型基礎上構建具有三元組排名損失的遷移模型,該模型通過分階段預訓練策略緩解細粒度數據不足的問題。在數據處理方面,文中將邊緣圖和草圖組合成映射對,提高CNN網絡在特征提取過程中空間映射的有效性,但使用的網絡模型過于依賴數據集的信息標注,這樣的工作將花費大量的勞動成本。Sangkloy等人[26]提供了Sketchy數據集,并在CNN網絡中加入嵌入損失與分類損失,新數據集的提出為細粒度檢索研究開辟了新的發展空間。
Zhang等人[22]使用異構網絡(網絡分支的網絡結構或網絡參數不同)的變體實現端到端的圖像檢索,以減少邊緣圖提取在高維特征提取過程中造成的圖像信息丟失,結合對比損失與三元組排名損失進行逐步訓練。在他們的研究中,將Tu-Berlin、ImageNet subset、Sketchy和QMUL Chair-V2分別用于訓練或微調,這樣的做法不利于語義信息在特征空間中的保存。
Song等人[34]引入對視覺細節的空間位置敏感的注意力模塊來實現空間感知,并添加連接融合塊將粗粒度語義信息與細粒度語義信息進行融合。Song等人[34]提出的深層空間注意力FG-SBIR模型在CNN的每個分支中添加注意力模塊,用于表示學習的計算集中于特定的可辨別局部區域,而不是均勻分布在整體視圖表示上。雖然CNN特征輸出中包含細粒度信息,可以基于細微的細節進行區分,但是2個分支之間的特征未對齊,以及每個細粒度特征的語義感知信息較少而導致特征噪聲更大。常用的對比損失或三元組排名損失通常使用基于歐氏距離的能量函數,該函數依賴于逐元素距離的計算,導致對錯位十分敏感。因此,使用這2種損失函數建立于特征向量完全按元素對齊的假設之上,這與現實情況不符。為了解決這些問題,文獻[34]提出了一種基于高階可學習能量函數HOLEF(Higher-Order Learnable Energy Function)的損耗,其基于一對輸入向量,通過向量之間加權外部減法形成的三重態損失的二階距離函數。使用此能量函數,在比較草圖和圖像時,將計算2個特征向量之間的外部減法,從而詳盡地測量2個域之間的逐元素特征差。雖然該實驗檢索精度有所提升,但是檢索時間增加了一倍,效率大大降低。
Pang等人[4]認為在訓練數據有限且僅關注區分性損失的情況下,僅學習2個域嵌入共同空間模型難以捕獲所有域不變信息,無法有效地推廣到與訓練數據不同的測試域,導致訓練域與測試域之間的差異和失準。為此,作者引入跨域圖像合成的生成任務,提出了一種新的判別-生成混合模型,該模型將強制被學習的嵌入空間保留對跨域重構有用的域不變信息,從而顯著減小異域間隙。Xu等人[35]探索了SBIR中的跨模式檢索方法的有效性,使用概率方法對聯合多模態數據分布進行建模,學習多模態相關性,利用子空間學習構造公共子空間并將多模態數據映射到其中,以進行跨模態匹配。實驗表明子空間學習可以有效地對草圖-圖像域間隙進行建模。表3列出了7種代表性的深度草圖細粒度檢索方法,給出了它們所用的基礎網絡、模型結構、使用方法、損失函數、測試數據集和檢索精度,以資對比。
草圖檢索研究除了需要解決減少草圖與圖像之間的域差,提高檢索精度之外,還需解決大規模檢索的效率問題[38-41]。隨著數據規模的不斷增大,使用距離算法計算相似度排名會花費巨大的存儲空間和檢索時間成本。哈希技術[42 -46]將圖像的高維特征映射到二值空間,用低維哈希序列來表征圖像,降低了檢索算法對計算機內存空間的要求,提高了檢索速度。傳統的哈希編碼方法主要是利用手工提取的特征作為圖像表示,并通過不同的投影與量化方法(例如矢量迭代量化方法ITQ(ITerative Quantization)[39]、譜哈希方法SH(Spectral Hashing)[40]、核哈希[47]等)學習哈希碼。近年來,深度哈希技術引起了計算機視覺研究者們的關注,其通過網絡模型學習草圖特征向量,之后將特征向量通過完全連接層且使用Sigmoid函數作為激活函數,并設定神經元的數量,即最終想獲得的哈希碼長度。與傳統方法相比,跨域深度哈希(Cross Domain Deep Hashing)[48,49]編碼能夠更好地保留語義信息,同時以低計算量映射大規模異構數據,實現更優質的檢索性能。與此同時,深度哈希檢索也帶了更大的挑戰:(1)需要更緊湊的二進制編碼實現有效的大規模檢索;(2)需要使特征更具區分度來緩解由于數據高度抽象帶來的劇烈變化。

Table 3 Seven representative fine-grained retrieval methods for sketches with deep learning表3 7種代表性的深度草圖細粒度檢索方法
采用深度哈希技術的模型的目標函數主要由3部分組成:(1)跨域交叉熵損失:為了將同一類別的草圖與自然圖像的二進制編碼拉近;(2)語義分解損失:為了保持類別之間的二進制編碼語義關系;(3)量化損失。總的損失函數[25]定義如式(3)所示:
s.t.BI∈{-1,1}m×n1,BS∈{-1,1}m×n2
(3)
其中,λ、γ為超參數,BI、BS分別為自然圖像與草圖的二進制編碼,W為跨域相似性矩陣,φ(TI)、φ(TS)分別為圖像與草圖的類別詞向量嵌入,D為共享的語義嵌入,ωI、ωS分別為自然圖像與草圖的特征矩陣,FI(ωI)、FS(ωS)分別為用于圖像與草圖的CNN網絡。
Liu等人[25]首次將深度哈希方法用于草圖檢索問題中,提出了新的二進制編碼方法——深度草圖哈希DSH(Deep Sketch Hashing),使用一種半異構深度網絡并將其結合到端到端二進制編碼框架中。在DSH學習過程中對草圖輔助信息進行編碼,有效地減輕草圖-圖像之間的幾何失真,并捕獲到交叉視圖的相似性以及不同類別之間固有的語義相似性,但二值化過程引入的量化誤差會破壞域不變信息和跨域的語義一致性。Zhang等人[50]提出生成域遷移哈希方法,該方法使用對抗生成網絡GANs(Generative Adversarial Nets)[51]將草圖遷移到自然圖像中增強泛化能力。在提出的學習框架中使用對抗損失與循環一致性損失共同優化了循環一致性遷移和哈希編碼,還在其中加入了注意力模塊,指導模型學習最具代表性的區域。表4列出了2種代表性的草圖檢索深度哈希方法,給出了它們所用的基礎網絡、模型結構、使用方法、損失函數、測試數據集和檢索精度,以資對比。

Table 4 Two representative sketch retrieval deep hashing methods表4 2種代表性的草圖檢索深度哈希方法
所謂類別泛化,即通過特征提取模型,將訓練過程中的可見數據與語義標簽等輔助信息(例如詞向量、屬性向量)相結合,利用特征映射空間的語義信息“推理”出未見數據類別,從而完成圖像檢索任務。現在的大多數草圖研究方法無法將已訓練的類別高維特征映射到未訓練類別的特征空間中,完成未訓練類別的草圖檢索,由此衍生出SBIR研究的新課題——SBIR類別泛化。在現實生活中,檢索系統訓練數據無法涵蓋數據庫中潛在檢索查詢和候選對象的所有概念,所以草圖檢索的類別泛化成為亟需解決的新問題。
Bui等人[52]利用三元組損失網絡提出了一種SBIR的有效表示,利用孿生卷積神經網絡SCNN(Siamese Convolutional Neural Network)實現了描述不變嵌入來提高檢索可見數據以外的能力,并且提出一種緊湊圖像描述符實現在資源有限的移動設備上完成對數據集的有效檢索。之后Bui等人[36]又提出一種同時具有對比損失與三元組損失的混合多級訓練網絡,使用該網絡進行多階段回歸對數百個對象類別進行泛化。階段1將訓練網絡每個分支設定為共享權重層,學習對應域中獨有的特征;階段2通過比較2個域中的低維特征來學習2個域中的共同特征;階段3使用三元組損失對整個網絡進行調整與完善,也進一步提高準確性。但是,他們僅對未訓練類別泛化分析進行研究,并未進行具體實驗。之后一段時間內,草圖檢索泛化問題沒有取得大的突破。
2018年由Yelamarthi等人[53]首次將零次學習ZSL(Zero-Shot Learning)[54 -62]引入草圖檢索問題中,在此之前,大多數零次學習方法應用于自然圖像處理領域,該類方法建立于一個假設之上:測試數據集分為可見數據與不可見數據,其共享語義空間且在語義嵌入空間中進行域對齊操作[56]。通過將可見數據與跨域遷移的語義知識映射到共享的語義空間中,根據可見數據訓練學習到的嵌入屬性完成對不可見數據的檢索。零次學習的挑戰性在于如何通過共享空間中的語義信息完成域對齊,從而實現不可見數據分類。隨著新事物的不斷增加,使用零次學習提高泛化能力成為必然趨勢。圖13所示為零次學習示意圖。

Figure 13 Schematic diagram of zero-shot learning圖13 零次學習示意圖
Yelamarthi等人[53]提出了ZS-SBIR的新基準,以VGGNet為基礎網絡,為草圖檢索問題設計了條件變體自動編碼器框架CVAE(Conditional Variational AutoEncode)和對抗自動編碼器框架CAAE(Conditional Adversarial AutoEncode),如圖14所示。本質上,文中模型將草圖特征向量作為輸入,使用生成模型隨機填充缺失的信息,從而生成更多可能的圖像向量,利用這些生成的圖像特征向量從數據庫中檢索圖像。在Yelamarthi等人的實驗中,將草圖與圖像數據全部作為輸入,而在泛化問題中,圖像和草圖并非所有的區域都可為跨模態映射提供關鍵的有效信息。

Figure 14 Architecture of CVAE and CAAE 圖14 CVAE和CAAE體系結構圖
深度哈希有效地解決了大規模的草圖檢索問題,但是如果檢索草圖為訓練過程中未見過的類別,使用深度哈希往往會失敗。Shen等人[63]針對這個問題提出了零次草圖圖像哈希ZSIH(Zero-Shot Image Hashing)模型。模型結構由端到端的三重網絡組成,其中2個分支為二進制編碼器,第3個分支分別利用Kronecker融合層和圖卷積來減輕草圖-圖像的異質性并增強數據之間的語義關系。由于使用哈希算法的二值化過程引入的量化誤差會破壞域不變信息和跨域的語義一致性,因此文中還提出一種生成哈希算法,使零次學習知識表示得以重構。但是,Kronecker融合層效率低下,將花費大量的檢索成本。ZSIH是第一次將ZSL和跨域哈希相結合應用到SBIR任務中,對ZS-SBIR的研究具有重要意義。為使草圖域與圖像域能夠更好地在公共映射空間中語義對齊,往往需要使用高階的草圖-圖像對,例如Sketchy數據集。
Dutta等人[64]提出了語義對齊的配對周期一致生成SEM PCYC(SEMantically tied Paired CYcle Consistency)模型,其中每個分支通過對抗訓練將視覺信息映射到公共語義空間。在對抗學習中將分類損失、循環一致損失和對抗損失相結合,保持每個分支的循環一致性。該模型只需要在類別級監督下進行學習,從而避免使用高階的草圖-圖像對或內存融合層。
Dey等人[28]提出了一個新的ZS-SBIR模型,在模型中嵌入外部語義信息并使用2個新的損失函數來幫助實現可見類與不可見類之間的語義轉換。一種為域分離損失,通過迫使網絡學習與域無關的嵌入來彌合域之間的差距,其中梯度反轉層GRL(Gradient Reversal Layer)鼓勵編碼器從草圖和圖像中提取互信息。另一種為語義損失,可以確保在已獲取的嵌入中保留語義信息。在理想情況下,草圖域和圖像域可以在公共語義空間完全對齊。假設理想情況成立,為使草圖檢索得到更好的效果,則需要考慮如何在學習過程中保留更多的有效語義,從而完成擁有細節語義的檢索。
Liu等人[65]從域適應的角度來解決以上問題,提出一種語義感知的知識保存SAKE(Semantic-Aware Knowledge prEservation)方法,通過使用師生優化模型進行近似計算,其中ImageNet的預訓練模型作為教師信號,結合外部語義信息指導語義感知知識在嵌入空間中得到更好的保存與映射,從而進一步減少兩域域差。表5列出了6種代表性的深度草圖檢索類別泛化方法,給出了它們所用的基礎網絡、模型結構、使用方法、損失函數、測試數據集和檢索精度,以資對比。
從表5可以看出,SBIR類別泛化不僅關注域差減少問題,其對模型的推斷未知類別能力、域對齊、語義保留等方面也有較高的要求。從Bui等人[52,53,63]的研究重點與實驗結果中可以看出,他們提出的模型未能較好地保留語義與捕捉類內差異性,導致實驗結果并不理想。而從Liu等人[65]的消融實驗可知,注意力機制、語義對齊模塊和語義知識保存模塊均可有效提升模型性能。如何更好地實現保存語義知識、提升域對齊性能將成為解決類別泛化的關鍵。
針對基于深度學習的草圖檢索,本文還進行了實驗比較研究,其主要目的有2個:(1)評估選用測試集的特點與適用場景;(2)評估測試模型性能優劣。數據集選取方面,本文選取了TU-Berlin和Sketchy公共數據集,這2個數據集已被多篇文獻[23,25,50,53,63-65]作為研究標準。本文還將較新的QuickDraw數據集[28]作為新基準納入對比實驗,此數據集雖然還未得到廣泛的使用,但相比于其他2個數據集,該數據集有效地緩解了手繪草圖研究中缺少大規模草圖數據集問題,根據其特有特性可以從實驗中獲得更加豐富的模型評估信息。模型選取方面,本文選取CVPR、ECCV、ICCV等計算機視覺頂級會議提出的3個最新SBIR模型進行驗證,分別為GRLZS模型[28]、SEM PCYC模型[64]和SAKE模型[65]。

Table 5 Six representative generalization methods for sketch retrieval categories with deep learning表5 6種代表性的深度草圖檢索類別泛化方法

Table 6 Results comparison of GRLZS,SEM-PCYC and SAKE on TU-Berlin,Sketchy,and Quickdraw datasets表6 GRLZS、SEMPCYC和SAKE在TU-Berlin、Sketchy、QuickDraw數據集上的結果對比
實驗平臺為一臺個人計算機,CPU為Intel(R)Core(TM)i9-9900K,操作系統為Windows 10,內存為32 GB,GPU為NVIDIA RTX 2080。實現算法的編程語言為PyThon,編程工具為Pychram,深度學習框架為PyTorch。為了實現有效的結果比較,本文將各模型參數盡可能統一。起始學習率lr=1e-4,最低衰減為lr=1e-7;參數優化器權值β1=0.9,β2=0.999,λ=5e-4。
在對比實驗中,本文采用2個標準的信息檢索性能評估準則——平均精度均值和查準率。
(1)平均精度均值。
在SBIR研究中,平均精度均值mAP為常用檢索性能評估準則,其定義如式(4)所示:
(4)
其中,Pr(q)表示查詢草圖q的檢索精度,S表示測試集中查詢草圖的數量,Avg(·)表示平均函數。
(2)查準率。
查準率(Precision)是指在一次查詢過程中,檢索系統預測為正樣本圖像數量占所有返回圖像數量的比例。
(5)
其中,tp(true positives)表示被系統檢索到的正樣本圖像數量,fp(false positives)表示被系統檢索到的負樣本圖像數量。
在實驗中,本文將TU-Berlin、Sketchy和QuickDraw 3個數據集作為基準,在GRLZS、SEMPCYC和SAKE 3個訓練模型上進行測試。通過實驗結果對比,有利于從不同角度分析模型的優劣,表6所示為實驗測試結果。
從表6的實驗結果可以看出,3個模型在QuickDraw數據集上的測試結果均低于另外2個數據集上的測試結果。通過觀察數據集得知,雖然QuickDraw數據集相比于另外2個數據集,在手繪草圖數量上有絕對性的優勢,但是QuickDraw圖像質量不高、表達語義模糊等原因導致最終的測試結果不理想。實驗結果表明,在SBIR問題中,不僅需要草圖數量大,還需要較高質量的草圖才能更好地進行語義提取與泛化。觀察另外2個數據集上的實驗結果,在相同的模型中,使用Sketchy數據集往往比使用TU-Berlin數據集的實驗結果更勝一籌,根據測試結果驗證出,無論是從數量上還是從Sketchy數據集中包含實例對標簽的屬性來看,Sketchy是比TU-Berlin更優質的數據集。
從模型角度看,在TU-Berlin和Sketchy 2個數據集上,SAKE模型與其它2個模型相比,結果有顯著的提高。與GRLZS和SEM-PCYC不同,SAKE模型著重解決域適應問題,該模型為微調數據中的訓練樣本生成了偽標簽并保留在預訓練模型中,具有豐富視覺特征的原始域知識,使合適的候選圖像與干擾信息得到了更好的區分。網絡在進行前向訓練時,將二進制編碼附加到第1層的輸出中,用來指示輸入的數據是圖像域還是草圖域,用1個帶條件的自動編碼器代替2個獨立的網絡,幫助網絡學習來自不同模態輸入數據的不同特征。由于基準數據集中沒有對應標簽,SAKE使用ImageNet預訓練網絡初始化模型,作為教師信號,通過外部語義知識的約束來監督網絡的學習。與SAKE模型相比,雖然SEM PCYC模型使用循環一致損失函數與外部語義信息的結合,將草圖域和圖像域在嵌入空間中更好地對齊,但是未能對預訓練模型中的有效知識進行保存,導致在訓練過程中丟失大部分知識。但是,從表6中可以清楚觀察到,SAKE模型在QuickDraw數據集上表現并不理想,從其使用的教師指導模塊可以分析其原因,QuickDraw中手繪草圖與其他2個數據集中手繪草圖相比,存在無法表達完整語義的草圖,這導致在教師指導模塊中為訓練的模型提供較大噪聲,產生存在誤差的指導信號,被訓練出的模型無法從源數據中學習有用的感知知識進行有效存儲,最終的檢索效果也隨之降低。
雖然草圖檢索研究已經取得了很大的進展,但是還遠遠無法滿足實際應用的需求,該領域仍然面臨很多具有挑戰性的問題,未來可主要著眼于如下研究工作:
(1)到目前為止,SBIR研究可使用的公共數據集在數量上仍然不足,一定程度上阻礙了研究的進一步發展。可用于細粒度檢索的數據集(與Sketchy數據集相似)更是成為SBIR研究的亟需資源。雖然遷移學習和無監督機器學習可能有助于解決標簽不足的草圖訓練數據問題,但是為推動SBIR研究與發展,仍然需要收集高質量的手繪草圖數據,只有在擁有充足實驗數據的基礎上,模型才能廣泛地從手繪草圖中獲取抽象數據模式和高度復雜的時序邏輯信息。
(2)如何將草圖與圖像之間的公共特征進行更好的映射,減少兩域之間的差距將是一個長久的課題。本文建議參考圖像檢索領域中最新技術(例如動態路由、Few-Shot、MatchNet、Meta learning等),它們應用于其它問題中取得了很好的結果,可以為SBIR相關問題的研究提供新的思路。
(3)現有的基于深度學習的草圖檢索方法所使用的網絡模型(如AlexNet、VGG16等),其網絡結構大多是基于自然圖像的特性所設計的,然而自然圖像與手繪草圖之間存在較大差異,未能有針對草圖本身所具有的抽象性、時序性等特征設計的有效的深度學習網絡,因此在之后的研究工作中,可以從草圖的固有特點有針對性地壓縮模型結構,減少網絡中不必要的參數等,設計專用神經網絡,提高檢索性能。