博客專欄

EEPW首頁 > 博客 > ECCV 2022 Oral|原來Scene Graph Generation也有精神內(nèi)耗

ECCV 2022 Oral|原來Scene Graph Generation也有精神內(nèi)耗

發(fā)布人:計(jì)算機(jī)視覺工坊 時(shí)間:2022-11-19 來源:工程師 發(fā)布文章
作者丨張傲-NUS@知乎(已授權(quán))

來源丨h(huán)ttps://zhuanlan.zhihu.com/p/544493192編輯丨極市平臺(tái)

文章主要介紹我們?cè)贓CCV 2022 Oral (2 accept, 1 weak accept)的論文"Fine-Grained Scene Graph Generation with Data Transfer"。主要內(nèi)容包括對(duì)于Scene Graph現(xiàn)有問題的介紹 (標(biāo)題里的精神內(nèi)耗),我們的方法。最后是關(guān)于場(chǎng)景圖生成(SGG)領(lǐng)域的一些感受。

圖片

論文:https://arxiv.org/abs/2203.11654

代碼:https://github.com/waxnkw/IETrans-SGG.pytorch

1. Scene Graph Generation介紹

Scene Graph Generation (SGG)旨在檢測(cè)圖像中的(主, 謂, 賓)三元組。如下圖:

圖片場(chǎng)景圖生成任務(wù)介紹2. 問題

從效果來看,現(xiàn)有的SGG模型生成的場(chǎng)景圖僅僅能在少數(shù)幾個(gè)頭部做出正確預(yù)測(cè)。以最常用的50類謂語分類(Predicate Classification)任務(wù)為例子,一個(gè)正常訓(xùn)練的Neural Motif模型僅僅能在21類上面做出正確預(yù)測(cè)。具體效果:

圖片拉垮的SGG模型

然而,類似于on,under這樣的關(guān)系過于簡(jiǎn)單,很難為下游任務(wù)提供有用的信息。隨便找一個(gè)caption模型都能達(dá)到類似甚至更好的效果。

所以,為什么效果如此拉垮?在本文中中,我們主要討論了兩個(gè)原因。第一個(gè)是老生常談的長(zhǎng)尾分布問題。在此不多加贅述。第二個(gè)則是我們想重點(diǎn)強(qiáng)調(diào)的一個(gè)問題 “標(biāo)注沖突”。標(biāo)注人員為了省力,在很多情況下會(huì)把riding on這樣的細(xì)粒度關(guān)系標(biāo)注為on這樣的粗粒度關(guān)系。也就是說,一大批細(xì)粒度類別都被同時(shí)標(biāo)注為了自己+粗粒度版本。

假設(shè)某個(gè)關(guān)系A(chǔ),有1/2的數(shù)據(jù)被標(biāo)注為了對(duì)應(yīng)的粗粒度類別B。這就意味著,對(duì)于A這個(gè)類別在訓(xùn)練時(shí),會(huì)有一半的時(shí)間認(rèn)為A是對(duì)的,另一半時(shí)間認(rèn)為B是對(duì)的。 這種情況下,即便加了reweighting,rebalancing之類的方法,也無法改變模型在沖突的標(biāo)注上搞優(yōu)化這一事實(shí)。 這也就是我們說的屬于SGG模型的 “精神內(nèi)耗”。

3. 方法圖片方法簡(jiǎn)介

既然所有問題都來源于數(shù)據(jù),我們的方法就是直接修改標(biāo)注數(shù)據(jù)。首先對(duì)于粗粒度和細(xì)粒度的標(biāo)注沖突,我們會(huì)從粗粒度往對(duì)應(yīng)的細(xì)粒度轉(zhuǎn)移數(shù)據(jù)。此外,SGG數(shù)據(jù)集還有一個(gè)特點(diǎn),就是partially labeled。很多無標(biāo)注的物體對(duì),并不是沒有關(guān)系,而是漏標(biāo)了。所以我們不光可以從粗粒度到細(xì)粒度轉(zhuǎn)移數(shù)據(jù),還可以從無標(biāo)注到有標(biāo)注轉(zhuǎn)移數(shù)據(jù)來做尾部數(shù)據(jù)的數(shù)據(jù)增強(qiáng)。

3.1 內(nèi)部轉(zhuǎn)移

我們通過在訓(xùn)練集上inference一個(gè)訓(xùn)練好的模型發(fā)現(xiàn):即便在訓(xùn)練集上,細(xì)粒度的關(guān)系也會(huì)非常容易被對(duì)應(yīng)的粗粒度關(guān)系打敗。比如在下圖中,所有被標(biāo)注為(man, riding, motorcycle)的數(shù)據(jù)預(yù)測(cè)得分最高的并不是riding,而是on。

圖片訓(xùn)練集(man, motorcycle)之間常見關(guān)系得分的混淆矩陣

這恰好給我們提供了一個(gè)切入點(diǎn)。我們會(huì)在訓(xùn)練集上發(fā)現(xiàn)這些易混淆的謂語對(duì),比如riding和on。更嚴(yán)謹(jǐn)一點(diǎn),給定一類關(guān)系三元組(比如,man riding motorcycle),我們會(huì)在訓(xùn)練集上收集所有該類型的數(shù)據(jù),然后用訓(xùn)練過的SGG模型打分。如果某些預(yù)測(cè)關(guān)系比Ground-Truth的標(biāo)注得分還要高,我們則認(rèn)為這些關(guān)系對(duì)于我們的Ground-Truth關(guān)系來說是易混淆的關(guān)系。

圖片內(nèi)部轉(zhuǎn)移方法示意圖

但是,易混淆并不意味著就是粗粒度-細(xì)粒度關(guān)系。所以,我們通過定義了一個(gè)吸引指數(shù)來進(jìn)一步判斷他們是否構(gòu)成一個(gè)合格的粗粒度-細(xì)粒度關(guān)系對(duì)。具體細(xì)節(jié)可以參照論文。最后,我們簡(jiǎn)單粗暴的從粗粒度關(guān)系向細(xì)粒度關(guān)系轉(zhuǎn)移了 kIk_I%k_I% %的數(shù)據(jù)。

3.2 外部轉(zhuǎn)移

外部轉(zhuǎn)移大致上follow了我們之前的Visual Distant Supervision(https://zhuanlan.zhihu.com/p/452391206)的形式。基本的想法是對(duì)未標(biāo)注+bounding box有重疊的object pair用模型重新打分,選取其中最可能有關(guān)系的前 kEk_Ek_E %數(shù)據(jù)轉(zhuǎn)移為有標(biāo)注數(shù)據(jù)。同時(shí)為了更專注于尾部數(shù)據(jù),我們僅僅對(duì)前15類之外的類別做增強(qiáng)。

最后兩部分增強(qiáng)的數(shù)據(jù),我們會(huì)直接組合起來作為一個(gè)增強(qiáng)數(shù)據(jù)集。

4. 新數(shù)據(jù)集

我們總共驗(yàn)證了兩個(gè)benchmark。一個(gè)是最常用的50類關(guān)系的VG數(shù)據(jù)集,為了方便,我們?cè)谡撐闹泻?jiǎn)稱VG-50 (其他論文里也有叫VG-150, VG-200的)。此外,我們還為大規(guī)模的關(guān)系檢測(cè)專門劃分了一個(gè)新的benchmark VG-1800。

更可靠! VG-1800旨在為大規(guī)模關(guān)系檢測(cè)的評(píng)測(cè)服務(wù)。我們手動(dòng)過濾掉了不合理的關(guān)系,比如一些拼寫錯(cuò)誤,名詞,形容詞。此外,通過觀察過之前基于VG的大規(guī)模SGG數(shù)據(jù)集(VG8K,VG8K-LT),我們發(fā)現(xiàn)很多關(guān)系只存在于訓(xùn)練集,測(cè)試集一個(gè)也沒有,或者測(cè)試集僅僅有一個(gè)兩個(gè)??紤]到這一點(diǎn),我們確保了測(cè)試集上每一種關(guān)系至少5個(gè)sample,訓(xùn)練集上每種關(guān)系至少1個(gè)sample。

更豐富!VG1800包含了更加豐富的關(guān)系類別:

(car, pulled by, engine)(car, driving alongside, road)(horse, possesses, leg)
(train, switching, track)(wave, breaking in, wave)(horse, galloping on, beach)
(window, on exterior of, house)(cloud, floating through, sky)(window, at top of, tower )

更有挑戰(zhàn)! 首先,在VG1800中,之前提及的長(zhǎng)尾部分和標(biāo)注問題帶來的優(yōu)化沖突變得更為嚴(yán)重。這也導(dǎo)致現(xiàn)有的resampling和reweighting會(huì)比較難用。如果有小伙伴仔細(xì)看了論文,可能會(huì)發(fā)現(xiàn)我們?cè)赩G50中應(yīng)用了reweighting來做方法增強(qiáng),但在VG1800上面卻沒有采用。這是由于VG1800過于懸殊的頭尾類別數(shù)量導(dǎo)致常規(guī)的reweighting factor難以work。一些常規(guī)的 1/freq1/freq1/freq 或者 1/freq\sqrt{1/freq}\sqrt{1/freq} 會(huì)直接導(dǎo)致模型過于關(guān)注于標(biāo)注稀疏且高噪音的尾部類別,從而使得模型的識(shí)別能力大幅度下降,嚴(yán)重情況下甚至不收斂。但如果猛調(diào)reweighting factor的temperature可能又會(huì)造成低效。

5. 實(shí)驗(yàn)

在VG-50上,我們驗(yàn)證了方法的通用性+有效性。

圖片VG-50模型performance

可以看出我們的方法可以比較有效的提升mR指標(biāo)。

在VG-1800上面,我們進(jìn)一步驗(yàn)證了我們方法的效果。

圖片VG1800模型performance

當(dāng)別人只能做出37個(gè)正確預(yù)測(cè)的時(shí)候,我們可以做出467個(gè)正確預(yù)測(cè)。

具體到實(shí)際效果,我們的模型可以說出更多樣的關(guān)系類型:

圖片原始Motif和我們的IETrans增強(qiáng)版模型在VG1800 PREDCLS任務(wù)上的對(duì)比6. 展望未來

現(xiàn)在來到了胡扯環(huán)節(jié)。。。

展望一下未來,簡(jiǎn)單討論一下我自己覺得比較有意思的一些未來方向。

場(chǎng)景圖生成這個(gè)任務(wù)作為一個(gè)檢測(cè)任務(wù),我覺得可以搞的地方無非就是兩點(diǎn):定位+分類。我下面會(huì)從方法層面和任務(wù)層面重點(diǎn)討論一下分類方面。

6.1 方法層面

我覺得數(shù)據(jù)為中心的方法創(chuàng)新是一個(gè)非常有前景的方向。我們這里以SGG中存在的標(biāo)注問題為例子。首先,我們可以把這些標(biāo)注問題劃分為兩類:一類是partially label,另一類是noisy label其中partially label指的是標(biāo)簽標(biāo)注不全。 比如我們提到的標(biāo)注沖突,其實(shí)就是指在SGG這個(gè)多標(biāo)簽分類任務(wù)中只標(biāo)注了部分單標(biāo)簽。內(nèi)部轉(zhuǎn)移也就是為粗粒度標(biāo)簽標(biāo)注部分?jǐn)U展出漏標(biāo)的細(xì)粒度標(biāo)簽,然后使用更重要的細(xì)粒度標(biāo)簽做監(jiān)督。而我們的外部轉(zhuǎn)移則是嘗試?yán)肗A數(shù)據(jù)中漏標(biāo)的部分。Noisy label則主要指標(biāo)注錯(cuò)誤。 對(duì)于VG這樣一個(gè)巨大的數(shù)據(jù)集,其中其實(shí)包含了大量的標(biāo)注噪音。比如錯(cuò)誤的關(guān)系標(biāo)注;很多物體被重復(fù)標(biāo)注了多個(gè)bounding box。

數(shù)據(jù)上的特點(diǎn)(充足+標(biāo)注問題+長(zhǎng)尾)+評(píng)價(jià)指標(biāo)(重視mR)選取其實(shí)也為我們做research帶來了一點(diǎn)好處:那就是SGG任務(wù)難以被預(yù)訓(xùn)練模型直接刷爆。我相信很多做VL多模態(tài)的同學(xué)都會(huì)發(fā)現(xiàn),當(dāng)各種大模型(e.g. BEIT v3)橫空出世之后,似乎VL相關(guān)的榜單(e.g. VQA)已經(jīng)沒有非預(yù)訓(xùn)練模型的位置了。但是對(duì)于視覺關(guān)系檢測(cè)來說,預(yù)訓(xùn)練模型(我們?cè)囘^finetune VinVL)確實(shí)可以帶來一定的增益,比如PREDCLS上mR@100從17、18->20。但顯然20這個(gè)performance,還不如加一個(gè)reweighting來緩解長(zhǎng)尾分布管用。

其次,數(shù)據(jù)層面的方法創(chuàng)新和之前方法一定程度上是正交的。數(shù)據(jù)層面的方法創(chuàng)新不光可以輔助不同模型,還可以進(jìn)一步裝備分布調(diào)整的方法,比如reweighting。這極大程度的避免了,別人出了新模型,我就不是SOTA的尷尬狀況。此外,這個(gè)方向剛剛還比較稚嫩,會(huì)比較容易做出改進(jìn)。比如,我們的內(nèi)部轉(zhuǎn)移就是非常粗暴的對(duì)所有類別定了一個(gè)百分比來做轉(zhuǎn)移,看起來毫無技術(shù)含量。。。

最后,這些數(shù)據(jù)層面的方法創(chuàng)新是可以擴(kuò)展到其他VL領(lǐng)域的。 就近來說,我們可以探索其他大規(guī)模檢測(cè)任務(wù)中的partially label+noisy label問題,比如LVIS數(shù)據(jù)集的大規(guī)模Instance Segmentation。往遠(yuǎn)了說,VQA當(dāng)中一樣存在著嚴(yán)重的partially label問題。當(dāng)我們問大海里有多少水。顯然a lot of,lots of,much都是表達(dá)一樣的意思,但我們往往只能標(biāo)注出一小部分。插一個(gè)現(xiàn)象,這種高度partially labeled數(shù)據(jù),我們甚至難以過擬合(VG訓(xùn)練終止時(shí)train set準(zhǔn)確率<75%)。再遠(yuǎn)一點(diǎn),我們考可以慮VL預(yù)訓(xùn)練。一個(gè)很好的例子就是BLIP,BLIP通過進(jìn)一步清潔數(shù)據(jù)取得了很好的效果。

6.2 任務(wù)層面

我認(rèn)為一個(gè)好的任務(wù)起碼需要具備兩個(gè)特點(diǎn),一個(gè)是有用,一個(gè)是能提供豐富的工作崗位

首先從有用角度來講, 我覺得現(xiàn)有SGG在兩點(diǎn)上有比較大的欠缺,一個(gè)是精準(zhǔn),一個(gè)是細(xì)粒度。精準(zhǔn)指的是精準(zhǔn)的定位+正確的分類。以精準(zhǔn)的定位為例子,我覺得最近的Panoptic Scene Graph Generation就是一個(gè)很好的擴(kuò)展。這里我們不多加贅述。

我們主要想分析一下細(xì)粒度。其實(shí)圖像中顯著物體粗粒度的物體+關(guān)系,用預(yù)訓(xùn)練模型已經(jīng)可以做的相當(dāng)好了。我們只要搞個(gè)模型生成一下caption很大程度上就足夠cover了。那為什么我們還要繼續(xù)做SGG呢?我認(rèn)為,SGG必須要做到預(yù)訓(xùn)練模型做不到的東西,而超級(jí)細(xì)粒度的分類就是一個(gè)選項(xiàng)。我們要讓SGG模型去說出預(yù)訓(xùn)練模型說不出的詞匯。當(dāng)預(yù)訓(xùn)練模型只能說"cloud in the sky","toy on the table",我們可以說出(cloud, floating through, sky),(teddy bear, sitting on, dining table)。我還要讓SGG模型去檢測(cè)被預(yù)訓(xùn)練模型忽視的關(guān)系(非顯著區(qū)域) 。比如,當(dāng)我們面對(duì)下圖提問問兔子手里拿的是什么時(shí)?預(yù)訓(xùn)練模型(OFA-base)會(huì)傾向于回答梳子,但如果我們可以檢測(cè)到(兔子,拿著,籃子)這樣的關(guān)系,就可以很大程度避免預(yù)訓(xùn)練模型犯錯(cuò)誤。所以我們本文當(dāng)中非常認(rèn)真的搞了一個(gè)大規(guī)模SGG的VG-1800 benchmark。

圖片VQA圖片例子

其次,我認(rèn)為大規(guī)模的細(xì)粒度的SGG可以提供很多工作崗位,也就是有很多東西可以(平民化的)做。最簡(jiǎn)單的,可以參考6.1中提及的數(shù)據(jù)問題,去搞一些數(shù)據(jù)為中心的方法創(chuàng)新。此外,按照我們6.1中分析的,大規(guī)模細(xì)粒度SGG難以被預(yù)訓(xùn)練模型直接替代,但這恰好提供給我們?nèi)プ龆ㄖ苹痑daption的機(jī)會(huì)。VG-1800當(dāng)中有大量的關(guān)系只有個(gè)位數(shù)級(jí)別的標(biāo)注數(shù)據(jù),無論數(shù)據(jù)如何増廣都難以達(dá)到很好的效果。于是,借助預(yù)訓(xùn)練模型去做一些prompt之類的方法就成了一個(gè)比較有有意思的搞法。

本文僅做學(xué)術(shù)分享,如有侵權(quán),請(qǐng)聯(lián)系刪文。


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉