iT邦幫忙

2022 iThome 鐵人賽

DAY 23
0
AI & Data

初學者介紹TensFlow.js系列系列 第 23

[Day23]Iou與NMS

  • 分享至 

  • xImage
  •  

今天要來談談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
https://ithelp.ithome.com.tw/upload/images/20221005/201525068nFV4G3Shq.png
然後根據分數選出結果並框起來
https://ithelp.ithome.com.tw/upload/images/20221005/201525065uITvj2mgt.png
大概就這樣
今天就講到這裡,謝謝大家


上一篇
[Day22]定界輸出2
下一篇
[Day24] 為偵測框加上註解吧
系列文
初學者介紹TensFlow.js系列30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言