天天看點

論文筆記:Semantic Relation Reasoning for Shot-Stable Few-Shot Object Detection

大四的師弟師妹們都要進實驗室了~ 回想這一年過的好快,隻是從一個小小白變成了 一個小白~

導師似乎也沒有時間具體指導,反正抓緊時間吧~~争取年底做出來~

一會去見可愛的女朋友

Semantic Relation Reasoning for Shot-Stable Few-Shot Object Detection

基于語義關系推理的fsod

雖然few shot的資料量很少,但是基類和novel類之間的語義關系應該是恒定的。在這篇工作中,調查了在使用視覺資訊的同時使用語義關系,并且将顯式的關系推理引入到fsod中。

具體來說,從大量的文本預料庫中學習每個類的語義概念。讓檢測器把圖像的表示投影到特征空間中。此外,還提出使用啟發式的關系圖來解決原始embedding的問題,并提出用動态關系圖來增強embedding。

srr-fsd的實驗結果對shot的數量具有魯棒性。非sota,有競争力的結果

提出從分類資料集中移除預訓練的implicit shot的新評估标準,更實用

1.intro

fsod的性能對explicit shot和implicit shot的數量非常敏感

explicit shots: novel 類中的有标簽對象數量(應該就是通常了解的shot數)

implicit shots: 根據下圖了解為是否使用了imagenet預訓練的backbone

論文筆記:Semantic Relation Reasoning for Shot-Stable Few-Shot Object Detection

如上圖所示,性能對x軸的shot數量非常敏感。實線表示 其中的backbone是在imagenet上預訓練的。虛線表示訓練backbone時,去掉了imagenet中novel類出現過的類。可見論文方法對explicit shots(x軸)和implicit shots都更為穩定。

關于implicit shots:用大型圖像分類資料集上預訓練的模型來初始化是一個非常常用的做法,然而,分類資料集中隐含的包含了很多novel 類中的圖檔,是以檢測器實際上已經在backbone中包含并編碼了novel類的知識。如上圖所示,移除imagenet中預訓練了的類确實會對性能有一定負面影響,是以當面對真實世界的極端情況時候,可能導緻失敗。

作者認為之是以對shot敏感,是因為沒有考慮視覺資訊之間的依賴關系。novel對象僅僅是獨立的通過圖像學習。但是,,不論novel類的shot有多少,基類和novel類之間的語義關系,都是永遠存在滴!如下圖所示,如果我們有着:摩托和自行車很像的先驗、人和車有互動的先驗等…就很容易學習一些概念。而當資料不足時,這些語義關系就顯得尤為重要。

論文筆記:Semantic Relation Reasoning for Shot-Stable Few-Shot Object Detection

是以如何利用few shot的語義關系呢。在nlp中,語義概念通過0shot的方式,從語言模型中獲得word embedding。而且用知識圖表示明确的關系。但是,直接在fsod中應用這些,會導緻cv和nlp之間的domain gap,以及fsod資料集中的啟發式定義。

本工作中,提出了結合語義關系的fsod:srr-fsd,它以端到端的方式同時學習視覺資訊和語義關系。具體來說,建立了一個使用了word embedding的語義空間。在類别的word embedding的指引下,檢測器學着把對象從視覺空間投影到語義空間,同時讓他們的圖像表示和相應的class embedding對齊。

為了解決上述問題,提出由圖像驅動的動态關系圖(而不是啟發式的定義)。然後學習到的圖将被用來執行執行關系推理并增強原始embedding,進而減少domain gap。

借助語義關系推理,我們的srr-fsd展示了shot的穩定性。在更現實的setting(虛線)中,srr-fsd仍然穩定的保持了性能,而其他方法則都有降低。作者希望這個setting作為未來的新benchmark。

總結的貢獻如下:

  1. 是第一個在fsod任務上利用了語義關系推理
  2. srr-fsd在shot波動時,仍有着穩定的性能。在一些setting下超過了sota
  3. 建議大家以後都不要在fsod中使用包含novel的imagenet預訓練。

2. relate

3. 方法

典型的fsod檢測器有兩個階段:階段1用基類進行傳統的訓練,階段2用基類和novel類共同微調,同時為避免基類占據統治地位,在基類中采樣了一個很小的子集以使每個類别的數量相同。

随着階段2的類别總數增加,給檢測器中加入了更多class-specific的參數(不過最近好多方法試圖放棄class-specific?),由他們負責檢測novel。這些特定類别的參數通常加在網絡末端的分類和回歸分支中(上圖中好像隻加在了分類分支?)。

3.2 語義空間投影

本文的fsod建立在faster rcnn的基礎上。在分類分支中,特征向量通過全連接配接層轉化為d維向量

v

。然後将

v

乘以一個可學習的權重矩陣W (Nxd)。進而輸出一個機率分布。

論文筆記:Semantic Relation Reasoning for Shot-Stable Few-Shot Object Detection

其中N當然是類别數,b(一個長度為N的向量)是可學習的bias vector,交叉熵監督。為了同時從視覺資訊和語義關系中學習對象,首先構造一個語義空間,并将上面的視覺向量

v

投影到該語義空間中。

論文筆記:Semantic Relation Reasoning for Shot-Stable Few-Shot Object Detection

具體的,用de維的word embeddings的集合W (Nxde)表示語義空間,然後訓練一個檢測器來學習分類分支的線性投影矩陣P (d x de),投影的目的是讓視覺資訊v和詞向量對齊。

于是預測的機率分布p,從上面那個公式變為:

論文筆記:Semantic Relation Reasoning for Shot-Stable Few-Shot Object Detection

在訓練中,We是固定的,可學習的變量是P。這樣做的好處是,泛化到novel類的對象不包含P中的新參數。可以用novel的embedding簡單的擴充W,我們仍然保留b來對檢測資料集中的類别不平衡模組化(沒懂)。

vision和language之間的domain gap

We從自然語言中對語義概念的知識進行編碼。zero shot沒有support,隻能依靠embedding之類的,而這裡便可以同時依賴image和embedding來學習novel的概念。而這些embedding可以在support很少的時候指引檢測器向一個合适的方向收斂。

但如果support增多,來自embedding的知識也可能會造成誤導(由于domain gap)使結果變差。是以,需要對語義資訊進行增強來減少gap,之前有個工作對每個詞向量獨立的訓練一個轉換,但本文利用的類間顯式關系對于增強語義更有效果,也就是3.3節提出的動态關系圖。

3.3 關系推理

語義空間投影學習将視覺空間和語義概念進行對齊,但它仍然獨立的對待每個類,沒有進行類别之間關系的傳播(即圖2提的問題)。

是以,文中進一步引入關系圖來對他們之間的關系進行模組化。知識圖G是一個N x N 的鄰接矩陣,表示每個相鄰鄰接對之間的關系強度。G通過圖卷積操作進行分類,數學上更新的機率預測為:(就是再左乘一個)

論文筆記:Semantic Relation Reasoning for Shot-Stable Few-Shot Object Detection

知識圖的啟發式定義

在0 shot或者few shot的識别算法中,知識圖G被定義為一個基于啟發式的。它通常由常識知識的資料庫構成,方法是通過路徑對子圖進行采樣,以使得語義相關的類有着更強的聯系。例如,imagenet資料集中的類具有從WordNet中采樣的知識圖(?),然而,fsod的資料集中的類别并沒有很高的語義相關,也沒有像imagenet具有嚴格的層次結構。我們發現唯一可用的啟發式是基于一篇圖卷積方法中提到的object co-occurrence方法。盡管共現的統計資料很容易計算出來,但它并不等價于語義關系。

和基于啟發式的圖,本文提出的是資料驅動的學習動态關系圖,以對類别之間的關系推理進行模組化。受transformer的啟發,使用self-attention結構實作了動态圖,如下圖所示:

論文筆記:Semantic Relation Reasoning for Shot-Stable Few-Shot Object Detection

原始的詞向量W經過3個線性層f,g,h變換,并且從f,g的輸出中計算出一個自注意矩陣。然後該矩陣再乘上h的輸出,再經過另一個線性層l。還用了一個殘差連接配接原始的矩陣W加在l的輸出上。

學習這樣的動态圖的另一個優點是它可以輕松的适應新來的類别。因為圖并不是固定的,而且可以動态的從詞向量中生成。而不需要重新定義一個新圖重新訓練。可以簡單的插入對應新類别的embedding,然後微調檢測器。

3.4 Decoupled(解耦) Fine-tuning

在第二個微調階段,像TFA一樣,僅僅微調SRR-FSD的最後幾層,對于分類分支,在關系推理子產品和投影矩陣P中微調參數。對于回歸分支,它不依賴于詞嵌入,但它和分類分支共享特征。

發現在回歸分支上學習novel會因為共享特征而幹擾分類分支,使其産生一些FP。

将兩個分支之間共享的全連接配接層解耦可以有效的讓每個分支學習更好的特征。換句話說,分類分支和回歸分支可以有獨立的全連接配接層,并且分别微調。

4. 實驗

對于詞向量,使用了300維的word2vec 向量,從維基百科中的無标注文本進行訓練。在關系推理子產品中,将詞向量的次元減為32。

論文筆記:Semantic Relation Reasoning for Shot-Stable Few-Shot Object Detection

voc的效果,相比TFA确有改進

論文筆記:Semantic Relation Reasoning for Shot-Stable Few-Shot Object Detection

cross domain上表現突出,coco訓練 voc測。

論文筆記:Semantic Relation Reasoning for Shot-Stable Few-Shot Object Detection

在新benchmark上,low shot (尤其是1,2)表現非常突出。

4.4 消融

語義空間投影,關系推理,解耦微調。

發現:語義空間投影可以獲得 shot-stable 的學習

論文筆記:Semantic Relation Reasoning for Shot-Stable Few-Shot Object Detection

提點不少的trick,,解耦微調,作者說主要可以減少fp(similar的扇形),但感覺隻能說明similar 的fp很多,提點很多,但減fp似乎沒多明顯?

論文筆記:Semantic Relation Reasoning for Shot-Stable Few-Shot Object Detection

而且不給代碼

論文筆記:Semantic Relation Reasoning for Shot-Stable Few-Shot Object Detection

繼續閱讀