朱治蘭 荊曉遠* 董西偉,2 吳 飛
1(南京郵電大學自動化學院 江蘇 南京 210023) 2(九江學院信息科學與技術學院 江西 九江 332005)
近幾十年來,互聯網多媒體數據的爆炸性增長,使得跨媒體數據檢索需求增長,并且促進了復雜多模態檢索技術的發展。現如今,多媒體數據往往來自不同的互聯網多媒體平臺以及不同的數據資源。這些數據經常共同出現且被用來描述同一物體和事件,因此跨模態檢索在實際應用中已經成為必要。例如,人們經常利用圖片來檢索相關的文本文獻,或者用文本來檢索相關的圖片內容。但是,由于多模態數據屬于不同的特征空間,這種異質的特征被認為是跨模態檢索最大的挑戰。
為了消除不同模態特征之間的異質性,最近有很多研究把關注點放在潛在子空間的學習上。研究的關鍵點在于如何通過學習得到一個共同的語義子空間,使得不同模態數據之間的異質性得到消除,進而使得這些特征在這個學習得到的語義子空間中能被直接相互匹配。然而,由于忽視了特征維度的可伸縮性,在解決大規模數據的多模態檢索時,這些方法受到了限制。此時出現了大量的哈希方法。之前大多數的哈希方法目的在于生成多模態數據的哈希碼,生成哈希碼的方法可以分為兩大類,一類是依賴訓練數據的,另一類是獨立于訓練數據的。其中有一種不依賴訓練數據的著名算法是局部敏感哈希算法[1],它隨機地選取線性投影矩陣作為哈希函數。相比獨立于訓練數據的哈希算法,依賴訓練數據的哈希算法提供了一種更加可靠的投影機制,從而能夠得到更加簡潔以及有鑒別力度的哈希碼。
從有無利用標簽信息的角度來看,現有的跨模態哈希算法又被劃分成有監督的哈希算法[2-3]和無監督的哈希算法[4-6]。無監督的方法一般是利用訓練數據之間的相關性學習一種能夠將多模態特征轉化為哈希碼的投影機制,而有監督的方法則是將訓練數據的標簽信息作為一種語義約束,從而得到更加合適的哈希碼。前人的實驗表明有監督的哈希算法在跨模態檢索中取得的效果通常比無監督的哈希算法取得的效果要好。
對有監督跨模態哈希學習算法,一些研究者對模態間和模態內的相似性保留問題進行了研究。而且,大部分的有監督跨模態哈希具有相同的特性,即通過標簽信息保留模態間和模態內的相似性來學習哈希碼。然而,這一特性的缺點是削弱了學習到的哈希碼的鑒別力度。第一,保留模態間和模態內的相似性不能保證學習到的哈希碼在語義上的鑒別力。第二,計算給定標簽下的成對相似性不可避免地會造成額外的存儲和計算損耗。
為了解決上述問題,本文提出了一種新的跨模態哈希算法,即:有監督鑒別跨模態哈希算法SDCH(Supervised Discriminative Cross-modal Hashing)。與現有的跨模態哈希方法[6-7]相比,SDCH不僅可以節省存儲空間還可以減少在線檢索時間。圖1描述了整個工作流程。SDCH利用模態間的標簽信息作為主要的約束條件,來保留模態間數據的相似性,結合線性分類器來學習得到多模態數據的統一的有鑒別力的哈希碼。

圖1 算法流程
本文的主要貢獻總結為以下幾個方面:
1) 將模態間相似性的保留融合到分類器框架中,從而學習到既能保證相似性又能體現鑒別力的統一哈希碼。
2) 僅使用模態間的標簽信息作為主要的約束條件,與傳統的相似性保留方法相比減少了計算時間,節省了存儲消耗,同時還能保留模間同標簽數據之間的相似性。
3) 本文在兩個數據集上做了實驗來評估SDCH方法,實驗結果顯示SDCH較前沿方法具有一定的競爭性。
對于跨模態檢索問題,最近許多研究都把關注點放在潛在子空間學習上。其中,典型相關性分析CCA(Canonical Correlation Analysis)是目前最流行跨模態檢索方法之一,它主要學習一對能夠使得兩種模態數據投影到共同的潛在空間上的投影變換,而投影后得到的數據能夠直接匹配,且能夠最大程度地反映出兩種模態數據之間的關系。CCA被廣泛地研究并延伸出許多相關算法。例如,Rasiwasia等[9]提出的在跨模態檢索方法能夠學習多模態數據的最大相關子空間。其他經典的算法還有雙線性分離樣式模型[10]和廣義耦合字典學習[11],它們和CCA非常相似都是學習共同的潛在子空間來進行跨模態檢索工作。除了以上經典的方法以外,還有一些子空間學習方法利用分類標簽信息來改善檢索性能,例如,Sharma等[12]提出的一種普通的多模態分析算法,利用標簽信息學習有鑒別的潛在子空間;Gong等[13]提出的多模態CCA框架,基于標簽的語義信息將圖像和文本兩種模態的數據聯系在一起進行跨模態檢索;再有深度跨模態模型,比如深度CCA[14]、多模態自編碼[15]以及多模態限制玻爾茲曼機[16]等都是用來解決模態檢索問題而提出的算法。這些算法的目的都是希望學習到能夠更好地保留原始數據特征的子空間。
隨著高維度跨模態數據的爆炸性增長,最近鄰搜索花費的代價越來越高。為了解決這個問題,基于哈希的一系列算法被提出,比如文獻[17-20],在大規模多模態數據檢索領域上得到了廣泛的關注。文獻[4]中提出的算法第一次將哈希思想運用到多模態檢索問題上。不過這個算法的缺陷在于它只考慮到了模態內數據的相關性而忽略了模態間數據的相關性。為了解決這一問題,文獻[21]中通過最小化相似數據哈希碼之間的的距離并最大化不相關數據哈希碼之間的距離來生成跨模態檢索的哈希碼。更近一步地,Wu等[22]提出了稀疏多模態哈希算法,這一算法通過聯合的多模態字典學習獲取不同模態數據的稀疏哈希碼從而解決跨模態檢索問題。為了更好地利用多模態數據的標簽信息,Tang等[23]提出了有監督的矩陣分解哈希SMFH(Supervised Matrix Factorization Hashing for Cross-Modal Retrieval),該算法利用集體矩陣分解技術得到統一的哈希碼,并且結合不同模態數據的標簽一致性以及模態內數據的局部幾何一致性使得得到的哈希碼具有更好的鑒別力。
然而,這種通過標簽信息來保留哈希碼相似性的有監督學習算法沒能通過給定的標簽信息挖掘分類信息,從而使得學習得到的哈希碼缺乏鑒別力。而且,這種相似性的保留,會占用更大的存儲空間以及消耗更多的檢索時間。為此,本文提出了一種新的算法SDCH,該算法利用相同對象不同模態間的數據具有相同標簽信息這一特性來保留成對哈希碼的相似性,同時又利用標簽信息構造能使哈希碼所表示的數據被正確分類的線性分類器來保證哈希碼的鑒別力。
本節將描述所提算法SDCH的細節。為了簡潔地闡述該算法,以兩種模態(圖像和文本)哈希碼的學習為例。不失一般性,它可以延伸到多模態數據的學習上。

算法SDCH的目的是分別為圖像和文本找到能夠使得特征向量轉化為統一的哈希碼的哈希函數,即f(v):Rd1→{-1,1}k以及g(t):Rd2→{-1,1}k,這里的k指代的是哈希碼的長度。為了得到有意義的哈希碼,本文借鑒文獻[3]中使用的方法將異質數據投影到同一漢明空間中,同時假設模態間同標簽數據具有相同哈希碼。這樣圖像數據和文本數據就能在被投影到漢明空間的同時保留原始數據的語義信息。
本文考慮來自兩種模態的特征vi和ti具有相同的哈希碼表示si。本文希望這里的si能夠消除來自兩種模態數據原始特征的語義鴻溝。正如圖1所描述的,原始特征被投影到一個共同的漢明空間中。
因此對于跨模態數據,本文分別通過兩種線性變換投影原始圖像和文本特征到漢明空間:
SV=PVV
(1)
ST=PTT
(2)
式中:PV∈Rk×d1,PT∈Rk×d2。
基于同對象不同模態的數據具有相同語義表示這一假設,本文通過最小化以下函數來求解兩個線性變換矩陣:


(3)

此外,原始多模態數據特征還可以反映分類信息,為了讓本文得到的哈希碼也能夠反映這一特性,那么得到的哈希碼就能夠通過它們的原始標簽被分類[8]。因此假設給定第i個目標的標簽向量yi,本文就可以用線性分類器W∈Rk×c來預測哈希碼的標簽向量,即:
Y=WTS
(4)
線性分類器W可以通過最小化以下函數來求解:

(5)
式中:Y∈Rc×n表示n個標簽向量組成的矩陣。
為了利用標簽信息,本文為雙模態數據之間的標簽一致性建模,并且將圖像和文本兩種模態數據之間的語義類同度量為:
(6)
為了保留兩種模態數據在漢明空間中的標簽一致性,本文可以最小化以下函數:
(7)

通過一系列的代數運算,可以將式(7)重新生成為:
2tr(SLST)
(8)

完整的目標函數由以下幾個部分共同組成,分別是式(5)有鑒別項Omf、式(3)線性變換項Olp、式(8)拉普拉斯項Oc以及Frobenius范數項,具體如下式所示:



(9)
式(9)所示的最優化問題是擁有四個矩陣型變量的非凸函數,所以解決他是具有一定困難的。不過,當固定其他三個變量只求解其中一個變量的情況下,它又是凸的。因此,關于這一最優化問題的求解就可以被總結成如下三步迭代算法:
第一步:固定S和W求PV和PT。當固定S和W后,式(9)轉化為如下的優化問題:
(10)

(11)
(12)
式中:I表示單位矩陣,(·)-1表示所求矩陣的逆運算。
第二步:固定PV和PT以及S求W。當固定PV和PT以及S后,式(9)轉化為如下的優化問題:
(13)

W=(SST+λI)-1SYT
(14)
第三步:固定PV和PT以及W求S。當固定PV和PT以及W后,式(9)轉化為如下的優化問題:

(15)

AS+SB+E=0
(16)
式中:
A=2(WWT+(μV+μT)I)
B=L+LT
E=-2(WT+μVPVV+μTPTT)
值得注意的是式(16)是希爾維斯特方程,可以用MATLAB中的李雅普諾夫函數求解。
SDCH算法可以被概括成算法1。當一個新的檢索條目xq被輸入,SDCH首先會利用式(1)或者式(2)生成語義表示sq然后本文會根據符號函數Hxq=sign(sq)生成想要的哈希碼。
算法1有監督鑒別哈希跨模態檢索
輸入:圖片特征矩陣V,文本特征矩陣T,兩種模態的語義標簽Y,系數λ,μV,μT,γ,以及哈希碼長度k。
輸出:哈希碼H,投影矩陣PV,PT。
1:中心化V,T,根據式(7)和式(8)構造拉氏矩陣
2:隨機初始化PV,PT,S,W。
3:重復步驟4-6
4:固定S、W,根據式(11)和式(12)更新PV、PT。
5:固定PV、PT、S,根據式(14)更新W。
6:固定PV、PT、W,根據式(16)更新S。
7:直到收斂
8:H=sign(S)
本文將在Wiki,NUS_WIDE兩個數據庫上進行實驗,而后將實驗結果和最前沿方法生成的結果進行對比。
3.1.1 數據集
Wiki:它是從維基百科中搜集來的2 866個圖像-文本對的集合。其中圖像是由128維度的SIFT特征表示的,而文本則是由10維度的主題向量特征構成的。本文所用的Wiki數據集包含了10個語義分類,并且隨機抽取其中的2 173個數據對作為訓練集,將剩余的693個數據對作為測試集。
NUS_WIDE:本文實驗中所用到的NUS_WIDE數據集是從Flickr中下載到的網頁圖像集合。原始數據集是包含了81個主題的且都有標注信息的269 648幅圖像數據的集合。這樣每幅圖像和它對應的標注信息就構成了一個圖像-文本對。本文從中挑選包含186 577幅前十類的圖片作為實驗數據。其中,圖像數據是由500維度的視覺詞袋SIFT直方圖表示的,基于top-1000標注信息生成文本的詞袋特征向量表示。對于所挑選的數據集,本文從中隨機地挑選5 000圖像文本對作為訓練集,然后在剩余數據中再隨機挑選1 866圖像文本對作為測試集。
3.1.2 對比算法
本文將SDCH算法與五個最前沿的算法典型相關性分析CCA(Canonical Correlation Analysis)[23]、集體矩陣分解哈希CMFH(Collective Matrix Factorization Hashing)[3]、交叉視圖哈希模型CVH(Cross-View Hashing Model)[21]、潛在語義稀疏哈希LSSH(Latent Semantic Sparse Hashing)[2]和有監督的矩陣分解哈希SMFH(Supervised Matrix Factorization Hashing)[24]作對比。
其中,CCA算法將雙模態數據投影到一個能使數據之間的相關性最大化的同一空間中;CMFH通過集體矩陣分解發現不同模態數據的潛在因子模型,從而學習統一的哈希碼;CVH通過解決廣義特征值問題最小化數據對的加權平均多視圖的l2范式距離;LSSH假設同一對象不同模態數據之間具有完全相同的哈希碼,并首次將稀釋編碼和矩陣分解結合到一起來分別學習文本和圖像的語義特征,為了縮小語義鴻溝繼而將其投影到抽象空間中;SMFH利用矩陣分解技術的同時,考慮不同模態數據之間的標簽一致性以及同模態數據之間的局部幾何結構的一致性。
3.1.3 評估度量
本文將進行兩種跨模態檢索任務,一種是“Img to Txt”,即利用圖像來搜索相關的文本。另一種是“Txt to Img”,即利用文本來搜索相關的圖片。為了評估跨模態檢索的性能,本文引入平均精度均值mAP(mean Average Precision)這一度量標準:
式中:qi是一條檢索輸入且N是檢索條目輸入總數。平均精度AP(Average Precision)的計算公式如下:
式中:T是檢索集中所有的相關實體的個數,Pq(r)是按照相關度排名后的前r個實體的精度,ξ(r)是一個指示函數,當第r個被檢索到的實體與檢索內容相關則其值為1否則為0。
本文還學習了Wiki數據集上的表現曲線,即精度-召回曲線(PR-Curves)。精度-召回曲線是精度值關于召回值的函數,它被廣泛地運用到跨模態檢索性能的評估上。因為評估數據是隨機選取的,所以本文取10次實驗的平均值作為最后的結果。
表1和表2展示了本文提出的SDCH算法和五個對比算法的mAP值。通過觀察表1和表2可以看出,與對比算法相比,本文所提出的SDCH算法在不同哈希碼長度下都具有較好的mAP值。這說明本文提出的SDCH算法能夠挖掘到更多的鑒別信息來提升跨模態檢索性能,這得益于標簽信息的利用保留了跨模態數據之間的相似性也得益于線性分類器思想的應用提高了哈希碼的鑒別力。通過觀察表1和表2還可以看到,在哈希碼比較短的16位時,SDCH算法相較于SMFH算法在mAP值上也有很大的優勢,這進一步表明了SDCH算法在實質上作了改善。此外,結果還表明,隨著哈希碼長度的增加,SDCH的性能就越好。對比SDCH算法的“Img to Txt”和“Txt to Img”兩個任務還發現“Txt to Img”任務的檢索效果總是優于“Img to Txt”任務的檢索效果,且對于數據尺度較大的NUS-WIDE數據集而言“Txt to Img”任務的檢索效果的得到了顯著的提升。

表2 NUS_WIDE數據集上mAP值

續表2
圖2和圖3顯示了SDCH算法和五個對比算法的精度-召回曲線。通過觀察發現SDCH算法表現優于其他的對比算法,這與用mAP對算法性能進行評價的結果一致。通過觀察還發現,對于CCA和CVH算法而言,精度-召回值更像是隨機出現的,所以對于這兩個算法分析它的精度-召回曲線幾乎是沒有意義的。
最后,通過觀察還可以看到,SDCH在16位哈希碼的條件下進行檢索時的效果甚至超過了對比算法在更長的哈希碼下檢索的效果,這也就充分體現出了本文所提算法在性能上的優越性。



圖2 Wiki數據集在不同哈希碼長度上的精度-召回曲線(Img to Txt)

圖3 Wiki數據集在不同哈希碼長度上的精度-召回曲線(Txt to img)
本文提出了一種新的跨模態檢索方法,即有監督鑒別跨模態哈希算法。為了得到有鑒別力的哈希碼,本文將哈希碼的學習嵌入到線性分類器的框架中,其中線性分類器部分公式的形成利用了標簽信息的監督原理。此外為了不損壞模態間數據的相似性,本文利用模態間數據的標簽一致性作為相似性的約束。
本文在兩個常用的數據集Wiki和NUS_WIDE上進行了實驗來驗證本文所提算法的有效性。本文將SDCH方法的實驗結果和幾種最前沿跨模態哈希檢索算法的實驗結果進行了對比和分析評估,結果顯示所提算法SDCH能夠取得更好的跨模態檢索性能。