YOLO Label Assignment 演進
Label assignment 的本質問題是:
在 dense prediction 中,一個 GT 對應大量候選框,誰應該負責學習?
不同策略的差異,在於:
- 正樣本數量如何決定
- 是否考慮預測品質
- 是否支援 NMS-free
空間責任分配(Grid-based)
Grid-based Responsibility(YOLOv1)
- 設計動機
- 以固定空間責任分配,將 detection 轉為單次前向的回歸問題
- 結構簡單、計算量低,符合 early real-time 設計目標
- 設計方式
- 將影像劃分為 (S \times S) grid
- 物體中心落在哪個 grid cell,該 cell 負責預測
- 每個 cell 預測 (B) 個 bounding boxes
- 在該 cell 中,IoU 最大的 predictor 作為正樣本
- 核心特性
- Cell-level one-to-one:每個物體只屬於一個 cell(由中心決定)
- Predictor-level one-to-one:每個物體僅由一個 box 負責
- Assignment 僅依賴位置與 IoU
- 主要問題
- 空間分辨率受限:難以處理密集或小物體場景
- 缺乏尺度先驗:需直接回歸各種尺寸,學習困難
- 匹配機制僵硬:無法依預測品質動態調整

問題
固定的空間責任分配缺乏彈性,難以應對密集與多尺度場景。
固定規則匹配(Anchor-based)
Anchor-based 階段的核心邏輯是**「先驗幾何決定責任」**,其特點與侷限如下:
- 空間與形狀雙重約束:正樣本必須同時滿足「 中心落在特定網格」與「形狀符合 Anchor 模板」兩個硬性條件。
- 預測無關(Prediction-agnostic):分配過程僅依賴幾何關係(IoU、比例、距離),完全不參考模型當前的預測品質(如分類信心度或精確位置)。
- 正樣本擴展趨勢:演進過程從 One-to-One(YOLOv2 的 Best-IoU)轉向 One-to-Many(YOLOv5 的 Cross-grid),透過增加監督訊號來加速收斂。
- 主要瓶頸:
- 規則生硬:無法處理形狀極端或重疊嚴重的物體。
- 目標衝突:有時幾何位置最接近的 Anchor,其預測品質反而不如較遠的 Anchor,導致訓練效率低下。
問題
固定規則匹配僅考慮「位置是否靠近」或「形狀是否相似」,卻忽略了**「預測得準不準」**。
Best-IoU Matching(YOLOv2–YOLOv4)
- 設計動機
- 引入 anchor 尺寸先驗,降低回歸難度
- 透過固定規則匹配,保持訓練簡單且穩定
- 設計方式
- 每個 GT 僅在其 中心所在的 grid cell 中匹配
- 計算該 cell 內所有 anchors 與 GT 的 IoU:
- 選擇 IoU 最大的 anchor 作為正樣本:
- 標籤定義:
- 核心特性
- Anchor-level one-to-one:每個 GT 僅在其對應尺度與 grid cell 中匹配一個最佳 anchor
- Assignment 僅依賴 位置與 IoU
- 正樣本數量固定,與模型預測無關
- 主要問題
- 正樣本稀少,監督訊號有限
- 不考慮分類或定位品質
- 在密集場景中可能出現正樣本不足

Ignore Mechanism(YOLOv3–YOLOv5)
- 設計動機
- 避免與 GT 高重疊的 anchors 被誤當為負樣本
- 減少正負樣本衝突,提升訓練穩定性
- 設計方式
- 對非最佳匹配但與 GT 高重疊的 anchors,不作為負樣本處理
- 標籤定義:
- 核心特性
- 忽略高 IoU 的非最佳 anchor
- 避免高 IoU anchor 產生錯誤的負梯度
- 提升訓練穩定性與收斂效果
- 主要問題
- 仍屬於固定規則匹配
- 無法依模型預測品質動態調整正樣本
![]() |
|---|
| 除最佳匹配的 anchor 外,與 GT 具有高 IoU 的候選不作為負樣本(ignore),僅低 IoU 的候選被視為背景參與訓練 |
Anchor Ratio Matching(YOLOv5)
- 設計動機
- 透過尺寸先驗提供更多合理正樣本
- 降低 early training 時 IoU 匹配的不穩定性
- 設計方式
- 以 尺寸比例取代 IoU 作為匹配條件,設 GT 為 ,anchor 為 :
- 常用 threshold:
- 所有符合條件的 anchors 作為正樣本(one-to-many)
- 核心特性
- Anchor-level one-to-many
- 僅依賴幾何尺寸關係(prediction-agnostic)
- 增加監督訊號並加速收斂
- 主要問題
- 不考慮分類或定位品質
- 固定規則可能導致次優分配
![]() | ![]() |
|---|---|
| 小尺寸 Anchor 匹配判定(檢查最大放大倍率是否 ) | 大尺寸 Anchor 匹配判定(檢查最大縮小倍率是否 ) |
Cross-grid Matching(YOLOv5)
- 設計動機
- 座標範圍擴展:中心點預測範圍 由 擴展至 ,使網格具備跨界預測的能力。
- 增加正樣本:突破單一網格限制,藉由分配相鄰網格放大 one-to-many 效應,加速模型收斂。
- 設計方式
- 將 GT 中心點所在的網格,十字劃分為 四個扇區(象限)。
- 相鄰選擇策略:依據 GT 中心點落在哪個扇區,決定要擴充的網格方向。
- 若位於 左上角:額外選中 上方 與 左側 的網格。
- 若位於 右下角:額外選中 下方 與 右側 的網格(依此類推)。
- 最終分配:每個 GT 除了原本所在的中心網格,還會加上 1 到 2 個相鄰網格(通常為 3 個網格),共同參與後續的 Anchor 篩選。
- 核心特性
- Grid-level one-to-many:基於空間位置的正樣本擴充。
- 僅依賴中心點的相對位置(prediction-agnostic)。
- 將正樣本數量上限直接拉高 3 倍。
- 主要問題
- 邊界劃分生硬(在十字交界處微小的偏移就會選到完全不同的網格)。
- 仍為靜態分配,未考慮當前模型的預測品質。
![]() | ![]() |
|---|---|
| 匹配範圍從單一網格 擴至 | 依中心偏移選相鄰網格,再以尺寸比例篩選正樣本 |
Center Prior(YOLOv5–YOLOv7)
- 設計動機
- 限制匹配範圍至 GT 中心附近
- 減少無效候選並提升訓練穩定性
- 設計方式
- 僅保留滿足下列條件的候選位置:




