您當前的位置:首頁 > 繪畫

將門好聲音 | NVIDIA提出一種面向場景圖解析任務的圖對比損失函式

作者:由 將門創投 發表于 繪畫時間:2022-07-05

本文為新欄目——

將門好聲音第4期

作者是來自

將門計算機視覺社群的群友、羅格斯大學計算機系在讀博士生——張驥

,他提出了目前物體識別領域兩個客觀存在的問題,並介紹了三種形式的損失函式加以解決;此外,他還分享了在研究工作中的小tips,希望對大家有幫助。

如果你也想與廣大群友分享自己的研究工作、文章觀點、出坑經驗,隨時與群主小姐姐聯絡!只要內容合適,我“門”送你頭條出道!

(往期合集戳這裡!)

關係識別(Relationship Detection)是繼物體識別(Object Detection)之後的一個重要方向。使用視覺關係構建的場景圖(Scene Graph)可以為很多下游任務提供更豐富的語義資訊。這篇文章我們討論目前常規模型遇到的兩個普遍問題,並提出三種loss解決,同時我們也設計了一個高效的end-to-end網路搭配我們的loss來構建場景圖。我們的模型在三個資料集(OpenImage, Visual Genome, VRD)上都達到了目前最優結果。

【關於作者】

張驥,羅格斯大學在讀博士生,曾在Facebook AI Research (FAIR),Nvidia Research實習參與計算機視覺領域研究專案,在CVPR,AAAI,ACCV等會議均有論文發表,並在2018年Kaggle上舉辦的Google OpenImage Visual Relationship Detection Challenge比賽上獲得第一名。這篇文章是參賽模型的一個改進版本。

論文連結:

https://

arxiv。org/abs/1903。0272

8

程式碼連結:

https://

github。com/NVIDIA/Contr

astiveLosses4VRD

近兩年來,

場景圖解析任務

(Scene Graph Parsing,也稱Scene Graph Generation)開始獲得越來越多的關注。這個任務的定義是

針對輸入圖片構建一個描述該圖片的圖(graph)

,該圖中的節點是物體,邊是物體之間的關係。下圖是一個例子:

將門好聲音 | NVIDIA提出一種面向場景圖解析任務的圖對比損失函式

圖片來源:J。 Zhang, et al。, AAAI2019[1]

眾所周知,物體識別是一個相對成熟的領域,目前很多state-of-the-art方法在非常challenging的資料集上(MSCOCO, OpenImages)也能得到不錯的結果。這意味著,在構建場景圖的過程中,把節點(也就是物體)探測出來不是一個難點,真正的難點在於構建圖中的邊,也就是物體之間的視覺關係(visual relationship)。

自2016年ECCV第一篇視覺關係識別的文章[2]出現以來,已經有很多工作關注於如何透過給物體兩兩配對並且融合物體特徵來得到它們之間關係的特徵,進而準確探測出關係的類別[3, 4, 5, 6, 7, 8, 9]。但這些工作的一個共同問題在於,場景圖中每一條邊的處理都是獨立的,也就是說,模型在預測一對物體有什麼關係的時候不會考慮另一對物體,但實際情況是,如果有兩條邊共享同一個物體,那麼這兩條邊常常會有某種客觀存在的聯絡,這種聯絡會顯著影響預測的結果,因而在預測兩條邊中任何一條的時候應該同時考慮兩條邊。

這篇文章正是觀察到了邊之間存在兩種重要的聯絡,進而針對性地提出三種損失函式來協同地預測視覺關係。

更具體地說,這篇文章觀察到了兩個客觀存在的常見問題,這兩個問題在前人的工作中並沒有被顯式地解決:

問題一:客體例項混淆

客體例項混淆的定義是,一個物體只和相鄰的很多同類別的物體中的一個存在關係時,模型不能正確識別出它和這些同類別物體中的哪一個有關係。換言之,很多視覺關係是有排它性的。一個人如果在騎馬,那麼即便他周圍有一百匹馬,他也只可能在騎其中一匹。下圖是一個文章中給出的例子。圖中的人面前有若干酒杯,該人只拿著其中一隻杯子,但傳統模型由於缺乏顯式的區分機制,它錯誤地認為桌上那個酒杯在被人拿著。

將門好聲音 | NVIDIA提出一種面向場景圖解析任務的圖對比損失函式

問題2:鄰近關係模糊

這個現象是說,當兩對物體靠的很近,同時它們之間的關係類別一樣的時候,模型很難作出正確的匹配。下圖是這個現象的一個例子。圖中有兩個“man play guitar”,和一個“man play drum”。由於三個人靠的很近且都在演奏樂器,視覺上很容易把人和他對應的樂器混淆,在這張圖片中,傳統的scene graph parsing模型就把右邊人錯誤地認為是在打中間的鼓。

將門好聲音 | NVIDIA提出一種面向場景圖解析任務的圖對比損失函式

這兩個問題的根本原因都在於,

決定物體之間關係的視覺特徵往往非常微妙

,而且當需要判別出物體之間有無關聯時,觀察者往往需要

將注意力集中到鄰近的多個物體並進行對比

,這樣才能避免混淆,準確區分出誰和誰是相關的。這正是本文提出的解決方案的動機。

解決方案

針對這兩個問題,本文提出

三種損失函式

來解決。總的來說這三種損失函式的思想是,訓練過程中對於每個節點(即物體),篩選出當前模型認為與之匹配,但置信度最小的那個正樣本,同時選出當前模型認為與之不匹配但置信度也最小的那個負樣本,再計算這兩個樣本的置信度的差異,然後把這個差異作為額外的損失值反饋給模型。根據這種思想,本文進一步設計了三種類型的損失函式形式:

1. 類別無關損失(Class AgnosticLoss)

該函式的計算分成兩步,第一步計算正負樣本的置信度差異:

將門好聲音 | NVIDIA提出一種面向場景圖解析任務的圖對比損失函式

其中m_1^s (i)是當物體i作為主語(subject)的時候它所有可能對應的賓語中正負樣本置信度差異的最小值。這裡“正負”的含義是某物體作為賓語與這個主語s_i是否存在視覺關係。這裡s_i^ 代表物體i當前被作為主語考慮,j和k分別用來索引與主語i存在關係的正樣本賓語o_j^+和不存在關係的負樣本賓語o_k^-。V_i^+和V_i^-分別代表與主語s_i^ 存在關係的所有賓語(即正樣本)的集合,和與主語s_i^ 不存在關係的所有賓語(即負樣本)的集合。與之相似地,m_1^o (j)的定義是物體j作為賓語時它所有可能對應的主語中正負樣本置信度差異的最小值。m_1^o (j)公式中符號的含義與之類似,這裡不再贅述。

第二步是利用第一步的兩個差異值來計算一個基於邊界的損失:

將門好聲音 | NVIDIA提出一種面向場景圖解析任務的圖對比損失函式

其中

a1

是預先設定的邊界值,

N

是當前的batch size。這個損失的作用是使得上述第一步中的差異值大於預定的

a1

,只有滿足這個條件的時候

L1

才為0,也就是說我們希望差異值至少是

a1

。熟悉contrastiveloss和triplet loss的朋友應該發現,這個loss的形式和它們很類似。的確,這裡的對比形式參考了triplet loss,但不同點在於這個loss受限於圖模型的結構,即每一個節點的正負樣本都只來自於和當前主語或賓語可能存在關係的節點,而不是像一般triplet loss那樣直接在所有節點中搜索正負樣本。

另一個不同點是triplet loss一般的應用場景是用於訓練節點的嵌入(embedding),因此它的輸入通常是正負樣本的嵌入向量,但這個loss的輸入就是原始模型的輸出,即每一個視覺關係的置信度,它的目的是透過對比正負樣本的置信度把當前視覺關係的最重要的上下文環境反饋給原始模型,從而讓原始模型去學習那些能夠區分混淆因素的視覺特徵。

2. 物體類別相關損失(Entity Class Aware Loss)

該函式與類別無關損失形式類似,唯一的不同在於這個loss在選擇正負樣本時,樣本中物體的類別必須一樣:

將門好聲音 | NVIDIA提出一種面向場景圖解析任務的圖對比損失函式

這一步與上一個loss的第一步的唯一區別就是加入了一個額外輸入

c

,它的作用是規定在計算正負樣本差異時,所有考慮到的物體必須同屬於類別

c

。這個額外限制迫使模型去注意那些同一個類別的不同物體例項,比如上圖中的多個酒杯,並在學習過程中逐漸區分存在視覺關係和不存在視覺關係的例項的特徵,因此這個loss是專門設計用來解決上文提出的第一個問題的,即

客體例項混淆

3. 謂語類別相關損失(Predicate Class Aware Loss)

該函式與類別無關損失形式也類似,唯一的不同在於這個loss在選擇正負樣本時,樣本中謂語的類別必須一樣:

將門好聲音 | NVIDIA提出一種面向場景圖解析任務的圖對比損失函式

這裡加入了一個額外輸入

e

,它代表的是目前考慮的謂語類別。它的作用是規定在計算正負樣本差異時,所有考慮到的樣本的視覺關係必須都以謂語連線。這個額外限制迫使模型去注意那些具有同樣視覺關係的物體對,比如上圖中同樣在“play”樂器的三個人,然後在訓練過程中學會識別正確的主客體匹配。很顯然這個loss是專門用來解決上述的第二個問題,即鄰近關係模糊。

關係檢測網路(RelDN)

本文同時也提出了一個高效的關係識別網路,結構圖如下:

將門好聲音 | NVIDIA提出一種面向場景圖解析任務的圖對比損失函式

該網路首先用事先訓練好的物體識別器識別出所有物體,然後對每一對物體,從圖片中提取它們的視覺特徵,空間特徵以及語義特徵。其中空間特徵是bounding box的相對座標,語義特徵是兩個物體的類別。這三個特徵分別被輸入進三個獨立的分支,並給出三個預測值,最後網路把三個預測值加總並用softmax歸一化得到謂語的分佈。

值得注意的是,中間這個Semantic Module在前人的工作中也叫Frequency Bias或者Language Bias,它意味著當我們知道主客體的類別時,我們即便不看圖片也能“猜”出它們之間的謂語是什麼。這個現象其實是符合客觀規律的。試想有一張圖片裡有一個人和一匹馬,現在我們不看圖片去猜這個人和這匹馬有什麼關係,我們一般最容易想到“騎”,其次是“拍”或者“牽著”之類的動作,但幾乎不可能是“站在”或者“躺在”,因為這與客觀常識不符。

如果要構建符合真實世界分佈的場景圖,那麼符合客觀規律的常識就不能忽略,因此這個Language Bias不可或缺。

實驗結果

1. 成分分析

將門好聲音 | NVIDIA提出一種面向場景圖解析任務的圖對比損失函式

這張表是ablation study,以一步步新增子模組的方式證明三個損失函式都是有效的是傳統方法通用的multi-class cross entropy loss,簡言之就是softmax層後面接的分類loss,分別是類別無關損失(Class Agnostic Loss),物體類別相關損失(Entity Class Aware Loss)和謂語類別相關損失(Predicate ClassAware Loss)。

將門好聲音 | NVIDIA提出一種面向場景圖解析任務的圖對比損失函式

這張表對應的實驗是,人工隨機地挑選出100張圖片,這些圖片裡面廣泛地存在著本文開頭提到的兩個問題,然後分別用不帶本文提出的losses的模型和帶這些losses的模型去跑這100張圖片然後對比結果。很明顯,帶losses的模型幾乎在所有類別上優於不帶losses。這個實驗直接證明了新增本文提出的losses能夠很大程度上解決客體例項混淆和鄰近關係模糊這兩個問題,從而顯著提高模型整體精確度。除了使用Table2量化地證明losses的有效性,本文同時對模型學到的中間層特徵進行了視覺化,示例如下:

將門好聲音 | NVIDIA提出一種面向場景圖解析任務的圖對比損失函式

上圖是從驗證集(validation set)裡挑選的兩張圖,每張圖分別用不帶losses和帶losses的模型跑一下,然後把最後一個CNN層的特徵提出來並畫成上圖所示的heatmap。可以發現,在左邊這張圖中不帶losses的模型並沒有把正確的酒杯凸顯出來,而帶losses的模型很清晰地突出了被人握著的那個酒杯;在右邊這張圖中,不帶losses的模型突出的位置所對應的物體(鼓)並沒有和任何人存在關係,而被人握在手裡的話筒卻並沒有被突出出來。相比之下,帶losses的模型則學到了正確的特徵。

2. 與最新方法的比較

本文在三個資料集上都做到了state-of-the-art,三個資料集是OpenImages (OI), VisualGenome (VG), Visual Relation Detection (VRD):

將門好聲音 | NVIDIA提出一種面向場景圖解析任務的圖對比損失函式

OpenImages(OI)由於資料集較新,之前沒有論文做過,所以本文直接和Google在2018年舉辦的OpenImages Visual Relationship Detection Challenge的前8名進行了比較,結果

比冠軍高出兩個百分點

將門好聲音 | NVIDIA提出一種面向場景圖解析任務的圖對比損失函式

在VisualGenome(VG)上,使用和前人相同的settings,本文提出的模型也

顯著地超過了前人的最好成績

。值得注意的是,這裡加和不加losses的區別沒有OpenImages上那麼大,很大程度上是因為Visual Genome的標註不夠完整,也就是說圖片中很多存在的視覺關係並沒有被標出來,這樣導致模型誤認為沒有標註的物體之間不存在視覺關係,進而把它們認定為負樣本。

將門好聲音 | NVIDIA提出一種面向場景圖解析任務的圖對比損失函式

在VRD資料集上我們看到帶losses和不帶losses的差別相比VG明顯了很多,這是因為VRD的標註相對較完整,整體標註質量也相對較好。

將門好聲音 | NVIDIA提出一種面向場景圖解析任務的圖對比損失函式

作者有話說...

最後是我在這個領域做了兩年多之後的一些關於

視覺關係識別場景圖構建的經驗和思考

,和本文無直接關聯,但希望能和大家分享。

1.

前文提到的Language Bias是符合客觀世界分佈的。如果你希望在你的任務中使用場景圖來提取更豐富的資訊,而且你的資料集是從真實世界中無偏差地取樣出來的自然圖片,那麼Language Bias應該是有幫助的,但如果你的資料集有偏差,或者是合成數據集(比如CLEVR),那麼Language Bias可能不起作用,或者會起到反作用。

2.

在實際應用中,一個可能更好的構建場景圖的方式是把所有謂語分成若干大類,然後每個大類分別用一個模型去學,比如可以把謂語分成空間謂語(例如“to the left of, to the right of”),互動謂語(例如“ride,kick, sit on”)和其它謂語(例如“part of”)。

這麼做的原因在於不同型別的謂語表達的語義是非常不同的,它們對應的視覺特徵的分佈也很不同,因此使用獨立的若干模型分別去學習這些語義一般會比用一個模型去學習所有語義要好。

3.

在上述的不同型別的關係當中,空間關係是最難識別的一類,因為相比而言,同一個空間關係所對應的視覺分佈要複雜很多。

比如,“人騎馬”的圖片可能看上去都十分相似,但“人在馬的右邊”的圖片卻有很多種可能的佈局。如果人和馬都是背對鏡頭,那麼人會在整個圖片的右側,而如果人和馬是面對鏡頭,那麼人會在左側,而如果人和馬是側對鏡頭,那麼人在圖片中會在馬的前方或者後方。歸根結底,這種空間分佈的多元性是由於

1)用2D圖片平面去描述3D世界的真實佈局具有侷限性;

2)Language Bias在空間關係中作用相對小很多,因為空間佈局的多樣性相對很廣,在不看圖片的情況下更難“猜”出空間關係是什麼。

總而言之,目前空間關係是關係識別和場景圖構建的短板,我認為後面工作可以在這個子問題上多加關注。

參考文獻:

[1] Zhang, J。, Kalantidis, Y。, Rohrbach, M。, Paluri, M。, Elgammal, A。, & Elhoseiny, M。 (2019)。 Large-Scale Visual Relationship Understanding。

Proceedings of the AAAI Conference on Artificial Intelligence

33

(01), 9185-9194。

[2] Lu, C。, Krishna, R。, Bernstein, M。 and Fei-Fei, L。, 2016, October。 Visual relationship detection with language priors。 In

European Conference on Computer Vision

(pp。 852-869)。 Springer, Cham。

[3] Newell, A。 and Deng, J。, 2017。 Pixels to graphs by associative embedding。 In

Advances in neural information processing systems

(pp。 2171-2180)。

[4] Li, Y。, Ouyang, W。, Wang, X。 and Tang, X。O。, 2017。 Vip-cnn: Visual phrase guided convolutional neural network。 In

Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition

(pp。 1347-1356)。

[5] Dai, B。, Zhang, Y。 and Lin, D。, 2017。 Detecting visual relationships with deep relational networks。 In

Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition

(pp。 3076-3086)。

[6] Yu, R。, Li, A。, Morariu, V。I。 and Davis, L。S。, 2017。 Visual relationship detection with internal and external linguistic knowledge distillation。 In

Proceedings of the IEEE International Conference on Computer Vision

(pp。 1974-1982)。

[7] Zhuang, B。, Liu, L。, Shen, C。 and Reid, I。, 2017。 Towards context-aware interaction recognition for visual relationship detection。 In

Proceedings of the IEEE International Conference on Computer Vision

(pp。 589-598)。

[8] Zellers, R。, Yatskar, M。, Thomson, S。 and Choi, Y。, 2018。 Neural motifs: Scene graph parsing with global context。 In

Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition

(pp。 5831-5840)。

[9] Zhang, J。, Elhoseiny, M。, Cohen, S。, Chang, W。 and Elgammal, A。, 2017。 Relationship proposal networks。 In

Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition

(pp。 5678-5686)。

http://

thejiangmen222。mikecrm。com

/wY67hy2

(二維碼自動識別)

填了這張表,你就是我門的人啦

-The End-

————

戳右上角【+關注】關注我門↗

如果喜歡,點個【▲贊同】分享給你的小夥伴吧~筆芯❤

標簽: 物體  模型  關係  loss  樣本