編者按:深度學習知名博主Jonathan Hui簡要介紹了FPN(特征金字塔網絡)的直覺、架構和表現。
檢測不同尺度的目標(尤其是其中的小目標)很有挑戰性。我們可以使用同一圖像的不同尺度版本來檢測目標(下圖左部)。然而,處理多尺度圖像很費時,內存需求過高,難以同時進行端到端訓練。因此,我們可能只在推理階段使用這種方法,以盡可能提高精確度,特別是在競賽之類不顧及速度的場景中。我們也可以創建特征金字塔來檢測目標(下圖右部)。然而接近圖像的、由低層結構組成的特征映射在精確目標預測上效果不佳。
來源:FPN論文
特征金字塔網絡(Feature Pyramid Network,FPN)是為這一金字塔概念設計的特征提取器,設計時考慮到了精確性和速度。它代替了Faster R-CNN之類的檢測模型的特征提取器,生成多層特征映射(多尺度特征映射),信息的質量比普通的用于特征檢測的特征金字塔更好。
數據流
來源:FPN論文
FPN由自底向上和自頂向下兩個路徑組成。自底向上的路徑是通常的提取特征的卷積網絡。自底向上,空間分辨率遞減,檢測更多高層結構,網絡層的語義值相應增加。
FPN特征提取(修改自FPN論文中的圖片)
SSD基于多個特征映射進行檢測。然而,低層并不用于目標檢測——這些層的分辨率很高,但語義值不夠高,因此,為了避免顯著的速度下降,目標檢測時不使用這些層。因為SSD檢測時僅適用高層,所以在小目標上的表現要差很多。
修改自FPN論文中的圖片
而FPN提供了自頂向下的路徑,基于語義較豐富的層構建分辨率較高的層。
修改自FPN論文中的圖片
盡管重建的層語義足夠豐富,但經過這些下采樣和上采樣過程,目標的位置不再準確了。因此FPN在重建層和相應的特征映射間增加了橫向連接,以幫助檢測器更好地預測位置。這些橫向連接同時起到了跳躍連接(skip connection)的作用(類似殘差網絡的做法)。
修改自FPN論文中的圖片
自底向上路徑
自底向上路徑由很多卷積模塊組成,每個模塊包含許多卷積層。自底向上的過程中,空間維度逐模塊減半(步長翻倍)。每個卷積模塊的輸出將在自頂向下的路徑中使用。
自頂向下路徑
上圖中,FPN使用一個1x1的卷積過濾器將C5(最上面的卷積模塊)的頻道深度降至256維,得到M5。接著應用一個3x3的卷積得到P5,P5正是用于目標預測的第一個特征映射。
沿著自頂向下的路徑往下,FPN對之前的層應用最近鄰上采樣(x2)。同時,FPN對自底向上通路中的相應特征映射應用1x1卷積。接著應用分素相加。最后同樣應用3x3卷積得到目標檢測的特征映射。這一過濾器減輕了上采樣的混疊效應。
這一過程在P2后停止,因為C1的空間維度太高了。如果不停,依法炮制得到P1的話,會大大拖慢進程。
FPN搭配RPN
FPN自身并不是目標檢測器,而是一個配合目標檢測器使用的特征檢測器。例如,使用FPN提取多層特征映射后將其傳給RPN(基于卷積和錨的目標檢測器)檢測目標。RPN在特征映射上應用3x3卷積,之后在為分類預測和包圍盒回歸分別應用1x1卷積。這些3x3和1x1卷積層稱為RPN頭(head)。其他特征映射應用同樣的RPN頭。
FPN搭配Fast R-CNN和Faster R-CNN
首先簡短地概覽下Fast R-CNN和Faster R-CNN的數據流。它基于特征映射層創建ROI(感興趣區域)。然后使用ROI和特征映射層創建特征片,以傳給ROI池化。
FPN生成了特征映射金字塔后,應用RPN(見上一節)生成ROI。根據ROI的尺寸,選擇最合適的尺度上的特征映射以提取特征片。
基于ROI尺寸選擇特征映射的具體公式為:
其中,w和h為ROI的寬度和高度,k0= 4,k對應FPN中的Pk層。
所以,如果k = 3,我們將選擇P3作為特征映射,應用ROI池化,并將結果傳給Fast R-CNN/Faster R-CNN頭(兩者的頭一致),以完成預測。
分割
類似Mask R-CNN,FPN也是一個優良的圖像分割提取掩碼。下圖中,應用5x5的滑窗于特征映射,以生成14x14分割。之后,合并不同尺度的掩碼以形成最終的掩碼預測。
來源:FPN論文
結果
FPN搭配RPN,提升AR(average recall,平均召回)至56.3,相比RPN基線提升了8. 在小目標上的提升更是達到了12.9.
來源:FPN論文
基于FPN的Faster R-CNN的推理時間為0.148秒/張(單Nvidia M40 GPU,ResNet-50),單尺度ResNet-50基線的速度是0.32秒/張。
來源:FPN論文
FPN和當前最先進的檢測器實力相當。事實上,FPN擊敗了COCO 2016和2015挑戰的贏家。
來源:FPN論文
經驗總結
下面是從試驗數據中總結出的一些經驗。
在單個高分辨率特征映射層上增加更多錨不足以提升精確度。
自頂向下路徑重建了富含語義信息的分辨率。
但我們需要橫向連接,以便將更多準確的目標空間信息加回來。
在COCO數據集上,自頂向下路徑和橫向連接將精確度提升了8。小目標的提升達到了12.9.
-
檢測器
+關注
關注
1文章
882瀏覽量
48263 -
圖像
+關注
關注
2文章
1091瀏覽量
40902 -
數據流
+關注
關注
0文章
122瀏覽量
14635
原文標題:特征金字塔網絡FPN的直覺與架構
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
VirtualLab Fusion案例:反射式金字塔波前傳感器的仿真
VirtualLab 應用:反射式金字塔波前傳感器的仿真
基于金字塔模型的地形網格裂縫消除算法
基于梯度方向直方圖與高斯金字塔的車牌模糊漢字識別方法

FAIR何愷明團隊最新論文提出“全景FPN”,聚焦于圖像的全景分割任務
谷歌大腦采用神經結構搜索發現了一種新的特征金字塔結構NAS-FPN

中國集成電路封裝行業市場現狀——金字塔的尖頂與基座
基于全局特征金字塔網絡的信息融合方法

基于規范化函數的深度金字塔模型算法

評論