朱治蘭 荊曉遠(yuǎn)* 董西偉,2 吳 飛
1(南京郵電大學(xué)自動化學(xué)院 江蘇 南京 210023) 2(九江學(xué)院信息科學(xué)與技術(shù)學(xué)院 江西 九江 332005)
近幾十年來,互聯(lián)網(wǎng)多媒體數(shù)據(jù)的爆炸性增長,使得跨媒體數(shù)據(jù)檢索需求增長,并且促進(jìn)了復(fù)雜多模態(tài)檢索技術(shù)的發(fā)展。現(xiàn)如今,多媒體數(shù)據(jù)往往來自不同的互聯(lián)網(wǎng)多媒體平臺以及不同的數(shù)據(jù)資源。這些數(shù)據(jù)經(jīng)常共同出現(xiàn)且被用來描述同一物體和事件,因此跨模態(tài)檢索在實際應(yīng)用中已經(jīng)成為必要。例如,人們經(jīng)常利用圖片來檢索相關(guān)的文本文獻(xiàn),或者用文本來檢索相關(guān)的圖片內(nèi)容。但是,由于多模態(tài)數(shù)據(jù)屬于不同的特征空間,這種異質(zhì)的特征被認(rèn)為是跨模態(tài)檢索最大的挑戰(zhàn)。
為了消除不同模態(tài)特征之間的異質(zhì)性,最近有很多研究把關(guān)注點放在潛在子空間的學(xué)習(xí)上。研究的關(guān)鍵點在于如何通過學(xué)習(xí)得到一個共同的語義子空間,使得不同模態(tài)數(shù)據(jù)之間的異質(zhì)性得到消除,進(jìn)而使得這些特征在這個學(xué)習(xí)得到的語義子空間中能被直接相互匹配。然而,由于忽視了特征維度的可伸縮性,在解決大規(guī)模數(shù)據(jù)的多模態(tài)檢索時,這些方法受到了限制。此時出現(xiàn)了大量的哈希方法。之前大多數(shù)的哈希方法目的在于生成多模態(tài)數(shù)據(jù)的哈希碼,生成哈希碼的方法可以分為兩大類,一類是依賴訓(xùn)練數(shù)據(jù)的,另一類是獨立于訓(xùn)練數(shù)據(jù)的。其中有一種不依賴訓(xùn)練數(shù)據(jù)的著名算法是局部敏感哈希算法[1],它隨機地選取線性投影矩陣作為哈希函數(shù)。相比獨立于訓(xùn)練數(shù)據(jù)的哈希算法,依賴訓(xùn)練數(shù)據(jù)的哈希算法提供了一種更加可靠的投影機制,從而能夠得到更加簡潔以及有鑒別力度的哈希碼。
從有無利用標(biāo)簽信息的角度來看,現(xiàn)有的跨模態(tài)哈希算法又被劃分成有監(jiān)督的哈希算法[2-3]和無監(jiān)督的哈希算法[4-6]。無監(jiān)督的方法一般是利用訓(xùn)練數(shù)據(jù)之間的相關(guān)性學(xué)習(xí)一種能夠?qū)⒍嗄B(tài)特征轉(zhuǎn)化為哈希碼的投影機制,而有監(jiān)督的方法則是將訓(xùn)練數(shù)據(jù)的標(biāo)簽信息作為一種語義約束,從而得到更加合適的哈希碼。前人的實驗表明有監(jiān)督的哈希算法在跨模態(tài)檢索中取得的效果通常比無監(jiān)督的哈希算法取得的效果要好。
對有監(jiān)督跨模態(tài)哈希學(xué)習(xí)算法,一些研究者對模態(tài)間和模態(tài)內(nèi)的相似性保留問題進(jìn)行了研究。而且,大部分的有監(jiān)督跨模態(tài)哈希具有相同的特性,即通過標(biāo)簽信息保留模態(tài)間和模態(tài)內(nèi)的相似性來學(xué)習(xí)哈希碼。然而,這一特性的缺點是削弱了學(xué)習(xí)到的哈希碼的鑒別力度。第一,保留模態(tài)間和模態(tài)內(nèi)的相似性不能保證學(xué)習(xí)到的哈希碼在語義上的鑒別力。第二,計算給定標(biāo)簽下的成對相似性不可避免地會造成額外的存儲和計算損耗。
為了解決上述問題,本文提出了一種新的跨模態(tài)哈希算法,即:有監(jiān)督鑒別跨模態(tài)哈希算法SDCH(Supervised Discriminative Cross-modal Hashing)。與現(xiàn)有的跨模態(tài)哈希方法[6-7]相比,SDCH不僅可以節(jié)省存儲空間還可以減少在線檢索時間。圖1描述了整個工作流程。SDCH利用模態(tài)間的標(biāo)簽信息作為主要的約束條件,來保留模態(tài)間數(shù)據(jù)的相似性,結(jié)合線性分類器來學(xué)習(xí)得到多模態(tài)數(shù)據(jù)的統(tǒng)一的有鑒別力的哈希碼。
圖1 算法流程
本文的主要貢獻(xiàn)總結(jié)為以下幾個方面:
1) 將模態(tài)間相似性的保留融合到分類器框架中,從而學(xué)習(xí)到既能保證相似性又能體現(xiàn)鑒別力的統(tǒng)一哈希碼。
2) 僅使用模態(tài)間的標(biāo)簽信息作為主要的約束條件,與傳統(tǒng)的相似性保留方法相比減少了計算時間,節(jié)省了存儲消耗,同時還能保留模間同標(biāo)簽數(shù)據(jù)之間的相似性。
3) 本文在兩個數(shù)據(jù)集上做了實驗來評估SDCH方法,實驗結(jié)果顯示SDCH較前沿方法具有一定的競爭性。
對于跨模態(tài)檢索問題,最近許多研究都把關(guān)注點放在潛在子空間學(xué)習(xí)上。其中,典型相關(guān)性分析CCA(Canonical Correlation Analysis)是目前最流行跨模態(tài)檢索方法之一,它主要學(xué)習(xí)一對能夠使得兩種模態(tài)數(shù)據(jù)投影到共同的潛在空間上的投影變換,而投影后得到的數(shù)據(jù)能夠直接匹配,且能夠最大程度地反映出兩種模態(tài)數(shù)據(jù)之間的關(guān)系。CCA被廣泛地研究并延伸出許多相關(guān)算法。例如,Rasiwasia等[9]提出的在跨模態(tài)檢索方法能夠?qū)W習(xí)多模態(tài)數(shù)據(jù)的最大相關(guān)子空間。其他經(jīng)典的算法還有雙線性分離樣式模型[10]和廣義耦合字典學(xué)習(xí)[11],它們和CCA非常相似都是學(xué)習(xí)共同的潛在子空間來進(jìn)行跨模態(tài)檢索工作。除了以上經(jīng)典的方法以外,還有一些子空間學(xué)習(xí)方法利用分類標(biāo)簽信息來改善檢索性能,例如,Sharma等[12]提出的一種普通的多模態(tài)分析算法,利用標(biāo)簽信息學(xué)習(xí)有鑒別的潛在子空間;Gong等[13]提出的多模態(tài)CCA框架,基于標(biāo)簽的語義信息將圖像和文本兩種模態(tài)的數(shù)據(jù)聯(lián)系在一起進(jìn)行跨模態(tài)檢索;再有深度跨模態(tài)模型,比如深度CCA[14]、多模態(tài)自編碼[15]以及多模態(tài)限制玻爾茲曼機[16]等都是用來解決模態(tài)檢索問題而提出的算法。這些算法的目的都是希望學(xué)習(xí)到能夠更好地保留原始數(shù)據(jù)特征的子空間。
隨著高維度跨模態(tài)數(shù)據(jù)的爆炸性增長,最近鄰搜索花費的代價越來越高。為了解決這個問題,基于哈希的一系列算法被提出,比如文獻(xiàn)[17-20],在大規(guī)模多模態(tài)數(shù)據(jù)檢索領(lǐng)域上得到了廣泛的關(guān)注。文獻(xiàn)[4]中提出的算法第一次將哈希思想運用到多模態(tài)檢索問題上。不過這個算法的缺陷在于它只考慮到了模態(tài)內(nèi)數(shù)據(jù)的相關(guān)性而忽略了模態(tài)間數(shù)據(jù)的相關(guān)性。為了解決這一問題,文獻(xiàn)[21]中通過最小化相似數(shù)據(jù)哈希碼之間的的距離并最大化不相關(guān)數(shù)據(jù)哈希碼之間的距離來生成跨模態(tài)檢索的哈希碼。更近一步地,Wu等[22]提出了稀疏多模態(tài)哈希算法,這一算法通過聯(lián)合的多模態(tài)字典學(xué)習(xí)獲取不同模態(tài)數(shù)據(jù)的稀疏哈希碼從而解決跨模態(tài)檢索問題。為了更好地利用多模態(tài)數(shù)據(jù)的標(biāo)簽信息,Tang等[23]提出了有監(jiān)督的矩陣分解哈希SMFH(Supervised Matrix Factorization Hashing for Cross-Modal Retrieval),該算法利用集體矩陣分解技術(shù)得到統(tǒng)一的哈希碼,并且結(jié)合不同模態(tài)數(shù)據(jù)的標(biāo)簽一致性以及模態(tài)內(nèi)數(shù)據(jù)的局部幾何一致性使得得到的哈希碼具有更好的鑒別力。
然而,這種通過標(biāo)簽信息來保留哈希碼相似性的有監(jiān)督學(xué)習(xí)算法沒能通過給定的標(biāo)簽信息挖掘分類信息,從而使得學(xué)習(xí)得到的哈希碼缺乏鑒別力。而且,這種相似性的保留,會占用更大的存儲空間以及消耗更多的檢索時間。為此,本文提出了一種新的算法SDCH,該算法利用相同對象不同模態(tài)間的數(shù)據(jù)具有相同標(biāo)簽信息這一特性來保留成對哈希碼的相似性,同時又利用標(biāo)簽信息構(gòu)造能使哈希碼所表示的數(shù)據(jù)被正確分類的線性分類器來保證哈希碼的鑒別力。
本節(jié)將描述所提算法SDCH的細(xì)節(jié)。為了簡潔地闡述該算法,以兩種模態(tài)(圖像和文本)哈希碼的學(xué)習(xí)為例。不失一般性,它可以延伸到多模態(tài)數(shù)據(jù)的學(xué)習(xí)上。
算法SDCH的目的是分別為圖像和文本找到能夠使得特征向量轉(zhuǎn)化為統(tǒng)一的哈希碼的哈希函數(shù),即f(v):Rd1→{-1,1}k以及g(t):Rd2→{-1,1}k,這里的k指代的是哈希碼的長度。為了得到有意義的哈希碼,本文借鑒文獻(xiàn)[3]中使用的方法將異質(zhì)數(shù)據(jù)投影到同一漢明空間中,同時假設(shè)模態(tài)間同標(biāo)簽數(shù)據(jù)具有相同哈希碼。這樣圖像數(shù)據(jù)和文本數(shù)據(jù)就能在被投影到漢明空間的同時保留原始數(shù)據(jù)的語義信息。
本文考慮來自兩種模態(tài)的特征vi和ti具有相同的哈希碼表示si。本文希望這里的si能夠消除來自兩種模態(tài)數(shù)據(jù)原始特征的語義鴻溝。正如圖1所描述的,原始特征被投影到一個共同的漢明空間中。
因此對于跨模態(tài)數(shù)據(jù),本文分別通過兩種線性變換投影原始圖像和文本特征到漢明空間:
SV=PVV
(1)
ST=PTT
(2)
式中:PV∈Rk×d1,PT∈Rk×d2。
基于同對象不同模態(tài)的數(shù)據(jù)具有相同語義表示這一假設(shè),本文通過最小化以下函數(shù)來求解兩個線性變換矩陣:
(3)
此外,原始多模態(tài)數(shù)據(jù)特征還可以反映分類信息,為了讓本文得到的哈希碼也能夠反映這一特性,那么得到的哈希碼就能夠通過它們的原始標(biāo)簽被分類[8]。因此假設(shè)給定第i個目標(biāo)的標(biāo)簽向量yi,本文就可以用線性分類器W∈Rk×c來預(yù)測哈希碼的標(biāo)簽向量,即:
Y=WTS
(4)
線性分類器W可以通過最小化以下函數(shù)來求解:
(5)
式中:Y∈Rc×n表示n個標(biāo)簽向量組成的矩陣。
為了利用標(biāo)簽信息,本文為雙模態(tài)數(shù)據(jù)之間的標(biāo)簽一致性建模,并且將圖像和文本兩種模態(tài)數(shù)據(jù)之間的語義類同度量為:
(6)
為了保留兩種模態(tài)數(shù)據(jù)在漢明空間中的標(biāo)簽一致性,本文可以最小化以下函數(shù):
(7)
通過一系列的代數(shù)運算,可以將式(7)重新生成為:
2tr(SLST)
(8)
完整的目標(biāo)函數(shù)由以下幾個部分共同組成,分別是式(5)有鑒別項Omf、式(3)線性變換項Olp、式(8)拉普拉斯項Oc以及Frobenius范數(shù)項,具體如下式所示:
(9)
式(9)所示的最優(yōu)化問題是擁有四個矩陣型變量的非凸函數(shù),所以解決他是具有一定困難的。不過,當(dāng)固定其他三個變量只求解其中一個變量的情況下,它又是凸的。因此,關(guān)于這一最優(yōu)化問題的求解就可以被總結(jié)成如下三步迭代算法:
第一步:固定S和W求PV和PT。當(dāng)固定S和W后,式(9)轉(zhuǎn)化為如下的優(yōu)化問題:
(10)
(11)
(12)
式中:I表示單位矩陣,(·)-1表示所求矩陣的逆運算。
第二步:固定PV和PT以及S求W。當(dāng)固定PV和PT以及S后,式(9)轉(zhuǎn)化為如下的優(yōu)化問題:
(13)
W=(SST+λI)-1SYT
(14)
第三步:固定PV和PT以及W求S。當(dāng)固定PV和PT以及W后,式(9)轉(zhuǎn)化為如下的優(yōu)化問題:
(15)
AS+SB+E=0
(16)
式中:
A=2(WWT+(μV+μT)I)
B=L+LT
E=-2(WT+μVPVV+μTPTT)
值得注意的是式(16)是希爾維斯特方程,可以用MATLAB中的李雅普諾夫函數(shù)求解。
SDCH算法可以被概括成算法1。當(dāng)一個新的檢索條目xq被輸入,SDCH首先會利用式(1)或者式(2)生成語義表示sq然后本文會根據(jù)符號函數(shù)Hxq=sign(sq)生成想要的哈希碼。
算法1有監(jiān)督鑒別哈希跨模態(tài)檢索
輸入:圖片特征矩陣V,文本特征矩陣T,兩種模態(tài)的語義標(biāo)簽Y,系數(shù)λ,μV,μT,γ,以及哈希碼長度k。
輸出:哈希碼H,投影矩陣PV,PT。
1:中心化V,T,根據(jù)式(7)和式(8)構(gòu)造拉氏矩陣
2:隨機初始化PV,PT,S,W。
3:重復(fù)步驟4-6
4:固定S、W,根據(jù)式(11)和式(12)更新PV、PT。
5:固定PV、PT、S,根據(jù)式(14)更新W。
6:固定PV、PT、W,根據(jù)式(16)更新S。
7:直到收斂
8:H=sign(S)
本文將在Wiki,NUS_WIDE兩個數(shù)據(jù)庫上進(jìn)行實驗,而后將實驗結(jié)果和最前沿方法生成的結(jié)果進(jìn)行對比。
3.1.1 數(shù)據(jù)集
Wiki:它是從維基百科中搜集來的2 866個圖像-文本對的集合。其中圖像是由128維度的SIFT特征表示的,而文本則是由10維度的主題向量特征構(gòu)成的。本文所用的Wiki數(shù)據(jù)集包含了10個語義分類,并且隨機抽取其中的2 173個數(shù)據(jù)對作為訓(xùn)練集,將剩余的693個數(shù)據(jù)對作為測試集。
NUS_WIDE:本文實驗中所用到的NUS_WIDE數(shù)據(jù)集是從Flickr中下載到的網(wǎng)頁圖像集合。原始數(shù)據(jù)集是包含了81個主題的且都有標(biāo)注信息的269 648幅圖像數(shù)據(jù)的集合。這樣每幅圖像和它對應(yīng)的標(biāo)注信息就構(gòu)成了一個圖像-文本對。本文從中挑選包含186 577幅前十類的圖片作為實驗數(shù)據(jù)。其中,圖像數(shù)據(jù)是由500維度的視覺詞袋SIFT直方圖表示的,基于top-1000標(biāo)注信息生成文本的詞袋特征向量表示。對于所挑選的數(shù)據(jù)集,本文從中隨機地挑選5 000圖像文本對作為訓(xùn)練集,然后在剩余數(shù)據(jù)中再隨機挑選1 866圖像文本對作為測試集。
3.1.2 對比算法
本文將SDCH算法與五個最前沿的算法典型相關(guān)性分析CCA(Canonical Correlation Analysis)[23]、集體矩陣分解哈希CMFH(Collective Matrix Factorization Hashing)[3]、交叉視圖哈希模型CVH(Cross-View Hashing Model)[21]、潛在語義稀疏哈希LSSH(Latent Semantic Sparse Hashing)[2]和有監(jiān)督的矩陣分解哈希SMFH(Supervised Matrix Factorization Hashing)[24]作對比。
其中,CCA算法將雙模態(tài)數(shù)據(jù)投影到一個能使數(shù)據(jù)之間的相關(guān)性最大化的同一空間中;CMFH通過集體矩陣分解發(fā)現(xiàn)不同模態(tài)數(shù)據(jù)的潛在因子模型,從而學(xué)習(xí)統(tǒng)一的哈希碼;CVH通過解決廣義特征值問題最小化數(shù)據(jù)對的加權(quán)平均多視圖的l2范式距離;LSSH假設(shè)同一對象不同模態(tài)數(shù)據(jù)之間具有完全相同的哈希碼,并首次將稀釋編碼和矩陣分解結(jié)合到一起來分別學(xué)習(xí)文本和圖像的語義特征,為了縮小語義鴻溝繼而將其投影到抽象空間中;SMFH利用矩陣分解技術(shù)的同時,考慮不同模態(tài)數(shù)據(jù)之間的標(biāo)簽一致性以及同模態(tài)數(shù)據(jù)之間的局部幾何結(jié)構(gòu)的一致性。
3.1.3 評估度量
本文將進(jìn)行兩種跨模態(tài)檢索任務(wù),一種是“Img to Txt”,即利用圖像來搜索相關(guān)的文本。另一種是“Txt to Img”,即利用文本來搜索相關(guān)的圖片。為了評估跨模態(tài)檢索的性能,本文引入平均精度均值mAP(mean Average Precision)這一度量標(biāo)準(zhǔn):
式中:qi是一條檢索輸入且N是檢索條目輸入總數(shù)。平均精度AP(Average Precision)的計算公式如下:
式中:T是檢索集中所有的相關(guān)實體的個數(shù),Pq(r)是按照相關(guān)度排名后的前r個實體的精度,ξ(r)是一個指示函數(shù),當(dāng)?shù)趓個被檢索到的實體與檢索內(nèi)容相關(guān)則其值為1否則為0。
本文還學(xué)習(xí)了Wiki數(shù)據(jù)集上的表現(xiàn)曲線,即精度-召回曲線(PR-Curves)。精度-召回曲線是精度值關(guān)于召回值的函數(shù),它被廣泛地運用到跨模態(tài)檢索性能的評估上。因為評估數(shù)據(jù)是隨機選取的,所以本文取10次實驗的平均值作為最后的結(jié)果。
表1和表2展示了本文提出的SDCH算法和五個對比算法的mAP值。通過觀察表1和表2可以看出,與對比算法相比,本文所提出的SDCH算法在不同哈希碼長度下都具有較好的mAP值。這說明本文提出的SDCH算法能夠挖掘到更多的鑒別信息來提升跨模態(tài)檢索性能,這得益于標(biāo)簽信息的利用保留了跨模態(tài)數(shù)據(jù)之間的相似性也得益于線性分類器思想的應(yīng)用提高了哈希碼的鑒別力。通過觀察表1和表2還可以看到,在哈希碼比較短的16位時,SDCH算法相較于SMFH算法在mAP值上也有很大的優(yōu)勢,這進(jìn)一步表明了SDCH算法在實質(zhì)上作了改善。此外,結(jié)果還表明,隨著哈希碼長度的增加,SDCH的性能就越好。對比SDCH算法的“Img to Txt”和“Txt to Img”兩個任務(wù)還發(fā)現(xiàn)“Txt to Img”任務(wù)的檢索效果總是優(yōu)于“Img to Txt”任務(wù)的檢索效果,且對于數(shù)據(jù)尺度較大的NUS-WIDE數(shù)據(jù)集而言“Txt to Img”任務(wù)的檢索效果的得到了顯著的提升。
表2 NUS_WIDE數(shù)據(jù)集上mAP值
續(xù)表2
圖2和圖3顯示了SDCH算法和五個對比算法的精度-召回曲線。通過觀察發(fā)現(xiàn)SDCH算法表現(xiàn)優(yōu)于其他的對比算法,這與用mAP對算法性能進(jìn)行評價的結(jié)果一致。通過觀察還發(fā)現(xiàn),對于CCA和CVH算法而言,精度-召回值更像是隨機出現(xiàn)的,所以對于這兩個算法分析它的精度-召回曲線幾乎是沒有意義的。
最后,通過觀察還可以看到,SDCH在16位哈希碼的條件下進(jìn)行檢索時的效果甚至超過了對比算法在更長的哈希碼下檢索的效果,這也就充分體現(xiàn)出了本文所提算法在性能上的優(yōu)越性。
圖2 Wiki數(shù)據(jù)集在不同哈希碼長度上的精度-召回曲線(Img to Txt)
圖3 Wiki數(shù)據(jù)集在不同哈希碼長度上的精度-召回曲線(Txt to img)
本文提出了一種新的跨模態(tài)檢索方法,即有監(jiān)督鑒別跨模態(tài)哈希算法。為了得到有鑒別力的哈希碼,本文將哈希碼的學(xué)習(xí)嵌入到線性分類器的框架中,其中線性分類器部分公式的形成利用了標(biāo)簽信息的監(jiān)督原理。此外為了不損壞模態(tài)間數(shù)據(jù)的相似性,本文利用模態(tài)間數(shù)據(jù)的標(biāo)簽一致性作為相似性的約束。
本文在兩個常用的數(shù)據(jù)集Wiki和NUS_WIDE上進(jìn)行了實驗來驗證本文所提算法的有效性。本文將SDCH方法的實驗結(jié)果和幾種最前沿跨模態(tài)哈希檢索算法的實驗結(jié)果進(jìn)行了對比和分析評估,結(jié)果顯示所提算法SDCH能夠取得更好的跨模態(tài)檢索性能。