博客專欄

        EEPW首頁 > 博客 > 目標(biāo)檢測(cè)回歸損失函數(shù)總結(jié)

        目標(biāo)檢測(cè)回歸損失函數(shù)總結(jié)

        發(fā)布人:計(jì)算機(jī)視覺工坊 時(shí)間:2021-11-06 來源:工程師 發(fā)布文章

        作者丨何杰文@知乎(已授權(quán))

        來源丨h(huán)ttps://zhuanlan.zhihu.com/p/422104433

        編輯丨極市平臺(tái)

        導(dǎo)讀

        本文總結(jié)了6個(gè)目標(biāo)檢測(cè)回歸損失函數(shù)的優(yōu)缺點(diǎn)以及對(duì)其公式的分析,

        演進(jìn)路線:Smooth L1->IoU->GIoU->DIoU->CIoU->EIOU Loss

        Smooth L1 Loss

        【動(dòng)機(jī)】 Smooth L1 Loss完美的避開了L1和L2 Loss的缺點(diǎn)

        L1 Loss的問題:損失函數(shù)對(duì)x的導(dǎo)數(shù)為常數(shù),在訓(xùn)練后期,x很小時(shí),如果learning rate 不變,損失函數(shù)會(huì)在穩(wěn)定值附近波動(dòng),很難收斂到更高的精度。

        L2 Loss的問題:損失函數(shù)對(duì)x的導(dǎo)數(shù)在x值很大時(shí),其導(dǎo)數(shù)也非常大,在訓(xùn)練初期不穩(wěn)定。

        【分析】

        SmoothL1對(duì)x的導(dǎo)數(shù)為:

        實(shí)際使用時(shí):

        其中image.png表示真實(shí)框坐標(biāo),表示預(yù)測(cè)的框坐標(biāo),即分別求4個(gè)點(diǎn)的loss,然后相加作為Bounding Box Regression Loss。

        1.jpg

        三種loss的曲線圖如圖所示,可以看到Smooth L1相比L1的曲線更加的Smooth

        【不足】 Smooth L1 Loss在計(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。

        IoU Loss(2016)

        論文地址:https://arxiv.org/pdf/1608.01471.pdf

        【動(dòng)機(jī)】 針對(duì)smooth L1沒有考慮box四個(gè)坐標(biāo)之間相關(guān)性的缺點(diǎn),

        【分析】 通過4個(gè)坐標(biāo)點(diǎn)獨(dú)立回歸Building boxes的缺點(diǎn):

        檢測(cè)評(píng)價(jià)的方式是使用IoU,而實(shí)際回歸坐標(biāo)框的時(shí)候是使用4個(gè)坐標(biāo)點(diǎn),如下圖所示,是不等價(jià)的;L1或者L2 Loss相同的框,其IoU 不是唯一的;

        通過4個(gè)點(diǎn)回歸坐標(biāo)框的方式是假設(shè)4個(gè)坐標(biāo)點(diǎn)是相互獨(dú)立的,沒有考慮其相關(guān)性,實(shí)際4個(gè)坐標(biāo)點(diǎn)具有一定的相關(guān)性;

        基于L1和L2的距離的loss對(duì)于尺度不具有不變性;

        2.jpg

        圖(a)中的三組框具有相同的L2 Loss,但其IoU差異很大;圖(b)中的三組框具有相同的L1 Loss,但I(xiàn)oU 同樣差異很大,說明L1,L2這些Loss用于回歸任務(wù)時(shí),不能等價(jià)于最后用于評(píng)測(cè)檢測(cè)的IoU.

        3.jpg

        Ious Loss公式

        IoU Loss定義如下:

        實(shí)際使用中簡(jiǎn)化為:

        【不足】

        當(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è)框是如何相交的。

        4.jpg

        GIOU Loss(2019)

        論文地址:https://arxiv.org/abs/1902.09630

        代碼地址:https://github.com/generalized-iou/g-darknet

        【動(dòng)機(jī)】 解決IoU Loss沒有考慮兩個(gè)框是如何相交

        【分析】

        GIoU定義如下:

        image.png

        實(shí)際使用時(shí):image.png

        GIoU 取值范圍為 [-1, 1],在兩框重合時(shí)取最大值1,在兩框無限遠(yuǎn)的時(shí)候取最小值-1;

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

        【實(shí)驗(yàn)】 GIoU Loss,在單階段檢測(cè)器YOLO v1漲了2個(gè)點(diǎn),兩階段檢測(cè)器漲點(diǎn)相對(duì)較少(原因分析:RPN的box比較多,兩個(gè)框未相交的數(shù)量相對(duì)較少)

        【不足】 當(dāng)真實(shí)框完全包裹預(yù)測(cè)框的時(shí)候,IoU 和 GIoU 的值都一樣,此時(shí) GIoU 退化為 IoU, 無法區(qū)分其相對(duì)位置關(guān)系。

        DIoU Loss(2019)

        論文地址:https://arxiv.org/pdf/1911.08287.pdf

        代碼鏈接:https://github.com/Zzh-tju/DIoU

        【動(dòng)機(jī)】 解決GIoU Loss缺點(diǎn)當(dāng)真實(shí)框完全包裹預(yù)測(cè)框的時(shí)候,IoU 和 GIoU 的值都一樣,引入距離

        【分析】

        基于IoU和GIoU存在的問題,作者提出了兩個(gè)問題:

        第一:直接最小化預(yù)測(cè)框與目標(biāo)框之間的歸一化距離是否可行,以達(dá)到更快的收斂速度。

        第二:如何使回歸在與目標(biāo)框有重疊甚至包含時(shí)更準(zhǔn)確、更快。

        好的目標(biāo)框回歸損失應(yīng)該考慮三個(gè)重要的幾何因素:重疊面積,中心點(diǎn)距離,長(zhǎng)寬比。

        針對(duì)問題一,作者提出了DIoU Loss,相對(duì)于GIoU Loss收斂速度更快,該Loss考慮了重疊面積和中心點(diǎn)距離,但沒有考慮到長(zhǎng)寬比;

        針對(duì)問題二,作者提出了CIoU Loss,其收斂的精度更高,以上三個(gè)因素都考慮到了。

        DIoU Loss 的定義如下:

        其中表示預(yù)測(cè)框和真實(shí)框中心點(diǎn)歐氏距離,c表示預(yù)測(cè)框和真實(shí)框最小外界矩形的對(duì)角線距離,如下圖所示:

        5.jpg

        綠色框?yàn)檎鎸?shí)框,黑色框?yàn)轭A(yù)測(cè)框,灰色框?yàn)閮烧叩淖钚⊥饨缇匦慰颍琩表示真實(shí)框和預(yù)測(cè)框的中心點(diǎn)距離,c表示最小外界矩形框的距離。

        當(dāng)2個(gè)框完全重合時(shí),

        當(dāng)2個(gè)框不相交時(shí):

        【不足】 邊框回歸的三個(gè)重要幾何因素:重疊面積、中心點(diǎn)距離和長(zhǎng)寬比,DIoU 沒有包含長(zhǎng)寬比因素。

        CIoU Loss(2019)

        論文地址:https://arxiv.org/pdf/1911.08287.pdf

        代碼地址:https://github.com/Zzh-tju/DIoU-darknet

        【動(dòng)機(jī)】 解決DIoU loss沒有包含長(zhǎng)寬比因素的不足

        【分析】

        CIoU的懲罰項(xiàng)是在DIoU的懲罰項(xiàng)基礎(chǔ)上加了一個(gè)影響因子。

        CIoU Loss定義為:

        其中  ,

        用于做trade-off的參數(shù)image.png

        【實(shí)驗(yàn)】

        6.jpg

        上表中左邊是用5種不同Boudning Box Regression Loss Function的對(duì)比,右邊是以IoU和GIoU來計(jì)算的2種Evaluation的結(jié)果;GIoU相對(duì)IoU會(huì)有2.49點(diǎn)提升,DIoU相對(duì)IoU會(huì)有3.29點(diǎn)提升,CIoU會(huì)有大概5.67點(diǎn)提升,CIoU結(jié)合DIoU-NMS使用效果最好,大概會(huì)有5.91點(diǎn)提升。

        【不足】 在CIoU的定義中,衡量長(zhǎng)寬比過于復(fù)雜,從兩個(gè)方面減緩了收斂速度

        image.png

        EIoU Loss(2021)

        論文地址:https://arxiv.org/pdf/2101.08158.pdf

        【動(dòng)機(jī)】 解決CIoU的定義中不足

        【亮點(diǎn)】 引入了解決樣本不平衡問題的Focal Loss思想

        【分析】

        將CIoU的  取代為

        EIoU Loss的定義為:

        Focal-EIoU Loss的定義為:

        focal loss可以理解為對(duì)損失加權(quán),常見的分類focal loss為:

        最后得到:

        【實(shí)驗(yàn)】 論文首先嘗試直接將EIoU帶入,但是效果不好,僅供思路參考,

        總結(jié):

        好的目標(biāo)框回歸損失應(yīng)該考慮三個(gè)重要的幾何因素:重疊面積,中心點(diǎn)距離,長(zhǎng)寬比, 對(duì)邊框間的物理描述愈發(fā)準(zhǔn)確。

        注意,使用時(shí)各種Loss算法的各個(gè)模塊之間的配合,例如IoU Loss與NMS算法的組合。

        本文僅做學(xué)術(shù)分享,如有侵權(quán),請(qǐng)聯(lián)系刪文。

        *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。

        led顯示器相關(guān)文章:led顯示器原理


        色差儀相關(guān)文章:色差儀原理


        關(guān)鍵詞: AI

        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 青海省| 平定县| 淮南市| 怀远县| 望城县| 固始县| 定边县| 蕉岭县| 金塔县| 绥滨县| 梁河县| 施秉县| 尼玛县| 辛集市| 百色市| 宜兰县| 凤山市| 搜索| 内黄县| 浦北县| 弥勒县| 清远市| 六盘水市| 新丰县| 洛宁县| 泉州市| 微山县| 连云港市| 寿阳县| 休宁县| 额尔古纳市| 佛坪县| 安丘市| 西宁市| 城口县| 北辰区| 手游| 阜城县| 阳新县| 城固县| 宣威市|