ICCV目標檢測:用圖特徵金字塔提升精度(附論文下載)

語言: CN / TW / HK

計算機視覺研究院專欄

作者:Edison_G

特徵金字塔 在需要多尺度特徵的影象理解任務中已被證明是強大的。多尺度特徵學習的最新方法側重於使用具有固定拓撲結構的神經網路跨空間和尺度執行特徵互動。

公眾號ID |ComputerVisionGzq

學習群 |掃碼在主頁獲取加入方式

開原始碼: https://arxiv.org/pdf/2108.00580.pdf

1

前言&背景

特徵金字塔 在需要多尺度特徵的影象理解任務中已被證明是強大的。多尺度特徵學習的最新方法側重於使用具有固定拓撲結構的神經網路跨空間和尺度執行特徵互動。

在今天分享中,研究者提出了 圖特徵金字塔網路 ,該網路能夠使其拓撲結構適應不同的內在影象結構,並支援跨所有尺度的同步特徵互動。

2

特徵金字塔

特徵金字塔網路相當於先進行傳統的bottom-up自上而下的特徵卷積,然後FPN試圖融合左側特徵圖的相鄰的特徵圖。 左側模型叫bottom-up,右側模型叫top-down,橫向的箭頭叫橫向連線lateral connections。 這麼做的目的是因為高層的特徵語義多,低層的特徵語義少但位置資訊多。

左側模型特徵圖大小相差1倍,但像AlexNet一樣,其實是每在同樣大小的feature上卷積幾次才進行一次池化操作,我們把在同樣大小feature上的卷積稱之為一個stage。上圖畫的圖是每個stage的最後一個卷積層,因為每個stage的最後一層feature語義資訊最多。

具體做法是兩個特徵層的較高層特徵2倍上取樣(上取樣方法很多,上取樣幾乎都是採用內插值方法,即在原有影象畫素的基礎上在畫素點之間採用合適的插值演算法插入新的元素,總之是把feature大小擴大了一倍)。較低層特徵通過1×1卷積改變一下低層特徵的通道數,然後簡單地把將上取樣和1×1卷積後的結果對應元素相加。為什麼橫向連線要使用1×1卷積呢,為什麼不能原地不動地拿過來呢?原來在於作者想用1×1改變通道數,以達到各個level處理結果的channel都為256-d,便於後面對加起來的特徵進行分類。

3

新框架分析

首先為每個輸入影象定義一個特定於影象的超畫素層次結構,以表示其固有的影象結構。圖特徵金字塔網路從這個超畫素層次結構繼承了它的結構。上下文層和hierarchical層旨在實現相同尺度內和不同尺度之間的特徵互動。為了使這些層更強大,研究者通過卷積神經網路的全域性通道注意力,為圖神經網路引入了兩種型別的區域性通道注意力。 提出的圖特徵金字塔網路可以增強卷積特徵金字塔網路的多尺度特徵。

主要貢獻:

  • 提出了一種新的圖特徵金字塔網路,利用固有的影象結構,支援所有尺度的同時特徵互動。該圖特徵金字塔網路繼承了輸入影象的超畫素層次結構。上下文層和 hierarchical 層的設計分別是為了促進相同規模內和跨不同規模的特性互動;

  • 在現有的卷積神經網路全域性通道注意機制的基礎上,進一步引入了圖神經網路的兩種區域性通道注意機制;

  • 在MSCOCO 2017驗證和測試資料集上的大量實驗表明,無論是否基於特徵金字塔,圖特徵金字塔網路都可以幫助實現比現有的最先進的目標檢測方法明顯更好的效能。

GraphFPN旨在通過在超畫素層次上構建多尺度圖神經網路來增強卷積特徵金字塔網路

         Superpixel Hierarchy

首先一張圖片由一個個畫素組成(可以看成網格),每個畫素可以有一個灰度值(標量)或RGB值(三維向量)。

現今一張圖片動輒1024*1448>100w畫素,因此對於影象處理來說,是非常大的維度。 超畫素 最大的功能之一,便是作為影象處理其他演算法的預處理, 在不犧牲太大精確度的情況下降維! 超畫素最直觀的解釋,便是把一些具有相似特性的畫素“聚合”起來,形成一個更具有代表性的大“元素”。 而這個新的元素,將作為其他影象處理演算法的基本單位。

一來大大降低了維度;

二來可以剔除一些異常畫素點。

         Multi-scale Graph Pyramid

研究者構建了一個圖金字塔 ,其級別對應於超畫素層次的級別。超畫素層次中的每個超畫素在圖金字塔的相應層次上都有一個對應的圖節點。因此,當從圖金字塔的一層移動到下一層時,節點的數量也會減少4倍。

研究者為圖金字塔定義了2種類型的邊。它們被稱為 contextual edges hierarchical edges contextual edges 連線同一層次上的2個相鄰節點,而 hierarchical edges 連線不同層次上的2個節點,如果它們對應的超畫素之間存在ancestor-descendant關係。 c ontextual edges 用於傳播 hierarchical edges 用於彌合不同層次之間的語義差距。

特別需要注意的是, hierarchical edges 是密集的,因為在每個節點和它的每個ancestor和descendant之間都有這樣的邊緣。這些密集的連線會產生很大的計算和記憶體成本。因此,每個 hierarchical edges 都與其節點特徵之間的餘弦相似度關聯,研究者根據它們的餘弦特徵相似度對 hierarchical edges 進行修剪。在所有關聯到節點的分層邊緣中,排在最後50%的邊緣將被刪除。

         Graph Neural Network Layers

在圖金字塔的基礎上構造了一個圖神經網路GraphFPN。在GraphFPN中有2種類型的層:  contextual layers hierarchical layers 。這2種類型的層在圖金字塔中使用相同的節點集,但不同的圖邊集。 contextual layers只 使用上下文邊緣,而 hierarchical layers只使用修剪過的 層次邊緣。GraphFPN在最開始有L1 con te xtual layers ,在中間有L2 hierarchical layers ,在最後有L3 con te xtual layers 。更重要的是,每一層都有自己的可學習引數,這些引數不會與任何其他層共享。

4

實驗

Comparison with state-of-the-art feature pyramid based methods on MS-COCO 2017 test-dev. “AH” and “MT” stand for augmented head and multi-scale training strategies respectively. The backbone of all listed methods is ResNet101.

Comparison with other popular object detectors on MS-COCO 2017 val set. The backbone of all listed methods is ResNet101.

Sample detection results from FPN, FPT, and our GraphFPN based method

The number of learnable parameters, the total computational cost, and the average test speed of a few detection models. All experiments are run on an NVidia TITAN 2080Ti GPU.

© THE END 

轉載請聯絡本公眾號獲得授權

計算機視覺研究院學習群等你加入!

計算機視覺研究院 主要涉及 深度學習 領域,主要致力於 人臉檢測、人臉識別,多目標檢測、目標跟蹤、影象分割等 研究方向。 研究院 接下來會不斷分享最新的論文演算法新框架,我們這次改革不同點就是,我們要著重” 研究 “。之後我們會針對相應領域分享實踐過程,讓大家真正體會 擺脫理論 的真實場景,培養愛動手程式設計愛動腦思考的習慣!

掃碼 關注

計算機視覺研究院

公眾號IDComputerVisionGzq

學習群掃碼在主頁獲取加入方式

往期推薦 

:link:

「其他文章」