朱 杰,白弘煜,張仲羽,謝博鋆,張俊三
1.中央司法警官學院信息管理系,河北保定071000
2.河北大學數學與信息科學學院,河北保定071002
3.中國石油大學(華東)計算機科學與技術學院,山東青島266580
近年來,互聯網中圖像、文本等多種模態的數據量急劇增長,多模態數據之間的交互也應運而生。跨模態檢索已經成為人工智能領域的一個熱門課題,其目的是為了確定來自不同模態的數據是否指向相同內容。在跨模態檢索過程中,一種模態的數據會映射到另一種模態去檢索,但是,由于不同模態的數據分布在不同的特征空間上,因此多模態檢索成為了一項非常有挑戰性的任務。
基于哈希的多模態數據表示因其快速、有效性受到了信息檢索領域的廣泛青睞。目前的多模態哈希主要分為多源哈希[1-2]和跨模態哈希[3-4],其中多源哈希致力于綜合數據的不同模態產生哈希碼。與多源哈希不同,跨模態哈希在檢索中提供的數據源通常只有一種(如文本),而需要檢索其他模態中對應的數據(如圖像)。在解決實際問題的過程中發現,大部分情況下無法提供樣例的全部模態數據,因此跨模態檢索就顯得尤為重要。跨模態檢索成敗的關鍵在于能否將不同模態的數據映射到相同的特征空間,從而避免語義鴻溝的問題。
傳統的方法嘗試利用人工特征將不用模態的數據映射到相同的空間,如:集體矩陣分解哈希(collective matrix factorization Hashing,CMFH)[5]、語義相關性最大化(semantic correlation maximization,SCM)[6]與跨視角哈希(cross view Hashing,CVH)[7]。
近些年深度學習不斷發展,并且被廣泛應用于計算機視覺領域,如:圖像分類[8-9]、圖像分割[10-11]、人臉識別[12]與圖像檢索[13-14]。越來越多的研究表明深度神經網絡在特征表示方面有很好的性能,因此被廣泛應用于跨模態檢索。
跨模態深度哈希檢索方法將不同模態的數據通過深度網絡映射為一系列的二進制碼,并通過漢明距離衡量數據相似性。融合相似性哈希法(fusion similarity Hashing,FSH)[15]采用了一種無向非對稱圖的方式將多模態的特征進行加工,用于生成魯棒性較強的哈希碼。相關自編碼哈希法(correlation autoencoder Hashing,CAH)[16]通過最大化特征相關性和相似標簽所傳達的語義相關性,用于生成非線性深度自哈希碼。三元組損失也被應用于跨模態網絡的學習中,三元組深度哈希(triplet-based deep Hashing,TDH)[17]使用三元組標簽來描述不同模態實例之間的關系,從而捕獲跨模態實例之間更一般的語義關聯性。哈希方法的本質在于生成二值化的哈希碼,離散潛在影響模型(discrete latent factor model,DLFH)[18]基于離散潛因子模型,學習跨模態哈希二進制哈希碼,用于交叉模態相似度搜索。為了去掉不必要的信息,從而提高跨模態檢索精度,注意力機制被應用于跨模態檢索,堆疊注意力網絡(stacked attention networks,SANs)[19]采取了多個步驟,將注意力逐步集中在相關區域,從而為圖文問答任務提供了更好的解答。Sharma 等[20]提出了一種基于注意力的動作識別模型,該模型使用具有長短期記憶(long short-term memory,LSTM)單元的遞歸神經網絡(recurrent neural networks,RNNs)來獲取時間和空間信息。Noh 等[21]提出了一種注意力模型,該模型采用加權平均池化的方式生成基于注意力的圖像特征表示。
深度跨模態哈希(deep cross modal Hashing,DCMH)[4]提出了一種基于深度神經網絡的端到端的學習框架,算法將特征學習與哈希碼學習統一到相同的框架中用于跨模態檢索。隨后出現了DCMH 算法的一系列變種,成對關系深度哈希(pairwise relationship guided deep Hashing,PRDH)[22]在DCMH 的基礎上,通過降低二進制碼之間的關聯性,提高了跨模態檢索性能。深度有監督跨模態檢索方法(deep supervised cross-modal retrieval,DSCMR)[23]在DCMH的基礎上,提出了一種有判別力的損失函數,使生成的網絡能夠更好地生成跨模態特征。但是這些方法提取出的圖像特征為全局特征,無法突出圖像中的對象內容即語義內容,這導致以上方法無法真正實現語義上的跨模態。
為了解決此類問題,本文提出了一種基于對象特征的深度哈希(object feature based deep Hashing,OFBDH)跨模態檢索方法。與大多數跨模態檢索方法不同,本文將深度圖像特征、深度文本特征和深度對象特征進行融合,用于訓練深度神經網絡,從而生成更加優秀的跨模態哈希碼。
本文算法只關注于圖像和文本兩種模態的跨模態檢索。假設每個訓練樣本都具有圖像和文本兩種模態,分別用代表,其中n代表樣本數量。S為樣本之間的相似性矩陣,如果第i個樣本與第j個樣本擁有至少一個相同的類標,則認為Sij=1,否則Sij=0。圖像和文本的跨模態哈希檢索模型的本質在于,學習圖像哈希函數h(I)(x)和文本哈希函數h(T)(y),從而使得h(I)(xi)與h(T)(yi)的表達盡量一致。
本文提出的OFBDH 學習框架如圖1 所示,它是一個端到端的學習框架,此框架由三部分組成:圖像特征學習部分,用于學習深度圖像特征;對象特征學習部分,用于提取卷積特征并加工輸出深度對象特征;文本特征學習部分,用于學習深度文本特征。
在圖像特征學習部分,對應的深度神經網絡由8個層次組成,其中包括5個卷積層(Conv1~Conv5)和3個全連接層(fc6~fc8),網絡的前7 層與卷積神經網絡融合(convolutional neural network fusion,CNN-F)網絡完全相同,第8層用于輸出學習到的深度圖像特征。fc6 和fc7 每一層都含有4 096 個節點且均使用ReLU作為激活函數,fc8 則使用恒等函數作為激活函數。
在圖像特征學習部分,數據來源為圖像模態Conv5 層的卷積特征,經過兩個全連接層fc1 和fc2 之后生成深度對象特征表示。其中fc1 層包含256×K個節點,K代表標簽的數量。fc2 層包含512 個節點,且均使用ReLU 作為激活函數。

Fig.1 Architecture of OFBDH圖1 OFBDH 網絡結構
文本特征學習部分,使用詞袋(bag of words,BoW)模型來對文本進行表示,從而作為神經網絡的輸入,fc4 與fc5 為兩個全連接層,用于輸出深度文本特征。其中,fc4 層使用ReLU 作為激活函數,fc5 層使用的激活函數為恒等函數。
這部分內容首先介紹了利用卷積層特征映射生成有判別力的MAC 特征的過程,然后分析了跨模態損失的構造,最后分析了深度網絡的學習過程。
以每一批次(batch)中的輸入圖像為研究對象,通過分析不同維度卷積特征之間的關系,生成有判別力的卷積特征表示。假設每一個批次包含的標簽集合為L={l1,l2,…,lj,…,lK},其中K代表標簽的數量。在每一批次中存在m幅圖像,每幅圖像都含有一個或多個標簽。之前的研究普遍認為極大激活卷積(maximum activations of convolutions,MAC)特征[24]能夠更好地突出對象內容。MAC 特征生成的基礎為最后一個卷積層提取出的一系列特征映射,每一個特征映射中提取一個最大值,組成的向量即為圖像的MAC 特征。對于任意圖像i,從圖1 中的Conv5 層提取特征映射,并生成MAC 特征pi。由于特征映射之間存在依賴關系,因此MAC 特征不同維度之間也存在相互依賴的關系。為了解決以上問題,本文首先提出了一種有判別力的MAC 特征。
若圖像i中存在任意標簽lj,則將此標簽在圖像i中的向量表示為,否則,qij中的所有元素均設置為0。其中ni為圖像i的標簽數量。每一批次中任一標簽的表示由本批次內各圖像針對此標簽的向量表示共同表示,進而得到每一批次中標簽的向量表示QL={ql1,ql2,…,qlj,…,qlK}。

其中,mj為本批次內存在標簽lj的圖像數量。
方差較大維度的特征有較好的判別性,標簽lj在不同維度的方差表示如式(2)所示,其中V={v1,v2,…,vC},vk代表第k個維度的方差,C為特征的總維度。

在特征選擇的過程中,針對所有標簽,首先按照方差大小對不同維度進行排序,然后選擇方差最大的前N個維度作為此標簽最有判別力的特征維度,在標簽表示的時候這些維度的特征保持原值,其他C-N個維度的特征則設置為0。為了獲得不同標簽的有判別力特征集合,本文算法設計了如下目標函數用于求解N,目標函數如下:

對于任意圖像i,其有判別力MAC 特征用QLi=表示,其維度為256×K。如果圖像i包含標簽lj,則為pi保留了標簽lj的N個維度后生成的有判別力的特征;反之,如果圖像i不包含標簽lj,則中的每個元素均設為0。
最后,將有判別力的MAC 特征作為圖像特征學習部分的數據輸入,因此MAC 特征的維度與fc1 層的維度相同。
OFBDH 用f1(xi;θx)∈?c表示圖像模態的深度神經網絡學習到的深度圖像特征,用f2(zi;θz)∈?c表示對象模態的深度神經網絡學習到的深度對象特征,用f3(yi;θy)∈?c表示文本模態的深度神經網絡學習到的深度文本特征。其中,θx、θy和θz分別表示圖像模態、文本模態和對象模態的深度神經網絡的網絡參數,c為生成的特征維度。
跨模態損失[4,25]可以作為不同模態數據的橋梁,用于訓練跨模態深度神經網絡,構造了如下跨模態損失函數:

式中,F∈?c×n和G∈?c×n分別代表生成的深度圖像特征和深度文本特征,B∈{-1,+1}c×n代表三種模態數據生成的統一的哈希碼。n為批的大小,γ和η為超參數,論文中的值均為1。1 為全1 向量。

本節將介紹OFBDH 如何對θx、θy、θz以及B進行學習。在學習的過程中,采用迭代優化的方法依次將4 個參數中的3 個進行固定,從而學習剩余的1項,以下為參數的具體學習過程。
3.3.1 θx 的學習
在θy、θz和B固定的前提下,采用隨機梯度下降與反向傳播算法學習圖像模態的參數θx。對于每個隨機樣本xi,給出以下梯度計算方式:

3.3.2 θy 的學習
與θx的學習方法類似,在θx、θz和B固定的前提下,可以利用隨機梯度下降與反向傳播算法學習文本模態參數θy。對于每個隨機樣本yj,有如下梯度計算公式:

3.3.3 θz 的學習
與更新θx和θy所使用的方法一樣,對于每個隨機樣本zi,有如下梯度計算公式:

3.3.4 B 的學習
在θx、θy和θz的前提下,可以將式(4)中的問題重新描述為:

其中,V=γ(F+G+P)。B可以最終表示為如下公式:

其中,sign(·) 代表元素的sign 函數,如果a≥0,則sign(a)=1,否則sign(a)=-1。
在跨模態檢索的過程中,對于圖像和文本模態的數據,需要通過對應模態的網絡生成哈希碼。給定圖像xi,生成的哈希碼如式(11)所示,對于任意文本yi,則用式(12)的方式生成哈希碼。

為了驗證OFBDH 的效果,分別在3 個數據集MIRFLICKR-25K、IAPR TC-12 和NUS-WIDE 上進行了實驗。
MIRFLICKR-25K[26]數據集由25 000 張圖像組成,每一幅圖像都含有一個或多個文本標簽,這些標簽共分為24 類,所有數據來源于Flick 網站。與大部分跨模態檢索算法相同,本文只選擇至少包含20 個文本標簽的樣本用于實驗,這樣就構成了20 015 個圖像-文本對。每一對樣本的文本標簽由1 386 維詞袋向量表示。
IAPR TC-12[27]數據集含有20 000 個圖像-文本對,這些圖像文本對使用255 個標簽進行注釋,文本標簽由2 912 維詞袋向量表示。
NUS-WIDE[28]數據集包含來自Flickr 網站的269 648 張圖像,每張圖像都含有至少1 個文本標簽,這些文本標簽與對應的圖像構成圖像-文本對,這些樣本分為81 類。選用樣本數量最多的10 類進行實驗。文本標簽則由1 000 維詞袋向量表示。
在MIRFLICKR-25K 數據集和IAPR TC-12 數據集中,本文隨機選取2 000 個樣本作為測試對象,其余作為檢索對象,從檢索對象中隨機選取10 000 個樣本用于訓練。在NUS-WIDE 數據集中,本文選取2 100個樣本作為測試對象,其余作為檢索對象,并且從檢索對象中選取10 500 個樣本用于訓練。
為了與DCMH 進行比較,本文采用了與DCMH相同的參數,即γ=η=1。在進行圖像模態的網絡訓練時,使用CNN-F[29]作為圖像模態的神經網絡架構基礎。而文本模態則將BoW 向量作為網絡輸入。在實驗過程中,將批大小設置為64。實驗性能評估方面,本文采用平均精度均值(mean average precision,MAP)和精度-召回曲線(precision-recall curve)這兩種評估指標對算法的有效性進行評估。所有的實驗均運行10 次,并取平均值作為最終結果。
本文與6 種優秀的跨模態哈希檢索算法進行比較,這6 種算法分別是DCMH[4]、SDCH(semantic deep cross-modal Hashing)[30]、AADAH(attention-aware deep adversarial Hashing)[31]、DLFH[18]、SCM[6]和CCA(canonical correlation analysis)[32]。其中,CCA、SCM 與DLFH算法采用人工特征如SIFT(scale-invariant feature transform)[33]等作為圖像特征,其他算法均采用深度神經網絡作為特征提取的手段。
表1 展示了不同算法在3 個數據集上的MAP 比對。表中I→T 表示查詢為圖像模態數據,而檢索數據集為文本模態數據。
與之相反,T→I 表示查詢為文本模態數據,而檢索數據集為圖像模態數據。從表1 中可以看出OFBDH 比其余6 種算法的檢索性能更好。CCA 和SCM 將標簽信息融入到了文本、圖像表示中,但采用的圖像特征為人工特征,因此在眾多算法中MAP 值較低。DLFH 的優勢在于可以為多模態數據直接生成哈希碼,減少了哈希過程中的特征損失,因此在NUS-WIDE 數據集上取得了最好的MAP,但是,由于此算法采用底層特征對圖像進行表示,因此在數據集MIRFLICKR-25K 和IAPR TC-12 中難于獲得較好的效果。
OFBDH 的研究基礎為DCMH,由于OFBDH 在DCMH 基礎上加入了對象特征的學習,使學習到的哈希碼能夠更加突出對象內容,因此OFBDH 在3 個數據集下比DCMH 獲得了更好的MAP 值。與本文的工作類似,AADAH 嘗試通過卷積特征發現對象內容,但是AADAH 將圖像和文本特征分別區分為顯著特征(對象特征)和非顯著特征(背景特征),并沒有生成圖像和文本的全局表示。而OFBDH 既考慮了全局特征,又考慮了對象特征,因此MAP 值仍然高于AADAH。SDCH 將類標信息用于改進深度特征的質量,并采用多種損失函數用于更新網絡,因此能夠生成第二好的MAP,但由于此方法考慮的依然是全局信息,因此OFBDH 的MAP 值在3 個數據庫中比SDCH 高出2 個百分點、2 個百分點和3 個百分點。

Table 1 MAP value comparison of different algorithms in database表1 不同算法在數據庫中的MAP 值比對

Fig.2 PR curves with code length 16 bit圖2 哈希長度為16 bit時的PR 曲線
此外,隨著哈希碼長度的增長,大部分算法的MAP 值在增加。這個現象的原因有兩點:首先,更長的哈希碼使得圖像、對象和文本特征能夠更好地匹配;其次,更長的哈希碼能夠保存更多信息,這是因為更長的哈希碼能夠保存更多的細節信息,更利于圖像的精準檢索。表1 中,通常情況下I→T 的檢索性結果低于T→I,這是因為相對于圖像,文本能夠包含更高級的語義信息,能夠更好地刻畫圖像內容,因此,T→I可以取得更好的結果。
圖2 為哈希碼為16 bit 前提下,不同算法在3 個數據集上的PR 曲線。從圖中可以發現OFBDH 的檢索結果仍然優于其他算法。
γ和η的取值對于檢索結果有著重要影響,受DCMH 啟發,本文在0.01 ≤γ≤2 和0.01 ≤η≤2 的范圍內調整結果,發現當γ和η的取值均為1 的時候能夠得到最好的檢索效果。由于卷積特征可以用于生成深度對象特征,在實驗的過程中,嘗試用深度對象特征取代深度圖像特征,即不考慮深度圖像特征與深度文本特征之間的關系。實驗結果表明,此方法比OFBDH 的MAP 值小了4 個百分點左右。因此,代表全局信息的圖像特征和代表內容信息的對象特征對于跨模態檢索性能都有重要的影響。
為了進一步驗證卷積神經網絡在跨模態檢索中的作用,本文采用AlexNet[34]與VGG19[35]代替CNNF,稱這兩種算法分別為OFBDH_ALE 和OFBDH_VGG,MAP 值比對如表2 所示。通過此表可以發現,當采用不同的卷積神經網絡的時候會產生不同的結果,并且OFBDH_VGG 的MAP 在3 個數據庫中比OFBDH 分別高出約2 個百分點。
本文提出了一種基于對象特征的深度哈希跨模態檢索方法,該方法通過卷積特征生成圖像表示,并且將深度圖像表示、深度對象表示與深度文本表示有機地結合起來用于跨模態網絡的訓練。在三個數據集上的實驗結果表明,OFBDH 有著優于其他算法的檢索性能。在未來的工作中,將研究如何將文本信息進行有效提取,從而與對象特征進行精準匹配。

Table 2 Comparison of MAP when using different CNN表2 采用不同卷積神經網絡的MAP 值比對