物件偵測

錨框

錨框是在看影像之前就先做出的猜測——一個事先定義、具有選定尺寸與形狀、放置在格點位置上的矩形,偵測器會把它微調成真正的預測。與其要求網路無中生有地變出一個框(這是困難且無約束的回歸),我們遞給它一份起始矩形的菜單,只要求「把這一個推一推使它吻合,並告訴我裡面有沒有物件」。錨框把開放式搜尋轉化為許多微小而容易的修正。

在特徵圖的每一個空間格點上,偵測器都會鋪設好幾個在尺度(小、中、大)與長寬比(高、方、寬)上各異的錨框,因為物件形狀千變萬化。典型設定是 3 種尺度 × 3 種長寬比 = 每格 9 個錨框;攤到整張特徵圖上,這會產生數以萬計、密集覆蓋影像的錨框。接著每個錨框負責預測:(a) 一個物件性/類別分數,以及 (b) 四個把錨框扭成緊貼框的偏移量。

訓練時,每個錨框依其與真實框透過 IoU 重疊得多好而被分配標籤:重疊度高(例如 IoU ≥ 0.7)的錨框成為綁定特定物件的正樣本,重疊度低(例如 IoU < 0.3)的成為負樣本(背景),介於兩者之間的則被忽略,以免送出令人困惑的梯度。正樣本還會得到一個回歸目標——把錨框移到其物件上的偏移量。這就是「標籤分配」,其規則悄悄地決定了偵測器準確度的一大部分。

錨框很強大,但帶入了必須大致符合你資料的超參數:尺度與長寬比、IoU 門檻、以及錨框如何分散到各個特徵圖層級。選得不好——例如資料集裡滿是行人,你卻沒有高瘦的錨框——召回率就會崩潰。這種脆弱性,正是後來的無錨框偵測器(FCOS、CenterNet)與集合預測方法(DETR)所要消除的對象。

在一張每格 9 個錨框的 38×38 特徵圖上,偵測器從 38×38×9 ≈ 13,000 個候選矩形出發,接著只保留並微調其中物件性分數高的少數幾個。

錨框是先驗,而非約束:一個框可以被回歸到遠離其錨框覆蓋範圍之外。但若沒有任何一個錨框的形狀/尺度大致對得上某個物件,訓練就很難為它產生強烈的正樣本——驅動召回率的是錨框集合的涵蓋度,而不只是回歸能力。

又称
anchorprior boxdefault box