iT邦幫忙

2026 iThome 鐵人賽

DAY 11
0
Software Development

AI Model with GIS系列 第 11

[Day 11] About NMS

  • 分享至 

  • xImage
  •  

在昨天的模型推論中我們成功讓 YOLOv8 在衛星資料集中記錄到了訓練目標物,但從推論圖來看(可以前往 Day 10)會發現一個事情,同一張影像出現兩個重疊的預測框,分數分別為 0.59 、 0.38。

至於為甚麼會出現兩個預測框,我們又該透過甚麼演算法將其過濾為單一的精準標註?
今天我們講 NMS (Non-Maximum Suppression 非極大值抑制)

為甚麼物件會產生多餘的預測框

YOLO 採用 無錨框 (Anchor-Free)網格化 (Grid-based) 預測機制。當一張影像被切分為多個特徵網格時,由於目標物的架構很大,袍邊的物件都會偵測到跑道特徵,所以才同時輸出包含邊界框座標與置信度分數的候選框,如果直接顯示神經網路的原始輸出,畫面將會有上百個多於的預測框,因此推論必須經過以下兩個步驟:

[ 模型原始輸出 ] -> 產生數百個網格候選框
       │
       ▼ (1.剔除低置信度廢框)
[ 置信度門檻 ]
       │
       ▼ (2.抑制高度重疊的重複預測框)
[ NMS 演算法 ]
       │
       ▼
[ 最終結果 ] -> 保留 1 個最精準的目標物框

NMS 非極大值抑制

NMS 的核心目標為:
在局部區域內,只保留置信度最高且定位最準確的框,然後刪除其餘重複預測的冗餘框。

1.置信度過濾 (Confidence Filtering)

設定置信度門檻 $T_{conf}$(例如 $0.25$),直接拋棄所有 $Score < T_{conf}$ 的候選框。

2.降序排序 (Sorting)

將剩下的所有候選框依照置信度分數從高到低進行排序,建立候選佇列 $B = [B_1, B_2, ..., B_n]$。

3.選取極大值 (Select Maximum)

從佇列中取出當前分數最高的框 $B_{max}$(例如分數 $0.59$ 的框),將其加入最終保留清單,並從佇列中移除。

4.交疊抑制 (Suppressing via IoU)

計算 $B_{max}$ 與佇列中剩餘每個候選框 $B_i$(例如分數 $0.38$ 的框)的 IoU(Intersection over Union,交疊率)

若 $\text{IoU} > T_{iou}$(例如門檻設為 $0.45$),代表 $B_i$ 與最高分框嚴重重疊,兩者在預測同一個機場,則直接將 $B_i$ 強制刪除。

重複步驟 3 與 4,直到候選佇列為空。

遙測衛星的實作

在處理 Sentinel-2 這種較大範圍、低解析度的影像時,confiou 兩個參數對於最終的推論有很大的影響。

results = model.predict(
    source=test_source,
    conf=0.25,   # 置信度門檻
    iou=0.45     # NMS 重疊抑制門檻
)

置信度門檻 conf 影響

設定過高

優點

誤報率較低

缺點

容易漏抓特徵不明顯、雲層遮擋和解析度較低的目標物

設定過低

優點

召回率高,不容易漏抓。

缺點

像昨天的混淆矩陣一樣,把其他可能帶有目標物特徵的物件錯判為目標物。

IoU 門檻 iou 影響

設定過高

NMS 抑制力不足,這就是導致昨天推論圖出現兩個預測框的原因,因為兩個個框的 IoU 可能低於當時的門檻,導致第二個預測框跳過 NMS 的刪除。

設定過低

抑制力過強,如果影像中同時存在距離極近的目標物,較低分的可能會被當成重疊框而被誤刪。

Soft-NMS

標準的 NMS 採用硬性剔除的方法,只要 $\text{IoU} > T_{iou}$,那個候選框就會被直接刪除。

但是在一些衛星影像中遇到相鄰的目標物,傳統的 NMS 會直接誤刪。

為了解決這個問題,有人提出了 Soft-NMS 的方法,他不會直接刪除,他會根據 IoU 的重疊程度 衰減 (Decay) 該候選框的置信度分數。

這種方法可以有效抑制冗餘的重疊預測,也能確保鄰近的目標物不會被誤刪。

小結

今天我們講了推論時消除重疊框的機制,NMS,也理解了昨天推論成果圖中雙重框出現的原因。

明天我們將優化我們的推論與視覺化模組,嘗試調整 confiou 門檻,將雙重框完美壓制為單一精準標註框,並將辨識結果匯出,那我們明天見。


上一篇
[Day 10] Model Training Result
下一篇
[Day 12] How to deal with Overfitting
系列文
AI Model with GIS12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言