從L1 loss到EIoU loss,目標(biāo)檢測(cè)邊框回歸的損失函數(shù)一覽

極市導(dǎo)讀
?目標(biāo)檢測(cè)任務(wù)的損失函數(shù)由Classificition Loss和BBox Regeression Loss兩部分構(gòu)成。本文介紹目標(biāo)檢測(cè)任務(wù)中近幾年來Bounding Box Regression Loss Function的演進(jìn)過程。?>>加入極市CV技術(shù)交流群,走在計(jì)算機(jī)視覺的最前沿
目標(biāo)檢測(cè)任務(wù)的損失函數(shù)由Classificition Loss和BBox Regeression Loss兩部分構(gòu)成。本文介紹目標(biāo)檢測(cè)任務(wù)中近幾年來Bounding Box Regression Loss Function的演進(jìn)過程,其演進(jìn)路線是 Smooth L1 Loss??IoU Loss??GIoU Loss??DIoU Loss??CIoU Loss??EIoU Loss,本文按照此路線進(jìn)行講解。
L1/L2 Loss
L1/L2 Loss 的定義
此前回歸一般采用??Loss,定義如下:

L1/L2 Loss 的缺點(diǎn)
但是這兩者存在一些缺點(diǎn):
L1 Loss 對(duì) x 的導(dǎo)數(shù)為常數(shù),由于 x 代表真實(shí)值與預(yù)測(cè)值的差值,故在訓(xùn)練后期,x 很小時(shí),如果學(xué)習(xí)率不變,損失函數(shù)會(huì)在穩(wěn)定值附近波動(dòng),難以收斂到更高精度; L2 Loss 在 x 值很大時(shí),其導(dǎo)數(shù)非常大,故在訓(xùn)練初期不穩(wěn)定。
Smooth L1 Loss
Smooth L1 Loss 的定義
針對(duì)??Loss 存在的缺點(diǎn),修正后得到??[1]:

?在 x 較小時(shí)為 L2 Loss,在 x 較大時(shí)為 L1 Loss,揚(yáng)長避短。應(yīng)用在目標(biāo)檢測(cè)的邊框回歸中,位置損失如下所示:

其中??表示 bbox 位置的真實(shí)值,??表示 bbox 位置回歸的預(yù)測(cè)值。
Smooth L1 Loss 的缺點(diǎn)
?在計(jì)算目標(biāo)檢測(cè)的 bbox loss時(shí),都是獨(dú)立的求出4個(gè)點(diǎn)的 loss,然后相加得到最終的 bbox loss。這種做法的默認(rèn)4個(gè)點(diǎn)是相互獨(dú)立的,與實(shí)際不符。舉個(gè)例子,當(dāng)(x, y)為右下角時(shí),w h其實(shí)只能取0; 目標(biāo)檢測(cè)的評(píng)價(jià) bbox 的指標(biāo)是 IoU,IoU 與??的變化不匹配。
IoU Loss
IoU Loss 的定義
針對(duì)??Loss 的缺點(diǎn),IoU Loss[2]如下:
實(shí)現(xiàn)時(shí)甚至簡化為:
IoU 計(jì)算讓 x, y, w, h 相互關(guān)聯(lián),同時(shí)具備了尺度不變性,克服了??Loss 的缺點(diǎn)。
IoU Loss 的缺點(diǎn)
當(dāng)然 IoU Loss 也并不完美:
當(dāng)預(yù)測(cè)框和目標(biāo)框不相交,即 IoU(bbox1, bbox2)=0 時(shí),不能反映兩個(gè)框距離的遠(yuǎn)近,此時(shí)損失函數(shù)不可導(dǎo),IoU Loss 無法優(yōu)化兩個(gè)框不相交的情況。 假設(shè)預(yù)測(cè)框和目標(biāo)框的大小都確定,只要兩個(gè)框的相交值是確定的,其 IoU 值是相同時(shí),IoU 值不能反映兩個(gè)框是如何相交的,如圖所示:

灰色框?yàn)檎鎸?shí)框,虛線框?yàn)轭A(yù)測(cè)框。這兩者情況的IoU相同,但是這兩個(gè)框的匹配狀態(tài)不一樣。我們認(rèn)為右邊框匹配的好一點(diǎn),因?yàn)樗ヅ涞慕嵌雀谩9氏挛亩x了GIoU。
GIoU Loss
GIoU 的定義
承接上一小節(jié)提到的情況,IoU 不能區(qū)分一些相交的情況,故論文[3]提出GIoU作為度量指標(biāo)。
GIoU 的實(shí)現(xiàn)方式如上式,其中 C 為 A 和 B 的外接矩形。用 C 減去 A 和 B 的并集除以 C 得到一個(gè)數(shù)值,然后再用 A 和 B 的 IoU 減去這個(gè)數(shù)值即可得到 GIoU 的值??梢钥闯觯?/p>
GIoU 取值范圍為 [-1, 1],在兩框重合時(shí)取最大值1,在兩框無限遠(yuǎn)的時(shí)候取最小值-1; 與 IoU 只關(guān)注重疊區(qū)域不同,GIoU不僅關(guān)注重疊區(qū)域,還關(guān)注其他的非重合區(qū)域,能更好的反映兩者的重合度。
GIoU Loss 的定義
定義了 GIoU 之后,按照 IoU Loss 的思路定義 GIoU Loss:
GIoU Loss 的缺點(diǎn)
當(dāng)目標(biāo)框完全包裹預(yù)測(cè)框的時(shí)候,IoU 和 GIoU 的值都一樣,此時(shí) GIoU 退化為 IoU, 無法區(qū)分其相對(duì)位置關(guān)系。

灰色框?yàn)檎鎸?shí)框,綠色為預(yù)測(cè)框,上圖三種情況GIoU均相同,但是我們認(rèn)為中間的預(yù)測(cè)框應(yīng)該由于另外兩個(gè)框。
DIoU Loss
DIoU 的定義
針對(duì) IoU和GIoU 的缺點(diǎn),論文[4]總結(jié)提出了邊框回歸的三個(gè)重要幾何因素:重疊面積、中心點(diǎn)距離和長寬比,提出 DIoU和CIoU,本節(jié)先介紹 DIoU。
首先,論文[^ 4]總結(jié)了 IoU-based loss 的范式:
?表示預(yù)測(cè)框與真實(shí)框的懲罰項(xiàng),將懲罰項(xiàng)設(shè)置為:
其中??表示框的中心點(diǎn),??表示歐氏距離,c 表示最小外接矩形的對(duì)角線距離,故 DIoU 如下所示:
DIoU 就是在 IoU 基礎(chǔ)上加入中心點(diǎn)歸一化距離,所以可以更好地表達(dá)兩個(gè)框的距離。同時(shí),文章利用 DIoU 距離,設(shè)計(jì)了 DIoU-nms。
DIoU Loss 的定義
根據(jù)范式,DIoU Loss:
DIoU Loss 的缺點(diǎn)
邊框回歸的三個(gè)重要幾何因素:重疊面積、中心點(diǎn)距離和長寬比,DIoU 沒有包含長寬比因素。
CIoU Loss
CIoU 的定義
CIoU[^ 4] 在 DIoU 的基礎(chǔ)上,增加了長寬比影響因子??,合并到懲罰項(xiàng):
其中 v 用于衡量長寬比的一致性,??用于平衡 v 的值,設(shè)為:

CIoU Loss 的定義
v的導(dǎo)數(shù):
CIoU Loss 的缺點(diǎn)
在CIoU的定義中,衡量長寬比的過于復(fù)雜,從兩個(gè)方面減緩了收斂速度:
長寬比不能取代單獨(dú)的長寬,比如??都會(huì)導(dǎo)致v=0; 從v的導(dǎo)數(shù)可以得到??,這說明??和??在優(yōu)化中意義相反。
EIoU Loss
EIoU 的定義
論文[5]用??取代?即可。
EIoU Loss的定義
Focal-EIoU Loss的定義
focal loss可以理解為對(duì)損失加權(quán),常見的分類focal loss為??。本文首先嘗試直接將EIoU帶入,但是效果不好,最后得到:

Conclusion
總的來看,我認(rèn)為目標(biāo)檢測(cè)邊框回歸的損失函數(shù)設(shè)計(jì)應(yīng)當(dāng)遵循以下原則:
應(yīng)該按照邊框的物理含義定義邊框間的距離,以設(shè)計(jì)損失函數(shù)。從??到??,對(duì)邊框間距離的物理描述愈發(fā)準(zhǔn)確。 注意算法各個(gè)模塊之間的配合,比如 DIoU 與 DIoU-nms 組合才能達(dá)到更好的效果。
參考
^Girshick R. Fast r-cnn[C]//Proceedings of the IEEE international conference on computer vision. 2015: 1440-1448. ^Yu J, Jiang Y, Wang Z, et al. Unitbox: An advanced object detection network[C]//Proceedings of the 24th ACM international conference on Multimedia. 2016: 516-520. ^Rezatofighi H, Tsoi N, Gwak J Y, et al. Generalized intersection over union: A metric and a loss for bounding box regression[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 658-666. ^Zheng Z, Wang P, Liu W, et al. Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression[J]. arXiv preprint arXiv:1911.08287, 2019. ^Focal and Efficient IOU Loss for Accurate Bounding Box Regression
推薦閱讀

