陶 琪,靳華中,李文萱,黎 林,袁福祥
(湖北工業大學計算機學院,湖北 武漢 430068)
場景圖[1]是表示場景內容的一種數據結構,能描繪一張圖像中的目標及目標間的關系,常以<主語,謂語,賓語>格式表示,例如
現有的場景圖生成方法依賴于目標區域或目標區域的上下文信息。文獻[11-15]的研究側重于目標的視覺特征,對目標之間的空間信息利用不足。事實上,視覺場景是目標之間信息結構化和層次化的表示,具有較強的空間關系約束特征。相同目標的相對位置發生變化,其空間關系隨之發生改變。例如,當“人”與“車”并排時,兩者之間的關系可以使用“near”來表達;如果“人”在“車”上方時,“人”與“車”之間是“riding”關系。本文提出了融合空間信息的場景圖生成方法,主要貢獻包括:1)提出了一種空間關系增強的方法,增強目標間的空間關系。2)提出了利用目標間的關系統計篩選目標對的方法,排除數據集中不存在關系的目標對,提高關系檢測效果。實驗結果表明,本文方法在場景圖生成的任務中比現有的方法有更好的召回率,生成的關系謂詞更加準確。
本文在Neural Motifs模型[14]的基礎上,引入先驗知識和目標的空間信息,提出一種空間關系增強的場景圖生成方法。本節對Neural Motifs模型、先驗知識的引用與空間信息表達上下文關系的相關工作進行介紹。
Neural Motifs模型是一種利用循環神經網絡融合全局信息和局部信息的方法。該模型將場景圖生成分為候選目標框生成、目標檢測和關系檢測3個階段。在候選目標框生成階段,首先通過Faster RCNN[16]獲取候選目標框,其次以候選目標框中心點在原圖上的位置從左至右順序輸入到雙向LSTM,最后將編碼得到的目標上下文輸入到目標檢測階段和關系檢測階段。在目標檢測階段,用一個單向LSTM解碼目標上下文得到目標的類別標簽并傳遞給關系檢測階段。在關系檢測階段,首先利用雙向LSTM編碼邊上下文信息,接著將每一個邊上下文信息處理為主語特征與賓語特征。最終該模型根據目標對不同的主語特征與賓語特征,得到關系表示。通過序列學習,Neural Motifs模型能學到簡短及重復出現的規則化信息,但是將復雜的視覺信息抽象成線性序列造成了信息損失,例如在圖像中,目標框“人”與“車”是上下位置,但是輸入到網絡時卻是從左至右的順序輸入,導致目標間詳細的重要的位置信息缺失。
引入先驗知識是為了細化或加強目標間的關系,提升關系檢測的效果。近年來,許多研究利用先驗知識來輔助關系檢測、視覺問答等任務。Bo D等[12]設計一個深度關系網絡,利用空間位置和統計依賴性來解決關系識別中的歧義。Zellers R 等[14]對Visual Genome數據集上的關系謂詞和目標對間的統計知識進行分析,發現統計知識為關系檢測提供很強的正則化,將統計知識作為外部信息增強關系表示。Chen T等[17]引入目標對及其可能關系的關聯圖,明確地正則化關系檢測的語義空間,從而解決關系檢測的不均勻分布問題。Tang K等[18]對Visual Genomes數據集進行預處理,獲得每兩個目標間的合理的二進制先驗知識,以此建立目標的動態樹結構,樹中節點的并行或層次關系更好地表達目標間的相關關系。上述這些研究引入統計知識,使關系檢測取得更好的效果。與上述研究不同,本文引入目標對數值矩陣,用數值矩陣規范目標對間關系的數量,消除完全錯誤的關系三元組,提高場景圖生成效果。
隨著場景圖生成的研究,許多學者使用空間信息輔助場景圖生成任務。例如,林欣等[19]通過對目標的相對位置和面積比例的編碼與殘差置亂上下文做最大全連接,以增強關系的空間上下文。Ren G 等[20]研究物體間的相對大小與相對位置,發現相對位置有助于決定關系類型,相對大小有助于判斷某種關系的存在,以此他們建立目標間的交互上下文。Zheng Z 等[21]利用空間知識,根據對象的空間布局和對應的子圖,模糊對象特征的部分上下文,以促進對象之間的關系識別。與之前的研究不同,本文引入空間信息目的是增強目標對的空間位置信息,改進關系謂詞的細粒度分類,提高關系三元組準確性,實現場景圖生成效果的提升。
綜上所述,相比Neural Motifs模型,本文通過空間關系增強模塊能一定程度上緩解因為序列學習而導致目標間空間規則損失的問題,使關系表示增添了目標間空間信息,使關系檢測有更多的依據。通過統計知識的引入模塊能輔助目標對的預測數量冗余問題,使關系檢測更高效。
為了生成更加準確的場景圖,本文提出了一種空間關系增強的場景圖生成方法。該方法主要由目標識別及關系向量生成、目標間的關系統計和空間關系增強三部分組成,整體框架如圖1所示。

圖1 場景圖生成框架
場景圖由目標及其關系組成。對于目標的檢測,首先利用Faster RCNN模型[16]提取邊界框和初始的目標標簽概率的特征向量boi,其次在目標識別和關系向量生成階段,利用boi和邊界框信息生成目標上下文objecti,隨后將其解碼成目標類別分布objdisti,最后通過argmax獲得目標類別Oi:
Oi=arg max(fc(objdisti))
其中,fc(·)表示全連接層。
對于關系的檢測,首先利用邊上下文edgei,將其解碼成主語特征edgesubi和賓語特征edgeobji。然后根據目標對編號,將主語特征edgesubi與賓語特征edgeobjj按元素相乘得到關系向量Prodi,j;同樣根據目標對編號,通過空間關系增強模塊,獲得空間向量Si,j。隨后線性化處理關系向量Prodi,j與空間向量Si,j的乘積,得到關系類別分布reldisti,j;最后通過argmax獲得reli,j:
reldisti,j=fc(Prodi,j⊙Si,j)
reli,j=arg max(fc(reldisti,j))
其中,⊙表示點乘運算,fc(·)表示全連接層。
目標識別及關系向量生成模塊分為目標和關系兩個階段。目標階段進行目標識別和目標上下文生成,關系階段生成目標間的關系向量。
在目標階段,首先使用Faster RCNN提取候選目標框進行目標預分類和邊界框回歸,其次結合Neural Motifs模型的目標上下文模塊進行目標上下文的編碼與解碼。根據目標框的中心坐標從左至右排序,依次將目標特征fi輸入到高速雙向LSTM[22]中獲得目標上下文信息objecti:
objecti=biLSTM(fi)
目標上下文objecti輸入到LSTM[23]進行解碼,得到目標類別分布objdisti:
objdisti=LSTM(objecti)
在關系階段,首先根據目標上下文objecti與目標的語義詞向量Wembi輸入到高速雙向LSTM[22]得到邊上下文edgei:
edgei=biLSTM(concat(objecti,Wembi))
其中,biLSTM(·)表示高速雙向LSTM。其次通過全連接層將提取的邊上下文edgeI?分解成主語、賓語特征edgesubi,edgeobji:
edgesubi,edgeobji=fc(edgei)
其中,fc(·)表示全連接層。最后根據目標對編號i,j對應主語特征edgesubi與賓語特征edgeobjj進行點乘運算,從而得到目標間的關系向量Prodi,j:
Prodi,j=edgesubi⊙edgeobjj
目標間的關系統計階段的主要目的是排除不存在關系的目標對,減少召回率評價時的誤判,提高場景圖生成效果。該模塊通過統計數據集中每兩個對象同時出現的次數,建立數值矩陣M,并利用該矩陣判斷目標之間是否存在關系,當目標間不存在關系時,不做進一步的關系檢測;存在關系時,進行后續處理。
對象對數值矩陣M是根據目標數據集Visual Genome建立的一個151*151的兩對象同時出現的矩陣,記M∈RC×C,其中C為151,151指的是數據集中最常見的150種對象類和一種包含其他所有非常見的對象類。具體方法是統計每張圖片中每個關系三元組的主語和賓語,將其標簽對應數字編號,并添加到數值矩陣M。關系數值矩陣Mr表示每張圖片中n個目標可能存在的關系,記Mr∈Rn×n并置為零,并用數組A[n-1]存儲n個目標標簽的編號。
圖2展示了引入目標間關系統計的具體步驟,第一步,根據目標框編號(從0到n-1)依次獲取矩陣Mr的兩個下標i、j,并且i≠j,下標i,j分別表示主語目標框與賓語目標框。第二步將M(A[i],A[j])對應數值矩陣M得到數值num。第三步,比較num與0的大小,當num大于0,則Mr[i,j]賦值為1,意思為目標i與j存在關系,然后輸入下一組下標i、j;當num小于0,意思為目標i與j不存在關系,則輸入下一組下標i、j。第四步判斷i、j是否全部輸入,當i、j沒有全部輸入,則返回第二步;當i、j全部輸入,則表示所有可能目標對都經過數值矩陣M篩選,輸出篩選后的關系矩陣Mr。

圖2 目標間關系統計的引入
其中,下標i,j為主語目標框與賓語目標框的編號,M為對象對數值矩陣,Mr是建立的關系數值矩陣。
本文提出一種空間關系增強的方法,該方法通過Hadamard積[24]將空間信息添加到關系檢測中,目的是將目標間的空間信息融合到網絡,提升網絡的推理能力,進而提高關系檢測性能。Hadamard積用元素相乘方法將多個相同尺寸的特征融合。本文將目標框之間的空間信息處理成4096維的數據,該尺寸與關系表示特征大小相同,然后通過Hadamard積將目標間的空間信息與關系表示特征融合,用于關系檢測。該方法可以進行端到端的訓練。
假定主語目標框s=(lxi,lyi,rxi,ryi)和賓語目標框o=(lxj,lyj,rxj,ryj),則主賓語目標間的空間信息包括相對大小Psi,j、相對位置Pwi,j及交并比Poi,j。其中坐標(lx,ly)表示目標框左上的頂點,坐標(rx,ry)表示目標框右下的頂點。
首先根據坐標信息,計算主語i與賓語j目標框的面積A(i)、A(j),并計算主語、賓語的相對大小Psi,j:
A(i)=(rxi-lxi)*(ryi-lyi)
A(j)=(rxj-lxj)*(ryj-lyj)
其次利用主語與賓語目標框的坐標,計算主語與賓語目標框的中心坐標(Xi,Yi)、(Xj,Yj)。再用歐氏距離計算主語、賓語的相對位置Pwi,j:
根據主語與賓語目標框的交集與并集,計算他們之間的比值,得到主語、賓語的交并比Poi,j:
其中,A(i,j)為主語、賓語目標框的并集,A(i)、A(j)是主語與賓語目標框的面積。
最后將空間信息Psi,j、Pwi,j、Poi,j歸一化,使用sigmoid為激活函數的卷積層將其轉換為4096維的空間向量Si,j,并將其與關系向量Prodi,j按位相乘得到最終的關系謂詞表示Prodsi,j:
Si,j=conv(Psi,j,Pwi,j,Poi,j)
Si,j=sigmoid(Si,j)
Prodsi,j=Prodi,j⊙?Si,j
其中conv(·)表示卷積層,Prodi,j是主語、賓語的乘積特征,用4096維的向量表示,⊙ 表示點乘運算。
本文選取的是Visual Genome數據集,該數據集包含108077張圖片,平均每張圖片標注38個對象和22個關系。在實驗中,類似于之前的研究,使用最常見的150個對象類別和50類關系謂詞,并將整個數據集的70%、30%劃分為訓練集和測試集,從訓練集中選取5000張圖像作為驗證集。
類似于之前的研究[13],本文通過以下三種任務來評估提出的模型:
謂詞分類(predicate classification,PredCls):給定圖像,目標框(對象)和對象類別的真值標注,預測給定對象之間的關系標簽。場景圖分類(scene graph classification,SGCls):給定圖像和目標框,預測目標框(對象)的類別標簽,并預測每個對象對的關系標簽。場景圖生成(scene graph generation,SGGen):給定圖像,預測圖像中出現的對象,并預測對象之間的關系標簽。
實驗評價指標采用Recall@K,縮寫為R@K:即主謂賓關系三元組 <主語,關系謂詞,賓語> 的置信度得分前 k 個的召回率。三元組的置信度得分Score一般采用:
Score=score(sub)*score(obj)*score(pred)
約束條件指的是對于每對目標對,只獲取一個關系。也有研究[27]省略了這個約束,獲得多個關系,從而得到更高的評價指標值。
本文使用帶有VGG16[25]的Faster RCNN作為底層目標檢測器。輸入圖像的大小設置為592 × 592,并且使用類似于YOLO-9000[26]錨框的尺度和長寬比。使用SGD算法在目標數據集Visual Genome上訓練場景圖分類與關系謂詞分類模型,設置batch size為2,momentum為0.9,weight decay為0.999,學習率初始化為0.001,并在驗證集的mAP趨于平穩時除以5。在訓練場景圖生成模型,設置batch size為2,momentum為0.9,weight decay為0.999,學習率初始化為0.0001,并在驗證集的mAP趨于平穩時除以10。
實驗分別在約束和無約束條件下將本文方法與現有方法進行比較,包括視覺關系檢測VRD[11]、關聯嵌入AE[27]、迭代消息傳遞IMP[13]、改進版本的IMP+[14]、直接利用統計概率的方法FREQ[14]和堆疊主題網絡SMN[14],實驗結果見表1、表2。

表1 約束條件下,本文方法與現有方法實驗結果

表2 無約束條件下,本文方法與現有方法實驗結果
從表1可以看出,約束條件下本文方法相比Neural Motifs模型,在場景圖生成、場景圖分類和關系謂詞檢測三類任務中R@20提升都超過了0.1%;尤其是在場景圖分類中每一項指標都超過了0.1%,另外兩類任務的指標也都有小幅提升。從表2可以看出,在無約束條件下場景圖分類任務中兩項指標均高于0.3%,另外兩類任務的指標也有提高。綜上所述,在約束和無約束條件下,空間關系增強方法在各項指標中效果均有明顯提升;在約束條件下,目標間的關系統計方法在各項指標中略有提升。
圖3是利用場景圖分類模型做的部分結果可視化,其中矩形框表示與數據集給定真值相同的目標,帶有向邊的平行四邊形表示與數據集給定真值相同的關系謂詞;橢圓形框表示與數據集給定真值不同的目標,帶有向邊的菱形表示與數據集給定真值不同的關系謂詞。Row 1為帶目標框的圖片,Row 2為Neural Motifs模型場景圖分類Row 3為本文模型場景圖分類。

圖3 部分可視化結果
從圖3a可以看出,Neural Motifs模型將場景中的building預測成場景中出現過的pole。從圖3a、圖3b可以看出Neural Motifs模型對于關系的預測往往都是on這類簡單且比較模糊的關系謂詞,而本文模型可以預測hanging on,laying on這類描述更準確的關系謂詞。結果表明,本文模型比Neural Motifs模型更加優異,特別是對一(b)Neural Motifs模型關系檢測錯誤示例些模糊的關系謂詞做了更進一步的精準預測,目標分類也更準確。
圖4是目標預測與真值不同所導致的錯誤預判。圖4a中復雜場景容易影響目標檢測的效果;圖4b的簡單場景中,由于目標框重疊比較多,導致目標檢測效果較差。圖5是關系謂詞預測與真值不同所導致的錯誤預判。

圖4 錯誤目標檢測示例

圖5 錯誤關系預測示例
本文提出了一種空間關系增強的場景圖生成方法,研究了場景圖中空間信息利用的問題。該方法以Hadamard積為基礎,將目標間的空間信息融合到關系表示中,從而增強關系表示。該方法主要思想是將目標間的空間信息轉換為空間向量,其維度與關系向量相同,再利用Hadamard積將空間向量與關系向量融合。此外,本文統計數據集中每兩類目標的關系矩陣,剔除不存在關系的目標對,減少關系謂詞的錯誤檢測。實驗結果表明,本文方法提取的關系描述更準確,語義更豐富,能更具體的表達場景信息。