1.論文相關
論文題目:Visual Translation Embedding Network for Visual Relation Detection
論文作者:Hanwang Zhang, Zawlin Kyaw, Shih-Fu Chang, Tat-Seng Chua
(本文為原文的大概翻譯,“我們”均指原論文作者本人)
2.論文
2.1摘要
視覺關系,例如“人騎車”和“自行車緊挨著汽車”,提供了對一副圖片的綜合場景的理解,并且在聯系計算機視覺和自然語言方面展示出了巨大的作用。然而,由于模擬“主謂賓”三元組的復雜性的挑戰,人們僅僅做了非常少的工作來定位并且預測視覺關系。受到最近知識庫和卷積目標檢測網絡的關系表示學習的最新進展的啟發,我們提出了視覺轉換嵌入網絡(VTransE)來進行視覺關系檢測。VTransE將目標置于低維關系空間,在這個空間里將一個關系建模為一種簡單的向量轉換,比如,主體+謂詞≈賓語。我們提出了一個新穎的特征提取層,這個提取層使得目標關系知識的遷移能夠以全卷積的形式進行,其支持在簡單的前向\后向通路中訓練和推理。據我們所知,VTransE是第一個端到端關系檢測網絡。我們在兩個大型數據集:Visual Relationship和Visual Genome上證明了VTransE相比其他時下最優的方法的有效性。要注意,雖然VTransE只是一個純視覺模型,它仍然可以與Lu的帶有語言先驗知識的多模態模型相提并論。
2.2引入
從可視成熟的視覺檢測,到新興的視覺字幕和問題回答,我們正在見證著連接計算機視覺和自然語言這一方向的科學令人印象深刻的發展。然而,對于后者——視覺語言任務——絕大多數現有的努力都在嘗試直接連接視覺模型(例如,CNN)和語言模型(例如,RNN),但是很少是著眼于建模和理解目標之間的關系。結果,這些模型呈現出了糟糕的泛化能力,因為他們經常是針對特定數據集上的具體任務來進行優化,例如圖像字幕或者圖像問答。
??如圖1所示,我們從較低級別的目標檢測前進一步,從較高級別的語言建模后退一步,著眼于一幅圖片中目標之間的視覺關系。我們將視覺關系稱為主謂賓三元組,其中謂語可以是動詞(person1-talk-person2),空間(clock-above-person2),介詞(car-with-wheel)和比較(person1-taller-person2)。視覺關系自然而然地連接了視覺和語言,它將目標置于一個上下文語義環境中,這個上下文描述了什么目標在哪里如何和另一個目標發生聯系。比如,如果我們成功地檢測到了“鐘表在人物二上方”和“人物二穿著夾克”,那么圖1所示問題的答案“灰色”背后的邏輯通過使用數據集獨立推理將變得明確可解釋,例如,知識庫問答,從而獲得更好的泛化能力甚至實現zero-shot學習。
??在這篇論文里,我們提出了卷積定位網絡實現視覺關系檢測,這被稱為視覺轉換嵌入網絡(VTransE)。它檢測目標的同時以一種端到端的形式同時預測一張圖片里目標之間的關系。我們強調使得VTransE有效且可辨別的2個關鍵創新點:
??轉換嵌入。因為關系是目標和預測的組合,它們的分布比目標要顯得更長尾。對于N個目標和R個預測來說,我們必須解決一個基本的挑戰就是用很少的例子學習O(N^2*R)個關系。一個常見的解決辦法是分別針對目標和謂詞學習不同模型,即將復雜度降低到O( N + R )。然而,謂詞表現形式巨大的變化使得學習更具挑戰性。例如,“騎”這個動作的表現形式可以表示“人騎車”,又可以表示為“人騎大象”。有鑒于此,受到表示大型知識庫的轉換嵌入的啟發,我們提出通過將目標和謂詞映射到低維空間來建模視覺關系,在這個空間里,關系三元組被解釋為一種向量轉換,如“人+騎≈自行車”。如圖2所示,通過避免使用大量變量來學習大量主謂賓表示關系,我們僅僅需要學習關系空間里的“騎”轉換向量,即使主語或者賓語有巨大的變換。
??關系中的知識轉換。認知證據表明,對象及其相互作用的識別是相互的。比如,“人”和“自行車”的檢測可以作為“騎”這個謂詞的上下文環境,這反過來也限制了兩個對象的接合,從而有利于對象檢測。受此啟發,我們明確地將VTransE中的對象和謂詞之間的知識轉移結合起來。具體來說,我們提出了一種新穎的特征提取層,它提取了轉換嵌入中使用的三種類型的對象特征:分類(即,類概率),位置(即邊界框坐標和比例)以及RoI視覺特征。特別地,我們使用雙線性特征插值而不是RoI pooling用于可微分坐標。因此,對象和關系之間的信息——置信度,位置,尺度——可以以端到端的方式通過單一的前向/后向傳遞。
??我們在最近發布的兩個數據集上評估了VTransE:Visual Relationship數據集,包含5000張圖片和6672對不同的關系;Visual Genome數據集,包含99658張圖片和19237對不同的關系。與若干時下最優的視覺關系模型相比,我們的模型顯示了顯著的性能提升。特別地,我們純粹的視覺VTransE在檢測和檢索方面甚至能勝過結合視覺和語言先驗知識的多模態模型,在zero-shot 學習上有一點差。
??總的來說,我們的貢獻如下:1)我們提出了一個視覺關系檢測模型VTransE,這是一個能同時檢測目標和關系的卷積網絡。據我們所知,這是第一個端到端的檢測網絡;2)我們提出了一個結合了轉換嵌入和知識轉化的新穎的關系學習模型VTransE;3)VTransE在視覺關系檢測上與若干強大的基本算法相比有了很大的性能提升。
2.3相關工作
我們的工作著眼于最近表示圖片語義信息所取得的進步上。已經有證明,高質量的語義表示提供了更多的綜合場景理解,這鞏固了許多視覺語言任務的基礎,如VQA,字幕和復雜查詢檢索。視覺關系檢測不僅僅是標記出目標們所在區域,更要描述它們的相互關系。特別地,我們的VTransE網絡吸取了近來關系學習和目標檢測的相關工作。
??視覺關系檢測。與將關系視為隱藏變量的方法不同,我們將明確的關系劃分為兩類:聯合模型和分離模型。對于聯合模型,一個關系三元組被看作一個特別的類。然而,長尾分布是可擴展性的固有缺陷。因此,我們采用了分離模型,單獨學習主語、賓語和謂詞。但是,建模大量的視覺謂詞變量非常具有挑戰性。受TransE在大規模知識庫上關系學習的成功應用的鼓舞,我們的VTransE通過使用較少變量將主體和目標映射到低維關系空間來擴展TransE,并且將謂詞建模為一個主體和目標之間的轉換向量。注意到,雖然已經有些工作在探索語言先驗知識來增強關系檢測,但是我們只對視覺模型感興趣。
??目標檢測。VTransE基于一個包含RPN和分類層的目標檢測模塊。特別地,我們使用Faster-RCNN,它是從其前身演變而來的,需要額外的區域推薦輸入。注意,VTransE不能被簡單地認為是將關系預測層附加到Faster-RCNN上。事實上,我們提出了一個新穎的目標提取層,它允許目標和關系之間的知識轉換。該層利用雙線性插值,而不是在Faster-RCNN中的非平滑RoI池化,從而可以在單個前向/后向通過中實現對象和謂詞的倒數學習。請注意,VTransE可以結合任何包含RPN的對象檢測網絡,如最近的SSD和YOLO。
3.算法
4.實驗
我們打算通過回答下面三個問題來驗證我們VTransE網絡的有效性。問題1:嵌入關系的思想在視覺信息域有效嗎?問題2:在關系檢測和知識轉換時特征的影響是什么?問題3:整個VTransE網絡與時下最優的視覺關系模型相比表現如何?
4.1數據集和度量方法
具我們所知,目前只有2個大規模關系檢測數據集。我們同時使用二者:
??VRD。視覺關系數據集。包含5000張圖片,100個類,70個謂詞。總的來說,VRD包含37993對關系,不同的關系有6672,每個類別平均擁有24.25個謂詞。我們的訓練/測試劃分方法為,4000張用來訓練,1000張用來測試,其中1877對關系僅僅存在于測試集當中,用來進行zero-shot評估。
??VG。最新的Visual Genome關系數據集1.2版。與VRD是由計算機視覺專家構造的不同,VG是有普通工人標注的,所以目標和關系都是有噪聲的。因此,我們請求作者進行了一次正式的修正。比如,“年輕女性”和“小姐”都被合并為“女人”。總之,VG包含99658張圖片,200個目標種類,100個謂詞,1174692對關系,其中不同的關系有19237對,每個類別大概擁有57個謂詞可以來描述。我們用73801張圖片訓練,25857張圖片用來測試。
??我們使用R@50和R@100方法作為評估檢測的度量方法。注意到,精度和平均精度是不合適的度量,因為視覺關系是不完整的,如果我們沒能獲得精確的數據,這會對檢測進行懲罰。對于關系檢索任務,我們采用R@5,即計算前5個預測結果里面正確結果出現的次數,同時我們采用Median rank(Med r),這個指標表示第一次正確檢測到關系時的平均排序。事實上,數據集的標注越完整,即使召回率很低,檢測的精度通常也會大于50/100.因此,Rr@5和Med r來評估檢索任務的話,會提供一個互補的對結果的評估。
4.2對于轉換嵌入方法的評估(問題1)
設置。視覺關系檢測需要同時檢測目標和謂詞關系。為惡劣考察VTransE是否是一個好的關系模型,我們需要將它和目標檢測方法隔離開來執行謂詞預測,及:使用目標的真實邊界框來預測謂詞。
??比較方法。我們比較聯合標記框和VTransE兩種方法。聯合標記框將主體和目標當做一個聯合邊界框來進行謂詞預測,VTransE則對一對主體和目標進行預測。為了較為公平的比較,我們兩個方法都只使用邊界框的RoI pooling視覺特征。
??結果。從表1可以看出,變形為公式3的VTransE表現優于聯合框視覺模型。這是因為VTransE的謂詞模型參數——轉換向量——能夠捕獲較為重要的目標與目標之間的關系信息。圖4顯示,大部分謂詞VTransE都能預測正確,而聯合框方法在某些確定的模式下很可能產生偏差。比如,聯合框預測“park on”這個動作是僅局限于汽車,而VTransE方法則可以將這個動作擴展到飛機和公共汽車。此外,通過檢查圖5中謂詞參數向量之間的語義親和度,我們可以推測JointBox實際上并不建模關系,而是建模關聯目標的同時出現。例如,在聯合框方法中,“beneath”這個向量和“drive”離得近的原因很大程度上是因為“road-beneath-car”和“car-drive on -road”總是同時出現;然而,VTransE則表現地更理解“beneath”的含義,因為“beneath”的相鄰單詞是“below”和“under”,并且“beneath”和“on”“above”這些單詞相聚很遠。
4.3關于特征的評估(問題2)
??設置。我們評估了3.1部分提出的特征是如何影響視覺關系的檢測的。我們執行了關系檢測:輸入是一張圖片,輸出是一組關系三元組和與真實位置重疊率超過0.5的關系三元組的主體和目標的位置信息。
??比較方法。為了使用不同的特征,我們將VTransE消解為4中方法,分別使用:1)類別信息,2)位置信息,3)視覺特征,4)所有信息,即融合類別,位置,視覺特征,并進行尺度變換。注意到,以上所有方法均是通過端到端地方式進行訓練。為了更進一步考察特征如何影響關系,我們將謂詞分為4類:動詞,空間詞,介詞,比較用詞。
??結果。通過圖6,我們可以知道什么特征擅長檢測什么關系的具體細節:1)進行了尺度變換的融合了所有特征的方法在任意類別的關系上都有最好的表現;2)類別信息大體上在各種種類的關系上都要優于視覺特征信息,因為它既能表示視覺表觀信息(比如目標長什么樣子),又包含一定先驗知識(比如一個“人”比一只“貓”更有可能在“騎自行車”)。然而,對于介詞關系,所有的特征表現的都不是很好。這是因為介詞的空間和視覺線索是不穩定的,比如“戴手表的人”和“有輪子的汽車”都用with來表示。
??表2證明VTransE端到端的訓練方法有利于目標檢測。這主要是因為特征提取層采用了知識轉換的方法,使得關系預測產生的錯誤能夠反向傳播到目標檢測模塊。事實上,這個提升是可以預料到的,因為我們在目標類別信息之上又附加了關系類別信息。如圖7所示,與預訓練過的Faster-RCNN相比,VTransE的目標檢測模塊能改善邊界框預測性能,比如輕微的調整,甚至從嚴重的錯誤恢復和糾正錯誤的檢測。這證明,關系將目標置于一個上下文場景中。比如,當錯誤預測為“包”的時候,關系能夠將其糾正為“短褲”,即使正確的檢測結果應該是“褲子”,他們在語義上還是相似的。這個糾正很可能是被關系“人穿著短褲/褲子”推斷出來的。
4.4與時下最優算法的對比(問題3)
設置。一些聯合框方法只能為一個關系檢測一個聯合的邊界框,這個我們稍后會介紹。因此,除了關系預測,我們還進行短語檢測:輸入一張圖片,輸出一組關系三元組并輸出那些與真實位置重疊超過0.5的關系的主體和目標的邊界框的整個位置。
??為了更廣泛地評估,我們還執行了兩個額外的任務。1)關系檢索。通過關系三元組查詢語句進行圖片搜索。我們首先在畫廊圖片上檢測關系,并且根據關系查詢的平均關系來給他們打分。一張圖片如果至少被一次正確地查詢到,則稱之為一次命中。這個任務是綜合語義檢索的一個表現。我們挑選了最常見的1000種關系作為查詢目標。2)zero-shot學習。獨立的主體,目標和謂語在訓練和測試的時候都出現過,但是一些特殊的關系只有在測試集中才出現過。由于關系分布是長尾特性,所以這是一個實際的設置,因為你不可能把所有數據的三元組都收集來。
??比較方法。我們將VTransE網絡與4個時下最優的關系檢測模型相比較。1)VisualPhrase:一種聯合關系模型,它將每個不同的關系三元組視為一個關系類別,為了公平起見,我們將原本的DPM目標檢測模型換成Faster-RCNN。2)DenseCap:它檢測出子圖區域同時給出描述。這是一個使用雙線性插值來進行區域定位的端到端模型。我們將其的LSTM分類層替換為softmax來預測關系。因此,它也可以被視為是一個聯合關系模型。3)Lu's-V:這是一個兩階段的分離式模型。首先使用R-CNN進行目標檢測,其次采用最大邊際聯合框模型進行謂詞分類。4)Lu's-VLK:除此之外,我們還將VTransE和2階段訓練模型VTransE-2stage進行對比,后者先使用Faster-RCNN進行目標檢測,然后使用像問題一中那樣的轉換嵌入進行謂詞預測。
??因為我們沒有Lu的方法的訓練源代碼,所以我們不能把它們應用到VG數據集上,所以我們引用了他們論文里提出的VRD上的結果。此外,因為例如VisualPrase和DenseCap的模型只能將關系三元組當做一個整體來檢測,所以他們不能用來進行zero-shot學習。因此,我們只報告了在VRD上正式的1877對zero-shot關系的zeor-shot結果。
??結果。從表3的定量結果和圖8的定性結果,我們可知:
1) 像VTransE和Lu’s這種分離式關系模型的表現要優于VisualPhrase和DenseCap這種聯合模型,尤其在VRD數據集上。這是因為聯合模型對于所有關系的分類空間太巨大了,這就使得訓練那些不頻繁出現的關系時樣本不夠充足。
2) 對于分離式模型,目標檢測網絡性能越好(VTransE使用Faster-RCNN,Lu’s使用R-CNN),關系檢測的結果就越好。如圖8所示,在VRD數據集上,lu’s-VLK將音響誤分為人,將盤子誤分為碗。我們認為這是Lu’s-V方法比VTransE方法差的主要原因。
3) 即使VTransE是一個純粹的視覺模型,它仍由于融合了語言先驗的Lu’s-VLK,在VRD數據集上的R@50和Med r指標,我們的方法在短語檢測,關系檢測,關系檢索方面分別要好20%,2%,230%。
4) 端到端的VTransE比2階段的VTransE-2stage在整個數據集上表現得都要好。這和問題2中的結果一起都證明了目標和關系相互學習的有效性。
5.總結
我們著眼于視覺關系檢測任務,它為連接計算機視覺和自然語言提供了一個綜合性的場景理解。朝著這個任務出發,我們采用了VTransE網絡來同時進行目標檢測和關系預測。VTransE是一個端到端全卷積結構,包含一個目標檢測模塊,一個新穎的微分特征提取層,和一個新穎的視覺轉換嵌入層來進行謂詞分類。更進一步,我們打算1)建模更高階關系,比如“人把球扔給狗”,2)應對zero-shot關系學習的挑戰,3)在基于關系推理的VQA系統中應用VTransE。