01.05 目標檢測新技能!引入知識圖譜:Reasoning-RCNN

目前大規模的檢測問題,挑戰主要在數據的分佈,比如有的類別的數量很少,模糊,遮擋等問題,但是像現在的檢測問題都是每個框單獨進行檢測,而忽略了target之間的語義依賴關係,對檢測出來的物體之間進行推理。

如下圖a中的右上角部分,有一個模糊的白色的物體,我們人的思維方式就是去思考: 首先它很像一個CCTV(也就是閉路是攝像機),我們之前在b圖中看到過。 其次再觀察他的周圍,是馬路,車,一個小的金屬設備在監視著著車,所以他應該就是一個CCTV。 B圖中展示了其對象之間的圖譜關係,這個就可以放到知識圖譜裡面去並且合併到detection pipline中。

目標檢測新技能!引入知識圖譜:Reasoning-RCNN

1 知識圖譜引入

那麼Reasoning RCNN具體是怎麼做的呢? 首先,這篇文章實際上不是提出了一個新的檢測方法,而是對傳統檢測做一個增強,具體如下圖。

概括來說: 首先就需要建立一個對於所有類別的一個語義池 semantic pool,他們之間的權重是來自於傳統目標檢測的的網絡的分類層。 隨後需要一個類別級別的知識圖譜去編碼存在的語義知識。 (主要是屬性,關係),在這個知識譜圖中進行演化和傳播。 最後要做的就是特徵的增強,這裡的增強在檢測中就是對分類特徵的增強,每個區域新增強的特徵被concat到原始的特徵,來提升classification和localization的性能。

目標檢測新技能!引入知識圖譜:Reasoning-RCNN

Reasoning RCNN可以基於任意base detector 比如Faster RCNN.

左邊我們可以看到base detector其最後有一個類別的輸出分類和檢測出來的bouding box,這個分類器產生的權重將會生成前面提到的global semantic pool,(分類器關於每個類別的權重實際上包含了高層次的語義信息,因為在訓練這個分類器的時候,其是整個圖片進行了參與,分類器的參數不斷更新,global pool也不斷被訓練),然後知識圖譜被引入,並將其輸入到自適應推理模塊。 通過refine的模塊去產生一個增強的特徵。 這個增強的模塊是通過拼接而形成的。 圖中是藍色與綠色。

目標檢測新技能!引入知識圖譜:Reasoning-RCNN

下面更加詳細地介紹每個模塊,Resoning模塊的整體的一個框架結構就是通過global pool結合知識生成新的信息,再通過Attention機制獲得更好的表示。 最後在一個軟連接的作用下,獲得更好的分類特徵,在將其合併在一起,如下圖所示。

目標檢測新技能!引入知識圖譜:Reasoning-RCNN

自適應attention是使用image feature來計算的,以自動發現最相關的類別以進行自適應推理,具體如下圖,其實就是通過softmax function得到。 從categories到proposal對增強功能進行軟映射,以獲得區域性增強功能f’,最終對得到的增強特徵與原始特徵連接在一起。 作為新的特徵去送往網絡產生新的結果。

目標檢測新技能!引入知識圖譜:Reasoning-RCNN

2 實驗部分

如下表中可以看到在base detector不同的時候,此方法帶來了很多的性能提升。

目標檢測新技能!引入知識圖譜:Reasoning-RCNN

下表可以看出來在小樣本上的增益是最大的,也進一步證明了作者提出的方法的有效性。

目標檢測新技能!引入知識圖譜:Reasoning-RCNN

下圖是fastaer rcnn和加入此方法之後的可視化對比,可以看到檢測效果有很多提升,少了很多漏檢問題,因此也是從一方面展示了此方法檢測的優越性。

目標檢測新技能!引入知識圖譜:Reasoning-RCNN


分享到:


相關文章: