ICCV目標檢測:用圖特征金字塔提升精度(附論文下載)
最新方法側(cè)重于使用具有固定拓撲結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)跨空間和尺度執(zhí)行特征交互。
開源代碼:https://arxiv.org/pdf/2108.00580.pdf
1前言&背景
特征金字塔在需要多尺度特征的圖像理解任務(wù)中已被證明是強大的。多尺度特征學習的最新方法側(cè)重于使用具有固定拓撲結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)跨空間和尺度執(zhí)行特征交互。
在今天分享中,研究者提出了圖特征金字塔網(wǎng)絡(luò),該網(wǎng)絡(luò)能夠使其拓撲結(jié)構(gòu)適應(yīng)不同的內(nèi)在圖像結(jié)構(gòu),并支持跨所有尺度的同步特征交互。
2特征金字塔
特征金字塔網(wǎng)絡(luò)相當于先進行傳統(tǒng)的bottom-up自上而下的特征卷積,然后FPN試圖融合左側(cè)特征圖的相鄰的特征圖。左側(cè)模型叫bottom-up,右側(cè)模型叫top-down,橫向的箭頭叫橫向連接lateral connections。這么做的目的是因為高層的特征語義多,低層的特征語義少但位置信息多。
左側(cè)模型特征圖大小相差1倍,但像AlexNet一樣,其實是每在同樣大小的feature上卷積幾次才進行一次池化操作,我們把在同樣大小feature上的卷積稱之為一個stage。上圖畫的圖是每個stage的最后一個卷積層,因為每個stage的最后一層feature語義信息最多。
具體做法是兩個特征層的較高層特征2倍上采樣(上采樣方法很多,上采樣幾乎都是采用內(nèi)插值方法,即在原有圖像像素的基礎(chǔ)上在像素點之間采用合適的插值算法插入新的元素,總之是把feature大小擴大了一倍)。較低層特征通過1×1卷積改變一下低層特征的通道數(shù),然后簡單地把將上采樣和1×1卷積后的結(jié)果對應(yīng)元素相加。為什么橫向連接要使用1×1卷積呢,為什么不能原地不動地拿過來呢?原來在于作者想用1×1改變通道數(shù),以達到各個level處理結(jié)果的channel都為256-d,便于后面對加起來的特征進行分類。
3新框架分析
首先為每個輸入圖像定義一個特定于圖像的超像素層次結(jié)構(gòu),以表示其固有的圖像結(jié)構(gòu)。圖特征金字塔網(wǎng)絡(luò)從這個超像素層次結(jié)構(gòu)繼承了它的結(jié)構(gòu)。上下文層和hierarchical層旨在實現(xiàn)相同尺度內(nèi)和不同尺度之間的特征交互。為了使這些層更強大,研究者通過卷積神經(jīng)網(wǎng)絡(luò)的全局通道注意力,為圖神經(jīng)網(wǎng)絡(luò)引入了兩種類型的局部通道注意力。提出的圖特征金字塔網(wǎng)絡(luò)可以增強卷積特征金字塔網(wǎng)絡(luò)的多尺度特征。
主要貢獻:
提出了一種新的圖特征金字塔網(wǎng)絡(luò),利用固有的圖像結(jié)構(gòu),支持所有尺度的同時特征交互。該圖特征金字塔網(wǎng)絡(luò)繼承了輸入圖像的超像素層次結(jié)構(gòu)。上下文層和hierarchical層的設(shè)計分別是為了促進相同規(guī)模內(nèi)和跨不同規(guī)模的特性交互;
在現(xiàn)有的卷積神經(jīng)網(wǎng)絡(luò)全局通道注意機制的基礎(chǔ)上,進一步引入了圖神經(jīng)網(wǎng)絡(luò)的兩種局部通道注意機制;
在MSCOCO 2017驗證和測試數(shù)據(jù)集上的大量實驗表明,無論是否基于特征金字塔,圖特征金字塔網(wǎng)絡(luò)都可以幫助實現(xiàn)比現(xiàn)有的最先進的目標檢測方法明顯更好的性能。
GraphFPN旨在通過在超像素層次上構(gòu)建多尺度圖神經(jīng)網(wǎng)絡(luò)來增強卷積特征金字塔網(wǎng)絡(luò)
Superpixel Hierarchy
首先一張圖片由一個個像素組成(可以看成網(wǎng)格),每個像素可以有一個灰度值(標量)或RGB值(三維向量)。
現(xiàn)今一張圖片動輒1024*1448>100w像素,因此對于圖像處理來說,是非常大的維度。超像素最大的功能之一,便是作為圖像處理其他算法的預處理,在不犧牲太大精確度的情況下降維!超像素最直觀的解釋,便是把一些具有相似特性的像素“聚合”起來,形成一個更具有代表性的大“元素”。而這個新的元素,將作為其他圖像處理算法的基本單位。
一來大大降低了維度;
二來可以剔除一些異常像素點。
Multi-scale Graph Pyramid
研究者構(gòu)建了一個圖金字塔,其級別對應(yīng)于超像素層次的級別。超像素層次中的每個超像素在圖金字塔的相應(yīng)層次上都有一個對應(yīng)的圖節(jié)點。因此,當從圖金字塔的一層移動到下一層時,節(jié)點的數(shù)量也會減少4倍。
研究者為圖金字塔定義了2種類型的邊。它們被稱為contextual edges和hierarchical edges。contextual edges連接同一層次上的2個相鄰節(jié)點,而hierarchical edges連接不同層次上的2個節(jié)點,如果它們對應(yīng)的超像素之間存在ancestor-descendant關(guān)系。contextual edges用于傳播hierarchical edges用于彌合不同層次之間的語義差距。
特別需要注意的是,hierarchical edges是密集的,因為在每個節(jié)點和它的每個ancestor和descendant之間都有這樣的邊緣。這些密集的連接會產(chǎn)生很大的計算和內(nèi)存成本。因此,每個hierarchical edges都與其節(jié)點特征之間的余弦相似度關(guān)聯(lián),研究者根據(jù)它們的余弦特征相似度對hierarchical edges進行修剪。在所有關(guān)聯(lián)到節(jié)點的分層邊緣中,排在最后50%的邊緣將被刪除。
Graph Neural Network Layers
在圖金字塔的基礎(chǔ)上構(gòu)造了一個圖神經(jīng)網(wǎng)絡(luò)GraphFPN。在GraphFPN中有2種類型的層: contextual layers和hierarchical layers。這2種類型的層在圖金字塔中使用相同的節(jié)點集,但不同的圖邊集。contextual layers只使用上下文邊緣,而hierarchical layers只使用修剪過的層次邊緣。GraphFPN在最開始有L1 contextual layers,在中間有L2 hierarchical layers,在最后有L3 contextual layers。更重要的是,每一層都有自己的可學習參數(shù),這些參數(shù)不會與任何其他層共享。
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.
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。