目標檢測回歸損失函數簡介SmoothL1/IoU/GIoU/DIoU/CIoU Loss


目標檢測任務的損失函數由 Classificition Loss 和 Bounding Box Regeression Loss 兩部分構成。本文介紹目標檢測任務中近幾年來Bounding Box Regression Loss Function的演進過程,其演進路線是Smooth L1 Loss[公式] IoU Loss[公式] GIoU Loss [公式] DIoU Loss [公式] CIoU Loss,本文按照此路線進行講解。

 

 

 

IOU

介紹

IoU 的全稱為交並比(Intersection over Union),通過這個名稱我們大概可以猜到 IoU 的計算方法。IoU 計算的是 “預測的邊框” 和 “真實的邊框” 的交集和並集的比值。計算過程如下:

 

 

 

IOU的優點:

IOU可以作為距離,loss=1-IOU。但是當兩個物體不相交時無回傳梯度。
IOU對尺度變化具有不變性,即不受兩個物體尺度大小的影響。
以A,B兩個box重合的情況為例,若boxes1=[[0,0,10,10],[0,0,5,5]],boxes2=[[0,0,10,10],[0,0,5,5]],此時IOU=[1,1]
IOU的缺點:
無法衡量兩框是相鄰還是甚遠
如下圖2所示,兩種情況下IOU均為0,(a)中兩框距離較近,(b)中兩框明顯距離要遠,但是僅從IOU數值上無法判斷兩者距離較近還是較遠(兩個物體不相交時無回傳梯度)
IOU不能反映兩個物體如何重疊(相交方式)。

 

 

 


如下圖3所示,兩種情況下的IOU均為0.1428,(a)中兩框要比(b)中的相交更整齊一些,但是IOU並沒有反映出這個特點。

 

 

 

GIOU

介紹

GIOU是為克服IOU的缺點同時充分利用優點而提出的.(論文:Generalized Intersection over Union: A Metric and A Loss for Bounding Box Regression)

 

 

 

1.假設A為預測框B為真實框S是所有框的集合
2.不管A與B是否相交,C是包含A與B的最小框(包含A與B的最小凸閉合框),C也屬於S集合
3.首先計算IoU,A與B的交並比
4.再計算C框中沒有A與B的面積,比上C框面積;
5.IoU減去前面算出的比;得到GIoU
6.Note:本文提出的例子中A、B均是矩形框,但是也可以為其他的。比如:A、B為橢圓形,那么此時C將是包含A、B的最小橢圓形;或者A、B均是3D box也可。

論文作者給出幾個GIoU的性質

對尺度的不變性
GIoU可認為是IoU的下界,小於等於IoU
如boxes1=[0,0,10,10],boxes2=[0,0,10,10],此時IOU=1,GIOU=1,這種情況下A與B重合
boxes1=[0,0,10,10],boxes2=[0,10,10,20],此時IOU=0,GIOU=0
boxes1=[0,0,10,10],boxes2=[5,5,15,15],此時IOU=0.1428,GIOU=-0.07936
-1<=GIoU<=1,當A=B時,GIoU=IoU=1;當A與B不相交而且離得很遠時,GIoU(A,B)趨向於-1。
如boxes1=[[10,10,15,15],[100,100,105,105]],boxes2=[5,5,10,10],計算的GIOU為[-0.5,-0.995],即A與B不相交,隨着兩者距離增加,GIOU值將趨向於-1,如下圖6所示。
因此選用loss=1-GIoU
GIoU能夠更好地反應相交情況。如上面圖3所示,雖然兩種情況下IOU一致,但是(a)中相交的更為整齊,因此GIOU要比(b)中大。

 

 

 GIoU最主要的作用

(1)對於相交的框,IOU可以被反向傳播,即它可以直接用作優化的目標函數。但是非相交的,梯度將會為0,無法優化。此時使用GIoU可以完全避免此問題。所以可以作為目標函數
(2)可以分辨框的對齊方式

DIOU

介紹

由於IOU Loss在候選框和真實框沒有重疊的時候不提供任何移動梯度(LIoU=1-IOU始終為1),於是GIOU Loss引入了一個懲罰項(即圖5中的(C-A並B)/C)。由於懲罰項的引入,在不重疊的情況下,預測框會向目標框移動。
但是考慮如下圖圖7情況。

 

 

 當出現上圖情況時,GIoU Loss完全降級成IoU Loss,因此引入DIoU Loss
,DIoU Loss是在IoU Loss基礎上引入一個懲罰項,定義如下:

計算公式
上述損失函數中,b,bgt別代表了anchor框目標框的中心點,且p代表的是計算兩個中心點間的歐式距離c代表的是能夠同時覆蓋anchor和目標框的最小矩形的對角線距離。因此DIoU中對anchor框和目標框之間的歸一化距離進行了建模。直觀的展示如下圖所示。


圖8 距離計算展示

DIoU的優點如下:
1.與GIoU loss類似,DIoU loss在與目標框不重疊時,仍然可以為邊界框提供移動方向。
2.DIoU loss可以直接最小化兩個目標框的距離,而GIOU loss優化的是兩個目標框之間的面積,因此比GIoU loss收斂快得多。
3.對於包含兩個框在水平方向和垂直方向上這種情況,DIoU損失可以使回歸非常快,而GIoU損失幾乎退化為IoU損失

CIOU

介紹
一個好的目標框回歸損失應該考慮三個重要的幾何因素:重疊面積、中心點距離、長寬比
GIoU:為了歸一化坐標尺度,利用IoU,並初步解決IoU為零的情況。
DIoU:DIoU損失同時考慮了邊界框的重疊面積和中心點距離。
然而,anchor框和目標框之間的長寬比的一致性也是極其重要的。基於此,論文作者提出了Complete-IoU Loss。
CIOU Loss又引入一個box長寬比的懲罰項,該Loss考慮了box的長寬比,定義如下:

CIOU Loss計算

上述損失函數中,CIoU比DIoU多出了α和v這兩個參數。其中α是用於平衡比例的參數。v用來衡量anchor框和目標框之間的比例一致性。
懲罰項說明
從α參數的定義可以看出,損失函數會更加傾向於往重疊區域增多方向優化,尤其是IoU為零的時候。

DIOU CIOU結果分析

圖9 DIOU CIOU和GIOU結果對比分析

總結

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

 


免責聲明!

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



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