搜尋意圖: 如果你在找「特徵金字塔網路 是什麼」或「特徵金字塔網路 和相近概念差在哪」,先看這頁的短定義、完整說明與延伸比較。
TL;DR: 特徵金字塔網路(FPN)是一種用於目標檢測的深度學習架構,旨在從不同尺度的特徵圖中提取豐富的語義信息,以提升小目標的檢測性能。
實用情境: 適合用在閱讀 AI 文章、產品文件或和同事討論時,先用一頁快速對齊概念。
下一步: 先讀完定義,再往下看延伸比較與對應工具,把概念轉成實際應用。
你有沒有看過照片裡的小物件很難抓,但大物件又很容易抓到?
你可以把特徵金字塔網路想成把不同大小的觀察視角接在一起,讓模型同時看得到大目標和小目標。
它重要,是因為真實世界裡的物件大小差很多,只靠單一尺度常常會漏掉小東西。
你可以把它想成一個把抽象概念拉回日常判斷的提示,先知道它解決什麼問題,再看技術細節。
容易混淆
特徵金字塔網路 vs 單一尺度特徵圖 單一尺度只看一層特徵,處理大物件通常比較順。 FPN 會把不同層級的資訊融合,對小物件更友善。
特徵金字塔網路 vs 物件偵測 物件偵測是任務。 FPN 是幫物件偵測變強的一種架構設計。
記住這句就好
大小都要看見,FPN 就是在補這個缺口。
實際案例
交通攝影 遠處的小車牌和近處的大巴士在同一張圖裡,FPN 能讓模型同時照顧不同尺度。
醫療影像 病灶有時很小又不明顯,多尺度特徵能提高找到微小異常的機會。
算法與應用
它會做自上而下的語義傳遞,再搭配橫向連接,把高層語義和低層細節融合起來。 這種設計常被放進物件偵測框架中,用來提升多尺度目標的表現。
FPN 的三個結構
卷積網路越往深層,語意越強但解析度越低。淺層看得清楚卻不知道那是什麼,深層知道是什麼卻定位不準。小物體在深層特徵圖上可能只剩一兩個像素,直接消失。
FPN 用三個結構把兩邊的優點合起來。
由下而上(bottom-up)。 就是原本骨幹網路的前向傳播,逐層縮小解析度、加深語意。每個階段的最後一層輸出被留下來備用。
由上而下(top-down)。 從最深、語意最強的那層開始,逐層上採樣放大解析度,把強語意往回帶。
橫向連接(lateral connection)。 每一層上採樣之後,跟由下而上對應解析度的那一層相加。前者提供語意,後者提供精確位置。
結果是產生一組解析度不同、但每一層語意都很強的特徵圖。大物體用低解析度那層偵測,小物體用高解析度那層,各司其職。
為什麼它變成標準配備
FPN 之前的做法有三種,各有明顯代價。
只用最後一層特徵:快,但小物體偵測很差。
影像金字塔(把原圖縮放成好幾種尺寸各跑一次):準,但計算量是好幾倍。
直接用各層特徵各自預測:不用額外算,但淺層語意太弱,效果有限。
FPN 的價值在於幾乎不增加計算量就拿到多尺度的強語意特徵。它是一個附加結構,可以接在任何骨幹網路後面,所以 Faster R-CNN、Mask R-CNN、RetinaNet 以及 YOLO 的較新版本都採用了這個設計或它的變體(PANet、BiFPN)。
判斷要不要用:任務裡物體大小差異大就一定要用。物體尺寸固定(例如固定距離拍攝的產線檢測)則未必划算。
情境判斷
Q1: 如果你要偵測停車場裡從遠到近的各種車輛,FPN 有幫助嗎?
Q2: 如果場景裡所有目標大小都差不多,FPN 就完全沒價值嗎?
常見問題
FPN 一定要搭配物件偵測嗎?
主要是,但任何需要多尺度表徵的任務都可能受益。
FPN 跟金字塔池化是一樣嗎?
不一樣,兩者都處理多尺度,但融合方式不同。
橫向連接在做什麼?
它把高層語義和低層細節接起來,讓每一層都更完整。
FPN 會不會讓模型變重?
會增加一些計算,但通常換來更好的多尺度偵測效果。