IoU、GIoU、DIoU、CIoU損失函數


IoU、GIoU、DIoU、CIoU損失函數

目標檢測任務的損失函數由Classificition Loss和Bounding Box Regeression Loss兩部分構成。目標檢測任務中近幾年來Bounding Box Regression Loss Function的演進過程,其演進路線是

 

一、IOU(Intersection over Union)

1. 特性(優點)

IoU就是我們所說的交並比,是目標檢測中最常用的指標,在anchor-based的方法。作用不僅用來確定正樣本和負樣本,還可以用來評價輸出框(predict box)和ground-truth的距離。

 

 1. 可以說它可以反映預測檢測框與真實檢測框的檢測效果。

 2. 還有一個很好的特性就是尺度不變性,也就是對尺度不敏感(scale invariant), 在regression任務中,判斷predict box和gt的距離最直接的指標就是IoU。(滿足非負性;同一性;對稱性;三角不等性)

 2. 作為損失函數會出現的問題(缺點)

1. 如果兩個框沒有相交,根據定義,IoU=0,不能反映兩者的距離大小(重合度)。同時因為loss=0,沒有梯度回傳,無法進行學習訓練。

 2. IoU無法精確的反映兩者的重合度大小。如下圖所示,三種情況IoU都相等,但看得出來他們的重合度是不一樣的,左邊的圖回歸的效果最好,右邊的最差。

 

 二、GIOU(Generalized Intersection over Union)

1、來源

在CVPR2019中,論文

《Generalized Intersection over Union: A Metric and A Loss for Bounding Box Regression》
https:arxiv.org/abs/1902.09630

提出了GIoU的思想。由於IoU是比值的概念,對目標物體的scale是不敏感的。然而檢測任務中的BBox的回歸損失(MSE loss, l1-smooth loss等)優化和IoU優化不是完全等價的,而且 Ln 范數對物體的scale也比較敏感,IoU無法直接優化沒有重疊的部分。

 

 這篇論文提出可以直接把IoU設為回歸的loss。

 

 上面公式的意思是:先計算兩個框的最小閉包區域面積_ _(通俗理解:同時包含了預測框和真實框的最小框的面積),再計算出IoU,再計算閉包區域中不屬於兩個框的區域占閉包區域的比重,最后用IoU減去這個比重得到GIoU。

 附:https://github.com/generalized-iou/g-darknet

2、 特性[1]

與IoU相似,GIoU也是一種距離度量,作為損失函數的話, ,滿足損失函數的基本要求

GIoU對scale不敏感

GIoU是IoU的下界,在兩個框無線重合的情況下,IoU=GIoU

IoU取值[0,1],但GIoU有對稱區間,取值范圍[-1,1]。在兩者重合的時候取最大值1,在兩者無交集且無限遠的時候取最小值-1,因此GIoU是一個非常好的距離度量指標。

與IoU只關注重疊區域不同,GIoU不僅關注重疊區域,還關注其他的非重合區域,能更好的反映兩者的重合度。

 

 

 三、DIoU(Distance-IoU)[2]

1、來源

DIoU要比GIou更加符合目標框回歸的機制,將目標與anchor之間的距離,重疊率以及尺度都考慮進去,使得目標框回歸變得更加穩定,不會像IoU和GIoU一樣出現訓練過程中發散等問題。論文中

Distance-IoU
https://arxiv.org/pdf/1911.08287.pdf

基於IoU和GIoU存在的問題,作者提出了兩個問題:
1. 直接最小化anchor框與目標框之間的歸一化距離是否可行,以達到更快的收斂速度?
2. 如何使回歸在與目標框有重疊甚至包含時更准確、更快?

 

  其中,分別代表了預測框和真實框的中心點,且代表的是計算兩個中心點間的歐式距離。c代表的是能夠同時包含預測框和真實框的最小閉包區域的對角線距離。

 

 

 DIoU中對anchor框和目標框之間的歸一化距離進行了建模

附:

YOLOV3 DIoU GitHub項目地址
https//github.com/Zzh-tju/DIoU-darknet

2、優點

與GIoU loss類似,DIoU loss( )在與目標框不重疊時,仍然可以為邊界框提供移動方向。

DIoU loss可以直接最小化兩個目標框的距離,因此比GIoU loss收斂快得多。

對於包含兩個框在水平方向和垂直方向上這種情況,DIoU損失可以使回歸非常快,而GIoU損失幾乎退化為IoU損失。

DIoU還可以替換普通的IoU評價策略,應用於NMS中,使得NMS得到的結果更加合理和有效。

實現代碼:[3]

 

 

 四、CIoU(Complete-IoU)

論文考慮到bbox回歸三要素中的長寬比還沒被考慮到計算中,因此,進一步在DIoU的基礎上提出了CIoU。其懲罰項如下面公式:

 

 實現代碼:[5]

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM