交並比(intersection-over-union,iou):
目標檢測中使用的乙個概念
是產生的候選框(candidate bound)與原標記框(ground truth bound)的交疊率
即它們的交集與並集的比值。最理想情況是完全重疊,即比值為1。
基礎知識:
交集:集合論中,設a,b是兩個集合,由所有屬於集合a且屬於集合b的元素所組成的集合,叫做集合a與集合b的交集,記作a∩b。
eg:a= b=
a n b =
並集:給定兩個集合a,b,把他們所有的元素合併在一起組成的集合,叫做集合a與集合b的並集,記作a∪b,讀作a並b。
eg:a= b=
a u b =
圖示
iou:
python實現
import numpy as np
def compute_iou(box1, box2, wh=false):
「」"compute the iou of two boxes.
args:
box1, box2: [xmin, ymin, xmax, ymax] (wh=false) or [xcenter, ycenter, w, h] (wh=true)
wh: the format of coordinate.
return:
iou: iou of box1 and box2.
「」"if wh == false:
xmin1, ymin1, xmax1, ymax1 = box1
xmin2, ymin2, xmax2, ymax2 = box2
else:
xmin1, ymin1 = int(box1[0]-box1[2]/2.0), int(box1[1]-box1[3]/2.0)
xmax1, ymax1 = int(box1[0]+box1[2]/2.0), int(box1[1]+box1[3]/2.0)
xmin2, ymin2 = int(box2[0]-box2[2]/2.0), int(box2[1]-box2[3]/2.0)
xmax2, ymax2 = int(box2[0]+box2[2]/2.0), int(box2[1]+box2[3]/2.0)
## 獲取矩形框交集對應的左上角和右下角的座標(intersection)
xx1 = np.max([xmin1, xmin2])
yy1 = np.max([ymin1, ymin2])
xx2 = np.min([xmax1, xmax2])
yy2 = np.min([ymax1, ymax2])
## 計算兩個矩形框面積
area1 = (xmax1-xmin1) * (ymax1-ymin1)
area2 = (xmax2-xmin2) * (ymax2-ymin2)
inter_area = (np.max([0, xx2-xx1])) * (np.max([0, yy2-yy1])) #計算交集面積
iou = inter_area / (area1+area2-inter_area+1e-6) #計算交並比
return iou
目標檢測 IOU(交並比) 理解筆記
目標檢測中使用的乙個概念 是產生的候選框 candidate bound 與原標記框 ground truth bound 的交疊率 即它們的交集與並集的比值。最理想情況是完全重疊,即比值為1。交集 集合論中,設a,b是兩個集合,由所有屬於集合a且屬於集合b的元素所組成的集合,叫做集合a與集合b的交...
目標檢測之 IoU
iou 作為目標檢測演算法效能 map 計算的乙個非常重要的函式 但縱觀 iou 計算的介紹知識,都是直接給出 給出計算方法,沒有人徹底地分析過其中的邏輯,故本人書寫該篇部落格來介紹下其中的邏輯。iou 的全稱為交並比 intersection over union 通過這個名稱我們大概可以猜到 i...
目標檢測之IoU
iou 交並比 是目標檢測中乙個常用的概念,通常用來衡量候選框 candidate 與真實標記框 ground truth 之間的交疊程度。定義兩個集合a和b,兩者的iou為兩者的交與兩者的並的比值,即 iou 例如圖中有兩個有重疊部分的矩形 乙個是藍色矩形a,另乙個是綠色矩形b,交疊部分用橙色表示...