(該分享持續(xù)更新中...)
這篇論文主要有三個貢獻(xiàn)點(diǎn):
- 作者提出了一個新型的SSG模型Graph R-CNN(看這名字應(yīng)該結(jié)合了圖神經(jīng)網(wǎng)絡(luò))鞋屈。
- 他們的模型包含了Relation Proposal Network (RePN) 矾利,用來做關(guān)系過濾剧辐。
- 此外作者還提出了一個attentional GCN能夠有效地捕獲物體和關(guān)系的上下文信息。
結(jié)合了以上三點(diǎn)踩窖,該模型達(dá)到了state-of-the-art
1. Introduction
目前呐萨,物體檢測、語義分割等技術(shù)都是集中在如何在圖片上檢測出物體系吭,但是忽略了物體與物體之間的關(guān)系。一項(xiàng)最近的工作提出了用圖(場景圖)來代表一個場景颗品。場景圖是圖像的可解釋的結(jié)構(gòu)化表示肯尺,可以支持更高級別的視覺智能任務(wù),如captioning躯枢。
將每一對節(jié)點(diǎn)(對象)視為潛在的邊(關(guān)系)的自然方法本質(zhì)上是對全連通圖的推理则吟,這種方法在建模上下文關(guān)系時通常是有效的,但對對象數(shù)量的縮放效果很差(二次)锄蹂,很快就變得不切實(shí)際氓仲。嘴樸素的修正方法是采用隨機(jī)采樣,雖然它是efficient得糜,但不是effective敬扛,因?yàn)閷ο笾g的相互作用的分布遠(yuǎn)遠(yuǎn)不是隨機(jī)的。
作者的解決辦法:
圖1.給一張圖片朝抖,模型從圖片中抽取出objects(a), 所有節(jié)點(diǎn)考慮可能存在的邊(b)啥箭,通過一個醫(yī)學(xué)系的方法‘relatedness’裁去不可能發(fā)關(guān)系,從而產(chǎn)生更稀疏的候選圖結(jié)構(gòu)(c)治宣。最后急侥,利用aGCN去集成全局信息并且更新物體節(jié)點(diǎn)和關(guān)系的標(biāo)簽(d)
1.1 Graph R-CNN
在這項(xiàng)工作中,我們提出了一個新的框架炼七,Graph R-CNN缆巧,它通過兩種機(jī)制有效地利用對象關(guān)系規(guī)則來智能地稀疏化和推理候選場景圖。我們的模型可以分解為三個邏輯階段:1)對象節(jié)點(diǎn)提取豌拙,2)關(guān)系邊緣剪枝,3)圖上下文集成题暖,如圖1所示按傅。
在對象節(jié)點(diǎn)提取階段,我們使用了一個標(biāo)準(zhǔn)的對象檢測的pipeline(faster rcnn)胧卤。這就產(chǎn)生了一組localized object regions唯绍,如圖1b所示。我們將在剩下的pipeline中引入兩個重要的新特性枝誊,以合并上面討論的對象關(guān)系中的真實(shí)世界的規(guī)則性况芒。首先,我們介紹了一個關(guān)系建議網(wǎng)絡(luò)(RePN)叶撒,該網(wǎng)絡(luò)能夠有效地計算對象對之間的關(guān)聯(lián)分?jǐn)?shù)绝骚,這些分?jǐn)?shù)被用來智能地修剪不太可能的場景圖連接(與之前工作中的隨機(jī)修剪不同)耐版,剪枝后的稀疏圖如圖1c所示。其次压汪,給出了稀疏連接的候選場景圖粪牲,我們應(yīng)用了一個注意圖卷積網(wǎng)絡(luò)(aGCN)來在整個圖中傳播higher-order上下文——更新每個對象及其基于其鄰居的關(guān)系表示。與現(xiàn)有的工作相比止剖,我們預(yù)測每個節(jié)點(diǎn)的邊attention腺阳,使我們的方法能夠?qū)W習(xí)調(diào)節(jié)不可靠或不太可能的邊緣之間的信息流。我們在圖1d中顯示了細(xì)化的圖形標(biāo)簽和邊緣attention(與邊緣寬度成比例)穿香。
1.2 Evaluating Scene Graph Generation
現(xiàn)有對于場景圖生成的指標(biāo)是基于召回?主題亭引、謂詞、對象?三元組或給定ground truth的object localizations的對象和謂詞皮获。為了揭示這些度量標(biāo)準(zhǔn)存在的問題痛侍,考慮一個方法,該方法將圖1a中的boy誤認(rèn)為是man魔市,但在其他方面識別出他是1)站在消防栓后面主届,2)靠近一輛汽車梆造,3)穿著一件毛衣评架。在基于三元組的度量標(biāo)準(zhǔn)下,這個小錯誤(boy vs man)將被嚴(yán)重懲罰活合,盡管大多數(shù)boy的關(guān)系被正確識別将宪。盡管提供ground-truth區(qū)域的度量方法通過嚴(yán)格關(guān)注關(guān)系預(yù)測來回避這個問題绘闷,但是它不能準(zhǔn)確地反映整個場景圖生成系統(tǒng)的測試時性能。
為了解決這種不匹配较坛,我們引入了一種新的評估度量(SGGen+)印蔗,它更全面地評估場景圖生成的性能,包括對象丑勤、屬性(如果有的話)和關(guān)系华嘹。我們提出了度量SGGen +計算總的recall對于獨(dú)立實(shí)體(對象和謂詞),pair 實(shí)體?對象,屬性?(如果有的話),和三元組實(shí)體?主題、謂詞法竞、對象?耙厚。我們在這個新的度量下報告現(xiàn)有方法的結(jié)果,發(fā)現(xiàn)我們的方法也顯著地優(yōu)于最先進(jìn)的方法岔霸。更重要的是薛躬,這個新的度量為生成的場景圖和真實(shí)場景圖之間的相似性提供了一個更魯棒、更全面的度量呆细。
1.3 Summary of Contributions
具體來說型宝,本工作通過引入一種新的模型(graph R-CNN)來解決場景圖生成問題,該模型可以利用對象關(guān)系的規(guī)律性,并提出了一種更全面的場景圖生成評價指標(biāo)(SGGen+)趴酣。我們將我們的模型與現(xiàn)有的標(biāo)準(zhǔn)度量方法進(jìn)行基準(zhǔn)測試梨树,而這個新度量方法的性能優(yōu)于現(xiàn)有方法。
Related Work
2.1 Contextual Reasoning and Scene Graphs
利用上下文來提高場景理解的想法在計算機(jī)視覺中有著悠久的歷史[16,27,28,30]价卤。最近劝萤,Johnson等人受到圖形界研究的表示方法的啟發(fā),提出了從圖像中提取場景圖的問題慎璧,這將對象檢測的任務(wù)[6,7,22,31,32]概括為也檢測對象的關(guān)系和屬性床嫌。
2.2 Scene Graph Generation
已經(jīng)提出了許多方法來檢測對象及其關(guān)系。盡管這些工作中的大多數(shù)指出胸私,對場景圖中二次關(guān)系的推理是棘手的厌处,但每個都采用了啟發(fā)式方法,如隨機(jī)抽樣來解決這個問題岁疼。我們的工作是第一個引入一個可訓(xùn)練的關(guān)系建議網(wǎng)絡(luò)(RePN)瑰排,它學(xué)會了在不犧牲efficacy的情況下從圖中刪除不可能的關(guān)系邊緣字逗。RePN提供了高質(zhì)量的候選關(guān)系俭厚,我們發(fā)現(xiàn)它提高了場景圖生成的整體性能套腹。
大多數(shù)場景圖生成方法還包括上下文傳播和對候選場景圖進(jìn)行推理的機(jī)制笤休,以細(xì)化最終的標(biāo)記沮明。在[40]中江场,Xu等人將問題分解為兩個子圖佑附,一個用于對象词爬,另一個用于關(guān)系,并執(zhí)行消息傳遞蛇尚。類似地炮捧,在[17]中殊校,作者提出了兩種消息傳遞策略(并行順序),用于在對象和關(guān)系之間傳播信息榨惰。Dai等人將場景圖生成過程建模為條件隨機(jī)場(CRF)的推理。Newell等人提出直接從圖像像素中生成場景圖语泽,而不需要使用基于關(guān)聯(lián)圖嵌入的對象檢測器贸典。在我們的工作中,我們開發(fā)了一種新的注意圖卷積網(wǎng)絡(luò)(aGCN)來更新節(jié)點(diǎn)和關(guān)系表示踱卵,通過在候選場景圖的節(jié)點(diǎn)之間傳播上下文來操作視覺和語義特征廊驼。雖然在功能上類似于上述基于消息傳遞的方法,但aGCN是高效的惋砂,可以學(xué)習(xí)將注意力放在可靠的邊緣妒挎,并減弱不太可能的影響。
以往的許多方法都注意到在場景圖生成過程中具有很強(qiáng)的規(guī)律性西饵,從而激發(fā)了我們的方法酝掩。在[23]中,Lu等人整合了語言中的語義先驗(yàn)眷柔,以改進(jìn)對對象之間有意義關(guān)系的檢測庸队。同樣积蜻,Li等人[18]證明了region caption也可以為場景圖生成提供有用的上下文闯割。與我們的動機(jī)最相關(guān)的是彻消,Zeller等人將motifs的概念(即經(jīng)常出現(xiàn)的圖結(jié)構(gòu))形式化。并在VG數(shù)據(jù)集[14]中檢測它們的出現(xiàn)的概率宙拉。作者還提出了一個令人驚訝的強(qiáng)基線宾尚,它直接使用頻率先驗(yàn)來明確地綜合圖結(jié)構(gòu)中的規(guī)律來預(yù)測關(guān)系。
2.3 Relationship Proposals
我們的關(guān)系建議網(wǎng)絡(luò)(Relationship Proposal Network, RePN)受到了RPN的啟發(fā)谢澈,與用于對象檢測的faster R-CNN[32]的區(qū)域建議網(wǎng)絡(luò)(region Proposal Network, RPN)緊密相關(guān)煌贴。我們的RePN在本質(zhì)上也類似于最近提出的關(guān)系建議網(wǎng)絡(luò)(Rel-PN)[45]。這些方法之間有許多細(xì)微的差別锥忿。Rel-PN模型獨(dú)立地預(yù)測主題牛郑、對象和謂詞的建議,然后重新對所有有效的三元組進(jìn)行評分敬鬓,而我們的RePN根據(jù)對象生成關(guān)系淹朋,允許它學(xué)習(xí)對象對關(guān)系的偏差。此外钉答,他們的方法是類無關(guān)的础芍,并沒有用于場景圖生成。
Graph Convolutional Networks (GCNs)
GCNs最初是在[13]的半監(jiān)督學(xué)習(xí)環(huán)境中提出的数尿。GCNs將圖數(shù)據(jù)上的復(fù)雜計算分解為一系列局部化操作(通常只涉及相鄰節(jié)點(diǎn))仑性,用于每個節(jié)點(diǎn)的每個時間步。在計算之前右蹦,結(jié)構(gòu)和邊緣強(qiáng)度通常是固定的诊杆。為了完整起見,我們注意到即將出版的出版物[36]同時獨(dú)立地開發(fā)了一個類似的GCN注意機(jī)制(如aGCN)何陆,并在其他(非計算機(jī)視覺)上下文中顯示了它的有效性晨汹。
3. Approach
在這項(xiàng)工作中,我們將場景圖建模為包含圖像區(qū)域甲献、關(guān)系及其標(biāo)簽的圖宰缤。代表image,代表nodes集合(一個node對應(yīng)一個localized object region)晃洒,代表物體間的關(guān)系慨灭,分別代表object和relationship的labels。因此球及,我們的目標(biāo)是為建模氧骤,在我們的工作中,我們把場景圖的生成分解為三部分:
將圖的構(gòu)造(節(jié)點(diǎn)和邊)與圖的標(biāo)注分離開來吃引。這個因式分解背后的直覺很簡單筹陵。首先刽锤,object region proposal通常使用現(xiàn)成的對象檢測系統(tǒng)(如faster rcnn[32])進(jìn)行建模,以生成候選區(qū)域朦佩。值得注意的是并思,現(xiàn)有的方法通常將第二個關(guān)系建議項(xiàng)建模為頂點(diǎn)之間潛在邊的均勻隨機(jī)抽樣。相反语稠,我們提出了一個關(guān)系建議網(wǎng)絡(luò)(RePN)來直接建模——使我們的方法成為第一個允許學(xué)習(xí)整個生成過程端到端宋彼。最后,圖標(biāo)記過程通常被視為迭代求精過程仙畦。模型的pipeline如圖2所示:
圖2. 對于給定的圖像输涕,我們的模型首先使用RPN提出對象區(qū)域,然后通過關(guān)系建議網(wǎng)絡(luò)(relationship proposal network, RePN)刪除對象區(qū)域之間的連接慨畸。然后使用aGCN來整合圖中相鄰節(jié)點(diǎn)的上下文信息莱坎。最后得到右側(cè)的場景圖。
3.1 Object Proposals
每一個object proposal 都與一個空間區(qū)域, 一個合并的特征向量, 一個初始化估計標(biāo)簽分布 over 相關(guān)聯(lián)寸士。我們將對于所有n個proposals的向量集合表示為矩陣以及
3.2 Relation Proposal Network
給定上一步提出的n個對象節(jié)點(diǎn)檐什,它們之間可能有個連接;然而,正如前面所討論的碉京,由于真實(shí)對象交互中的規(guī)則性厢汹,大多數(shù)對象對不太可能有關(guān)系。為了對這些規(guī)律進(jìn)行建模谐宙,我們引入了一個關(guān)系建議網(wǎng)絡(luò)(RePN)烫葬,該網(wǎng)絡(luò)能夠有效地估計對象對之間的關(guān)聯(lián)性。通過對不太可能關(guān)系的邊緣進(jìn)行剪枝凡蜻,可以有效地稀疏化候選場景圖搭综,保留可能的邊緣,抑制不太可能的邊緣帶來的噪聲划栓。
在這篇論文中兑巾,我們利用估計的類別分布()來推斷關(guān)聯(lián)性——本質(zhì)上是學(xué)習(xí)軟類別關(guān)系的先驗(yàn)。這種選擇與我們的直覺一致忠荞,即與其他類相比蒋歌,某些類相對不太可能交互。具體,給定初始對象分類分布,我們給所有的有向?qū)?img class="math-inline" src="https://math.jianshu.com/math?formula=%5Cleft%5C%7B%5Cboldsymbol%7Bp%7D_%7Bi%7D%5E%7Bo%7D%2C%20%5Cboldsymbol%7Bp%7D_%7Bj%7D%5E%7Bo%7D%20%7C%20i%20%5Cneq%20j%5Cright%5C%7D" alt="\left\{\boldsymbol{p}_{i}^{o}, \boldsymbol{p}_{j}^{o} | i \neq j\right\}" mathimg="1">評分, 計算時的相關(guān)性委煤,其中是一個習(xí)得的相關(guān)性對函數(shù)。的一個直接實(shí)現(xiàn)可以將連接[p^o_i, p^o_j]作為輸入傳遞給一個多層感知器府框,該感知器輸出分?jǐn)?shù)。然而讥邻,考慮到對象對的平方數(shù)迫靖,這種方法將消耗大量的內(nèi)存和計算院峡。為了避免這種情況,我們考慮一個非對稱的內(nèi)核函數(shù):
分別代表在關(guān)系中主語和賓語對映射函數(shù)系宜。這個分解使得照激,僅使用的兩個投影過程,然后執(zhí)行一次矩陣乘法就能獲得分?jǐn)?shù)矩陣蜈首。對于和实抡,我們使用兩個多層感知器(mlp)與相同的架構(gòu)(但不同的參數(shù))。我們還對分?jǐn)?shù)矩陣S進(jìn)行了sigmoid操作欢策,使得每一個元素都為0~1之間。
在獲得分?jǐn)?shù)矩陣后赏淌,我們將其降序排序踩寇,然后選擇前K對。然后六水,我們使用非最大抑制(NMS)來過濾出與其他對象有明顯重疊的對象對俺孙。每個關(guān)系都有一對邊界框,組合順序很重要掷贾。我們計算兩個對象對 and 之間對重疊:
計算兩個box交集的區(qū)域睛榄,計算并集區(qū)域。剩余的m個對象對被認(rèn)為是具有意義關(guān)系E的候選對象想帅。利用E场靴,我們得到了一個圖,它比原來的全連通圖稀疏得多港准。隨著圖的邊的提出旨剥,我們還通過從每個對象對的聯(lián)合框中提取特征,得到所有m個關(guān)系的可視化表示浅缸。
3.3 Attentional GCN
為了整合由圖結(jié)構(gòu)提供的上下文信息轨帜,我們提出了一個注意圖卷積網(wǎng)絡(luò)(aGCN)。在描述我們提出的aGCN之前衩椒,讓我們簡要回顧一下“普通的”GCN蚌父,其中每個節(jié)點(diǎn)都有一個表示如在[13]中提出的那樣。簡單,目標(biāo)節(jié)點(diǎn)圖中,相鄰節(jié)點(diǎn)的表示首先通過學(xué)習(xí)改變線性變換矩陣 .然后,這些轉(zhuǎn)換表示與預(yù)先確定的權(quán)值α聚集,緊隨其后的是一個非線性函數(shù)σ(ReLU [25])毛萌。這種分層傳播可以寫成:
或者我們可以把節(jié)點(diǎn)整合進(jìn)一個矩陣中苟弛,就可以得到:
與i不相鄰的節(jié)點(diǎn)設(shè)定為0,并且設(shè)定αii為1朝聋。在傳統(tǒng)的GCN中,圖中的連接是已知并且系數(shù)向量αi是基于對稱規(guī)范化鄰接矩陣的特性預(yù)設(shè)的嗡午。
在這篇論文中,我們將傳統(tǒng)的GCN拓展了attention版本冀痕,通過調(diào)節(jié)α荔睹。為了能夠從節(jié)點(diǎn)features預(yù)測attention狸演,我們通過一個拼接的節(jié)點(diǎn)feature學(xué)習(xí)了一個兩層的MLP,并且對得到的分?jǐn)?shù)進(jìn)行一次softmax僻他。對于節(jié)點(diǎn)i的attention是:
and 是習(xí)得參數(shù)宵距,[·, ·] 是拼接操作。通過定義吨拗,我們設(shè)定 and 满哪。由于注意力機(jī)制是節(jié)點(diǎn)特征的函數(shù),每次迭代都會導(dǎo)致注意力的改變劝篷,從而影響后續(xù)的迭代哨鸭。
3.2.1 aGCN for Scene Graph Generation
回想一下,在前面的小節(jié)中娇妓,我們有一組N個對象區(qū)域和m個關(guān)系像鸡。在此基礎(chǔ)上,我們構(gòu)造了一個圖G哈恰,其中節(jié)點(diǎn)對應(yīng)于對象和關(guān)系建議只估。我們在關(guān)系節(jié)點(diǎn)及其關(guān)聯(lián)對象之間插入邊。我們還在所有對象節(jié)點(diǎn)之間直接添加了跳轉(zhuǎn)連接邊着绷。這些連接允許信息直接在對象節(jié)點(diǎn)之間流動蛔钙。最近的研究表明,對目標(biāo)相關(guān)性進(jìn)行推理可以提高檢測的性能荠医。我們將aGCN應(yīng)用于此圖吁脱,基于全局上下文更新對象和關(guān)系表示。
注意到我們的圖捕獲到不同類型到連接(i.e.object ? relationship, relationship ? subject and object ? object)子漩。此外豫喧,每個連接之間的信息流可能是不對稱的(the 信息量 of subject on relationship might be quite different from relationship to subject)。我們學(xué)習(xí)了每種類型和順序的不同轉(zhuǎn)換——將節(jié)點(diǎn)類型a到節(jié)點(diǎn)類型b的線性轉(zhuǎn)換表示為幢泼,其中s=subject紧显、o=objects和r=relationships。Object node的representation的更新公式如下(object features為, relationship features為):
with and similarly for relationship nodes as:
一個開放的選擇是如何初始化object and relationship node represenstions缕棵,它可能被設(shè)置為任何intermediate feature representations孵班,甚至是對應(yīng)類標(biāo)簽的pre-softmax輸出。在實(shí)踐中招驴,我們同時運(yùn)行可視化的和語義化的aGCN計算——一個具有可視化的特性篙程,另一個使用pre-softmax輸出。通過這種方式别厘,我們既可以推斷出較低層的視覺細(xì)節(jié)虱饿,也可以推斷出較高級別的語義共現(xiàn)(即汽車輪子)。進(jìn)一步地,我們把語義aGCN的注意力放在視覺aGCN上——基于視覺線索有效地調(diào)節(jié)語義信息流氮发。這也加強(qiáng)了兩個圖中表示的真實(shí)對象和關(guān)系以相同的方式與其他對象交互渴肉。
3.4 Loss Function
在Graph R-CNN,我們把場景圖生成過程分解成三個子過程:爽冕。在訓(xùn)練階段仇祭,這些子過程都是使用監(jiān)督訓(xùn)練。對于颈畸,我們用RPN相同的損失(binary cross entropy loss on proposals乌奇,regression loss for anchors)。對于眯娱,我們使用另一個binary cross entropy loss on the relation proposals礁苗。對于最后的場景圖生成,兩個muti-class cross entropy losses是被用于object classification and predicate classification困乒。
4. Evaluating Scene Graph Generation
場景圖生成是一個結(jié)構(gòu)化的圖上預(yù)測問題寂屏,如何正確、有效地對預(yù)測進(jìn)行評價是當(dāng)前場景圖生成研究中尚未解決的問題娜搂。我們注意到圖論[5]對基于最小圖編輯距離的圖相似度進(jìn)行了深入的研究;然而,計算準(zhǔn)確的解決方案是np完全和ap近似的APX-hard[20]吱抚。
以前的工作通過在[40]中引入一個簡單的基于三元組回歸的度量來評估場景圖的生成百宇,從而繞過了這些問題。根據(jù)這個指標(biāo),我們將稱之為SGGen, the ground truth of 場景圖表示為一組<object, relationship, subject>通過精確匹配計算秘豹。也就是說携御,在生成的場景圖中,如果三個元素都被正確地標(biāo)記既绕,并且object和subject nodes都被正確地定位(例如啄刹,邊界框IoU > 0.5)。雖然計算簡單凄贩,但這種度量導(dǎo)致了一些不直觀的相似度概念誓军,如圖3所示。
SGGen+的計算公式:
是一個計數(shù)操作疲扎,是正確被定位和識別的物體節(jié)點(diǎn)數(shù)昵时;是正確謂詞的數(shù)目。由于謂詞的定位取決于subject和object的正確定位椒丧,所以只有在主語和賓語都正確定位并且正確識別謂詞的情況下壹甥,我們才會將其算作一個。是針對三元組的壶熏,和SGGen一樣句柠。N是ground真值圖中的條目數(shù)(對象、謂詞和關(guān)系的總數(shù))。