劉長紅,曾勝,張斌,陳勇
(1.江西師范大學 計算機信息工程學院,南昌 330022;2.南昌工程學院 工商管理學院,南昌 330029)
隨著人們日常生活中多媒體數據(如文本、圖像、語音等)的爆炸性增長,跨模態圖像文本檢索已成為視覺和語言領域的基本任務之一。它是以一種模態數據作為查詢檢索另一種模態的相關數據,如給定一條文本檢索相關的圖像。由于涉及兩種不同模態的數據(圖像和文本),因此跨模態圖像文本檢索不僅要解決不同模態數據之間的異構性,還要考慮它們之間的跨模態語義相關性。近年來,雖然該任務已取得了重大進展并且被廣泛應用[1],但仍然是一個非常具有挑戰性的研究問題。
目前,跨模態圖像文本檢索方法大致可以分為兩類:粗粒度匹配方法[2-11]和細粒度匹配方法[12-16]。粗粒度匹配方法將圖像和文本信息直接映射到一個公共的潛在語義空間,然后在公共的潛在語義空間中計算圖像和文本的相似度。然而,粗粒度匹配方法僅粗略地捕獲了不同模態數據之間的全局語義相關性,無法描述圖像區域和文本單詞之間的細粒度(局部)語義相關性。為了更好地學習這種圖像區域與文本單詞對象之間的語義相關性,細粒度匹配方法建模了圖像中的圖像區域和文本中的單詞之間局部相似性度量,并進一步融合得到全局相似性度量。Karpathy等[12]分別提取圖像和文本的片段特征(圖像區域和文本中的單詞),然后將二者的片段特征進行密集匹配。由于圖像和文本都是由小的圖像區域或單詞所組成(通常圖像區域對應于某個詞對象),因此細粒度匹配方法一定程度上提高了圖像和文本匹配的準確度。然而目前大多數細粒度匹配方法僅考慮到圖像區域和文本單詞對象之間語義相關性,忽略了圖像區域間的關系以及文本單詞間的關系。
如圖1(a)所示,圖像數據中“女孩”區域對應單詞“girl”,“球”區域對應單詞“ball”,但“throw”等表示動作或者對象關系的單詞無法匹配到對應的圖像區域,而圖像和文本的語義相關性往往體現在模態內對象之間的關系和模態間的關聯。如圖1(b)所示,圖像中的“手臂”區域和“球”區域的關系對應文本中表示對象之間的關系動詞“throw”“衣物”區域和“女孩”區域之間的關系對應文本中的關系詞“in”。為了挖掘圖像區域之間的關系,Li等[16]提出了一種視覺語義推理網絡(Visual Semantic Reasoning Network,VSRN),采用圖卷積網絡(Graph Convolutional Network,GCN)[17]推理圖像區域間的關系,然后生成各模態全局語義表示進行全局語義推理,該方法沒有顯式地對模態間的對象關系的關聯進行建模。Wei等[18]提出了一種基于交叉注意力機制的圖文匹配網絡,將模態內和模態間的關聯關系進行統一建模。
為了捕獲模態內的對象關系和模態間的語義相關性,本文提出了一種基于語義關系圖的跨模態張量融合網絡(Cross-Modal Tensor Fusion Network based on Semantic Relation Graph,CMTFN-SRG)的圖像文本檢索方法。采用GCN 建模圖像區域間的關系和門控循環單元(Gated Recurrent Unit,GRU)[19]學習文本單詞級別的特征以及單詞之間的作用關系(模態內對象之間的關系);另外,為了挖掘模態間的語義相關性,本文采用張量融合的方式學習模態間(圖像區域、圖像區域的關系和文本單詞之間)的細粒度關聯關系,并將圖像和文本的全局特征進行匹配以獲得模態間的全局語義相關性,通過聯合優化細粒度和全局語義相關性以獲取圖像和文本的最佳匹配。
本文主要研究跨模態圖像文本檢索,致力于探索視覺和語言的潛在對應關系。目前跨模態圖像文本檢索的方法大致可分為兩類[20]:1)粗粒度匹配方法,將整個圖像和文本映射到一個共同的嵌入空間學習模態間的全局語義相關性;2)細粒度匹配方法,注重于學習圖像和文本對象間的局部語義相關性。
Wang等[21]通過線性投影的方式最大化不同模態數據的相關性,該方法直接將兩個模態的數據投影到一個共同的潛在語義空間以獲取不同模態數據的潛在語義特征。Kiros等[2]采用卷積神經網絡(Convolutional Neural Network,CNN)提取圖像特征和長短期記憶(Long Short-Term Memory,LSTM)網絡提取文本特征,然后通過成對排序損失(Pairwise Ranking Loss)將圖像和文本嵌入到共同語義空間。Liu等[22]采用循環殘差融合網絡學習多語義的特征表示。Faghri等[4]在三元損失函數的基礎上提出了難例挖掘(Hard Negative Mining)方法進一步提高了檢索精度。
上述方法雖然在跨模態圖像文本檢索任務上取得了不錯的效果,但是忽略了圖像和文本數據在細粒度層面上的語義關聯。
近些年來在跨模態圖像文本檢索任務上,越來越多的研究傾向于探索跨模態圖像文本的細粒度視覺語言對應關系。Karpathy等[12]分別對圖像和文本提取圖像區域和單詞特征,然后在嵌入空間中將提取好的兩種模態數據特征進行對齊。Niu等[13]將文本構造成一棵語義樹,其中每一個節點代表一個短語,然后采用分層LSTM 提取短語層次的特征。Nam等[14]提出了一種雙重注意力機制網絡,該網絡包含兩個分支,分別用于獲取圖片和文本的局部關鍵語義特征,然后通過融合這些局部關鍵語義特征計算圖像和文本的全局相似度。Lee等[15]通過堆疊交叉注意(Stacked Cross-attention)加強不同模態數據的對齊。Li等[16]采用GCN 學習圖像區域的關系(局部特征),然后使用GRU 將這些局部特征進一步融合得到圖像的全局特征。雖然上述方法一定程度上解決了粗粒度匹配方法中的問題,但是這些方法均未考慮圖像區域間的關系與文本單詞之間的語義關聯。Wei等[18]基于交叉注意力機制建模了模態內和模態間的關聯關系,而本文通過全局語義推理網絡和張量融合網絡學習模態內對象之間和模態間的語義相關性。而本文將通過全局語義推理網絡和張量融合網絡學習模態內對象之間和模態間的語義相關性。
本文所提出的基于語義關系圖的跨模態張量融合網絡模型主要由三個部分組成:圖像模態內關聯關系及全局語義學習模塊、文本單詞級別的特征及全局語義學習模塊和跨模態張量融合模塊,如圖2 所示。首先,對于圖像區域特征,采用基于Faster-RCNN(Faster Region-based Convolutional Neural Network)[23]的自下而上注意力模型(Bottom-Up Attention Model)[24]提取,對圖像區域采用圖卷積網絡構建圖像區域之間的語義關系圖,學習圖像區域之間的關系;對于文本特征,采用雙向門控循環單元(Bidirectional GRU,Bi-GRU)學習文本單詞對象特征以及對象之間的關系;然后,將所學習到的圖像和文本的語義關系以及對象特征通過張量融合網絡進行匹配以學習圖像和文本在細粒度層面上模態間的語義相關性;最后,用圖像特征生成文本并計算圖像和文本之間的全局語義相關性。
給定一張圖像I,使用基于Faster-RCNN 的自下而上注意力模型[25]提取圖像區域特征,圖像區域特征的集合O表示為:
其中:oi表示O中的一個圖像區域特征;n表示I中檢測到的圖像區域總數;d表示單個圖像區域的特征維度。
為了學習圖像區域之間的關系,本文根據所獲取的圖像區域特征構建全連接圖G=(O,R),其中R表示圖像區域之間的關系矩陣,表示為:
其中:μ(·)和ν(·)是通過反向傳播學習的兩個全連接層。
然后將所構建的全連接圖輸入到帶有殘差連接的GCN中學習圖像區域之間的關系,如圖3 所示。其中,經過第l層GCN 所學習到的具有模態內對象關系信息的圖像區域特征表示為:
其中:Rl∈Rn×n,Ol-1∈Rn×d∈Rd×d和∈Rn×n分別為GCN 和殘差連接的權重矩陣,本文設置d為2 048,n為36。為了充分學習圖像區域之間的關系,本文使用了l層GCN。
最后將GCN 的輸出結果輸入到GRU 中得到圖像的全局特征,表示為:
為了實現圖像和文本的細粒度關聯,本文采用Bi-GRU作為編碼器提取文本單詞級別的特征以及單詞之間的關系,如圖4 所示。
對于一個包含m個單詞的文本C,每個單詞wj均采用連續的嵌入向量ej=Wewj,?j∈[1,m]表示,其中We是需要學習的嵌入矩陣。為了利用上下文信息增強單詞級別的特征表示,本文使用Bi-GRU 獲取文本C中向前和向后兩個方向的信息:
最后,文本C的特征可以表示為:
為了學習模態間的關系,本文采用張量融合網絡以學習模態間(圖像區域、圖像區域的關系和文本單詞之間的關系)的細粒度語義相關性。
然后通過兩個全連接層Wm和WT得到圖像和文本模態間的局部細粒度相似性度量:
考慮到圖像和文本的全局語義對齊,本文采用內積的方式對圖像和文本的全局特征進行相似度計算,表示為:
其中:?(·)表示相似度計算函數;Vg和Tg分別表示圖像和文本的全局特征。
對于匹配部分,本文借鑒了文獻[4]中的方法,在訓練過程中重點關注一個batch 中錯誤匹配中得分最高的圖像-文本對(hardest negative pairs),則局部語義損失函數定義為:
另外,本文將學習到的圖像特征進一步生成文本以提高所學習的全局圖像語義特征與文本之間的相關性。采用Seq2seq(Sequence to sequence)模型[26]將2.1 節中所學習到的圖像特征生成對應的文本T。如果圖片特征學習的越好,則生成的文本越接近真實的文本,因此將文本生成的損失函數定義為:
其中:={ti|i=1,2,…,N}表示生成的文本,N是生成文本的長度;φ是Seq2seq 模型通過反向傳播所學習的參數。
最后通過聯合式(12)~(14)得到最終的損失函數:
為了驗證本文所提方法的有效性,本文在兩個公開的數據集MS-COCO 和Flickr30K 上進行了文本檢索(給定圖片檢索文本)和圖像檢索(給定文本檢索圖像)實驗,并與最近相關算法進行了對比分析。對比算法包括:1)遞歸殘差融合(Recurrent Residual Fusion,RRF)方法[22],基于遞歸殘差融合模塊構建圖像和文本的共同嵌入子空間學習具有判別力的表 示;2)視覺語義嵌入(Visual-Semantic Embeddings,VSE++)[4],使用難分樣本學習視覺語義嵌入的方法;3)雙分支卷積(Dual-Path Convolutional,DPC)[27],是一種通過雙分支CNN 網絡提取圖像文本嵌入特征表示的方法;4)SCO(Semantic Concepts and Order)[28],通過學習語義概念和順序增強圖像的表示;5)堆疊交叉注意網絡(Stacked Cross Attention Network,SCAN)[15],通過注意力機制捕獲視覺和語言之間的細粒度關系、加強不同模態數據的對齊;6)多模態張量融合網絡(Multi-modal Tensor Fusion Network,MTFN)[29],是一種基于多模態張量融合和重排序的圖像文本檢索方法;7)視覺語義推理網絡(Visual Semantic Reasoning Network,VSRN)[16],是一種采用圖卷積網絡推理圖像區域間關系的視覺語義學習方法;8)多模態交叉注意力(Multi-Modality Cross Attention,MMCA)[18],是一種基于自注意力和交叉注意力機制的圖文匹配網絡。
本文采用R@K作為評估指標,R@K表示檢索結果取前K個實例時所獲得的召回率(Recall),其值越高表示模型性能越好,通常K={1,5,10}。另外為了評估模型的整體表現,本文將R@K的均值(mean Recall,mR)作為評價指標,其值越大,則模型的整體表現越好,計算公式為:
其中:N為實例個數;RLK=0 表示第K個返回結果與查詢實例無關,RLK=1 表示第K個返回結果與查詢實例相關。
MS-COCO 數據集中每張圖像有5 個文本注釋,將其按照文獻[4]中的劃分方法進行劃分。Flickr30K 數據集中每張圖像包含5 個文本描述,將其按照文獻[12]中的劃分方法進行劃分,兩個數據集的劃分結果如表1 所示。

表1 兩個常用的基準數據集Tab.1 Two commonly used benchmark datasets
在最后的測試階段,為了驗證模型的穩定性和魯棒性,本文采用兩種測試方法驗證實驗結果:第一種方法(MS-COCO5K)直接將5 000 張測試圖像作為測試集進行測試;第二種方法(MS-COCO1K)則是采用5 折驗證的方式進行測試,每次測試1 000 張圖像,然后將5 次測試結果的平均值作為最終的測試結果。
在實驗中,本文采用基于Faster-RCNN 的自下而上注意力模型提取置信度得分排名前36 的圖像區域,在2.1 節中GCN 個數設置為4。在模型訓練期間采用Adam[30]作為優化器,迭代次數(epoch)設為40。對于Flickr30K 數據集,初始學習率設置為0.000 4,每5 次迭代進行一次學習率衰減,衰減因子為0.1,在2.3 節張量融合網絡中K設置為20。在MSCOCO 數據集上訓練時,學習率設置為0.000 2,每15 次迭代進行一次學習率衰減,衰減因子為0.1,在張量融合網絡中K設置為15。在聯合損失函數中,損失函數LF和LG中的邊際參數α和β均設置為0.2。本文所有的實驗都是使用RTX2080TI GPU 和PyTorch 0.4.1 深度學習框架實現。
3.3.1 在Flickr30k數據集上的結果
表2 給出了本文所提出的CMTFN-SRG 方法與對比方法在Flickr30K 測試集上的召回率對比結果。從表2 可以看出,本文所提出的CMTFN-SRG 方法與對比方法相比,在文本檢索圖像任務上R@1、R@5、R@10 指標均有明顯的提高;在圖像檢索文本任務上僅次于MMCA 方法。與MMCA 方法相比,CMTFN-SRG 方法在文本檢索圖像的任務上R@1、R@5、R@10 分別提高了2.6%、1.4%、1.8%。MMCA 方法采用自注意力機制學習圖像區域間的關系,然后通過交叉注意力機制對模態內和模態間的關聯關系進行統一建模,將學習到的圖像圖全局語義特征與文本全局語義特征進行相似性匹配;而CMTFN-SRG 方法則采用張量融合網絡對GCN 建模的圖像區域間的關系以及圖像區域特征和文本單詞級別的特征進行語義相關性學習以捕獲兩種不同模態間的細粒度關聯關系(模態間的對象以及對象關系的關聯),因而取得了更好的結果。該實驗結果也表明了本文采用張量融合網絡能夠有效學習模態間對象關系的語義相關性。

表2 Flickr30K測試集上的召回率對比結果 單位:%Tab.2 Recall comparison results on Flickr30K test set unit:%
3.3.2 在MS-COCO數據集上的實驗結果
本文進一步對所提出的CMTFN-SRG 方法與對比方法分別在MS-COCO5K 測試集和MS-COCO1K 測試集上進行了文本檢索圖像和圖像檢索文本兩個任務中的R@1、R@5、R@10召回率對比分析,對比結果分別見表3~4。實驗結果表明本文所提方法優于大多數對比方法。在MS-COCO5K 測試集上,CMTFN-SRG 方法在文本檢索圖像的任務上R@5、R@10最優,其中文本檢索圖像的R@1 比MMCA 方法提升了4.1%;在MS-COCO1K 測試集上CMTFN-SRG 在文本檢索圖像任務中R@1、R@5、R@10 均高于MMCA 方法,其中文本檢索圖像的R@1 提升了9.0%。同時,相較于MMCA 方法,CMTFN-SRG 方法在Flickr30K 測試集、MS-COCO1K 測試集和MS-COCO5K 測試集上mR 分別提升了0.4、1.3 和0.1 個百分點。

表3 在MS-COCO5K 測試集上的召回率對比結果 單位:%Tab.3 Recall comparison results on MS-COCO5K test set unit:%

表4 MS-COCO1K測試集上的召回率對比結果 單位:%Tab.4 Recall comparison results on MS-COCO1K test set unit:%
從以上實驗結果可以看出,CMTFN-SRG 不僅在小數據集Flickr30K 上性能良好,在大數據集MS-COCO 上也優于大多數相關算法,充分說明了本文所提方法的優越性和可擴展性。
為了驗證模態內關系的作用以及張量融合方法的有效性,本文通過一個基線模型逐步驗證CMTFN-SRG 中的模態內關系學習模塊和張量融合模塊的作用。該基線模型不進行張量融合操作并將2.1 節中獲取的圖像區域特征O={oi|i=1,2,…,n,oi∈Rd}通過平均池化得到圖像的最終特征表示,其他設置與CMTFN-SRG 保持一致。實驗結果如表5 所示,其中:IR 表示加上了圖像模態內關系學習模塊;TF表示加上了張量融合模塊,TF 前面的數字表示張量融合的數目。基線模型在文本檢索任務上的R@1、R@10 分別為64.3%、90.5%,在圖像檢索任務上的R@1、R@10 分別為49.2%、83.4%。

表5 在MS-COCO1K測試集上進行消融實驗的結果 單位:%Tab.5 Ablation experimental results on MS-COCO1K test set unit:%
首先在平均池化操作之前加上模態內關系(IR)學習模塊(見2.1 節)。從實驗結果可以得出模態內關系學習模塊能夠有效地學習到圖像區域之間的關系(模態內對象的關系),從而取得更好的檢索結果。然后在模態內關系學習模塊的基礎上加上張量融合(TF)模塊(見2.3 節)并且逐漸增加張量融合的次數。從實驗結果中可以發現,張量融合模塊能夠有效地促進圖像數據模態內關聯關系以及圖像區域特征和文本特征的匹配,進而提高檢索精度。
圖5~6 分別顯示了圖像檢索文本和文本檢索圖像的相似度得分排名前五的可視化結果,其中加框的表示正確的結果。從圖5~6 中可以看出,本文所提方法不僅能夠有效地學習圖像區域間的關系(模態內對象之間的關系),并且能準確地將圖像和文本進行匹配(模態間的關系)。
本文提出了一種基于語義關系圖的跨模態張量融合網絡的圖像文本檢索方法,該方法統一模態內對象之間的關系和模態間的對象關系的關聯,結合張量融合網絡和全局語義匹配網絡,能有效地學習到模態間對象關系的局部語義相關性和全局語義相關性。在兩大公開數據集上進行了實驗對比分析,實驗結果驗證了本文所提出方法的有效性。下一步工作將考慮把圖像和文本分別在全局語義層、對象關系層以及對象層進行匹配,進而實現更加精細和準確的匹配。