今天要來談談IoU與NMS
昨天我們說到需要一定的方式來進行評估是否要留下那個重疊的定界框,今天我們要來介紹梁種手段來輕鬆解決這個問題。
IoU
我們這裡要講的IU是代表交聯比而不是貨幣的那種IoU。交聯比(intersection over union)適用於識別物件偵測器的誌準確度和訓練重疊性所用的指標,準確度的部分適合用來訓練,重疊性則是和清理多餘的重疊輸出。
IoU適用於確定兩個框在他們重疊的區域中共享了多少比例的公式
簡單來說的話就是
IoU = 交集/聯集
我們可藉由兩個框交集及聯集面積相除來得到這個好用的值。
NSM
當我們知道IOU後便可以制定一種稱為非最大抑制(nonmaximum suppression ,NMS)的計算方式來刪除重複的項,NMS會自動抓取分數最高的框並刪除所有超過IOU指定等級的類似框。
假設將NMS的IOU設定為0.5,那麼任何分數高的框共享50%以上區域的框都會被刪除掉。
注意!這會造成只能留下單一框,因為當兩個應該被偵測到的物件重疊在一起匙時框仍會被刪到只剩一個。例如兩隻動物重疊時理應會有兩個偵測框,卻因為重疊性過刀而導致框被消除到只剩一個。
但我們可以透過soft-NMS這個功能較為進階的NMS版本來解決這問題,因為它會衰減重疊框的分數而非刪除整個框,也因為如此即便IOU相當高正確的框仍會存留在上面。
(而且他有內建在tensorflow.js內部,使用相當的方便)
例如:如果將最後一個參數設為0就會從soft-NMS變回普通的NMS
然後根據分數選出結果並框起來
大概就這樣
今天就講到這裡,謝謝大家