distance-iou loss: faster and better learning for bounding box regression-aaai 2020
iou是目標檢測裡面很重要的乙個指標,通過**的框和gt間的交集與並集的比例進行計算,經常用於評價bbox的優劣 。但一般對bbox的精調都採用l2範數,而一些研究表明這不是最優化iou的方法,因此出現了iou loss
iou loss直接通過iou計算梯度進行回歸,**提到iou loss的無法避免的缺點:當兩個box無交集時,iou=0,很近的無交集框和很遠的無交集框的輸出一樣,這樣就失去了梯度方向,無法優化。
這裡**主要討論的類似yolo的檢測網路,按照gt是否在cell判斷當前bbox是否需要回歸,所以可能存在無交集的情況。而一般的two stage網路,在bbox regress的時候都會卡iou>=0.5,不會對無交集的框進行回歸
giou loss在iou loss的基礎上增加乙個懲罰項,c
cc為包圍**框b
bb和bgt
b^bg
t的最小區域大小,當bbox的距離越大時,懲罰項將越大。
儘管giou解決了iou的梯度問題,但他仍然存在幾個限制:
如圖1所示,在訓練過程中,giou傾向於先增大bbox的大小來增大與gt的交集,然後通過公式3的iou項引導最大化bbox的重疊區域。
如圖2中的包含情況,giou會退化成iou
由於很大程度依賴iou項,giou需要更多的迭代次數來收斂,特別是水平和垂直的bbox(後面會分析)。一般地,giou loss不能很好地收斂sota演算法,反而造成不好的結果。
簡單地在iou loss基礎上新增乙個懲罰項,該懲罰項用於最小化兩個bbox的中心點距離。如圖1所示,diou收斂速度和效果都很好,而且diou能夠用於nms的計算中,不僅考慮了重疊區域,還考慮了中心點距離。
另外,**考慮bbox的三要素,重疊區域,中心點距離和長寬比,進一步提出了complete iou(ciou) loss,收斂更快,效果更好。
**提出了能減少兩個box中心點間的距離的懲罰項, b
bb 和 bgt
b^bg
t 分別表示 b
bb 和 bgt
b^bg
t 的中心點。ρ
\rho
ρ 是歐氏距離,c
cc 是最小包圍兩個bbox的框的對角線長度。
diou loss的懲罰項能夠直接最小化中心點間的距離,而giou loss意在減少外界包圍框的面積
diou loss保留了iou loss和giou loss的一些屬性:
在模擬實驗中,發現diou loss也有一些獨有的屬性:
其中 α
\alpha
α 是權重函式,而 v
vv 用來度量長寬比的相似性
最後,ciou loss的梯度類似於diou loss,但還要考慮 v
vv 的梯度。在長寬在 [0,1] 的情況下,w2+
h2w^2+h^2
w2+h
2 的值通常很小,會導致梯度**,因此在實現時將1w2
+h2\frac
w2+h21
替換成1
在原始的nms中,iou指標用於抑制多餘的檢測框,但由於僅考慮了重疊區域,經常會造成錯誤的抑制,特別是在bbox包含的情況下。因此,可以使用diou作為nms的標準,不僅考慮重疊區域,還考慮了中心點距離
其中 s
is_i
si 是分類置信度, ε
\varepsilon
ε 為nms閾值, m
mm 為最高置信度的框。diou-nms傾向於中心點距離較遠的box存在不同的物件,而且僅需改幾行**,diou-nms就能夠很簡單地整合到目標檢測演算法中。
目標檢測之 IoU
iou 作為目標檢測演算法效能 map 計算的乙個非常重要的函式 但縱觀 iou 計算的介紹知識,都是直接給出 給出計算方法,沒有人徹底地分析過其中的邏輯,故本人書寫該篇部落格來介紹下其中的邏輯。iou 的全稱為交並比 intersection over union 通過這個名稱我們大概可以猜到 i...
目標檢測之IoU
iou 交並比 是目標檢測中乙個常用的概念,通常用來衡量候選框 candidate 與真實標記框 ground truth 之間的交疊程度。定義兩個集合a和b,兩者的iou為兩者的交與兩者的並的比值,即 iou 例如圖中有兩個有重疊部分的矩形 乙個是藍色矩形a,另乙個是綠色矩形b,交疊部分用橙色表示...
目標檢測之 IoU
iou 作為目標檢測演算法效能 map 計算的乙個非常重要的函式。但縱觀 iou 計算的介紹知識,都是直接給出 給出計算方法,沒有人徹底地分析過其中的邏輯,故本人書寫該篇部落格來介紹下其中的邏輯。iou 的全稱為交並比 intersection over union 通過這個名稱我們大概可以猜到 i...