0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

對(duì)象檢測(cè)邊界框損失函數(shù)–從IOU到ProbIOU介紹

OpenCV學(xué)堂 ? 來(lái)源:OpenCV學(xué)堂 ? 2024-01-24 10:50 ? 次閱讀

概述

目標(biāo)檢測(cè)損失函數(shù)的選擇在目標(biāo)檢測(cè)問(wèn)題建模中至關(guān)重要。通常,目標(biāo)檢測(cè)需要兩個(gè)損失函數(shù),一個(gè)用于對(duì)象分類,另一個(gè)用于邊界框回歸(BBR)。本文將重點(diǎn)介紹 IoU 損失函數(shù)(GIoU 損失、DIoU 損失和 CIoU 損失、ProbIoU)。首先來(lái)了解一下什么是最原始的IoU定義

什么是IOU(并交比)

對(duì)象檢測(cè)中的 mAP(平均精度)指標(biāo)是根據(jù) IoU(交集超過(guò)并集)進(jìn)行評(píng)估的。因此,BBR使用基于 IoU 的損失函數(shù)來(lái)實(shí)現(xiàn)計(jì)算mAP,mAP的典型計(jì)算公式與表示如下:

b622cf5c-b9fb-11ee-8b88-92fbcf53809c.png

b63355ca-b9fb-11ee-8b88-92fbcf53809c.png

但是這種最原始的IoU并交比的損失計(jì)算方式是有缺陷的,如當(dāng)預(yù)測(cè)框與真實(shí)框沒(méi)有相交的時(shí)候,IoU損失就是0,這樣就導(dǎo)致了沒(méi)有梯度,導(dǎo)致訓(xùn)練的效果就會(huì)打折許多。

改進(jìn)之GIoU

于是有個(gè)聰明的人發(fā)現(xiàn),這樣可以稍微避免這種問(wèn)題的發(fā)生,就是把預(yù)測(cè)框與真實(shí)框(A與B)合起來(lái)求最小的外接矩形,就變成了如下:

b643a524-b9fb-11ee-8b88-92fbcf53809c.png

對(duì)應(yīng)的GIoU的計(jì)算公式就改成了:

b6505aee-b9fb-11ee-8b88-92fbcf53809c.png

下圖是分別基于L2與L1損失相同的情況下,IoU跟GIoU有明顯的差異比較。

b6595202-b9fb-11ee-8b88-92fbcf53809c.png

加入懲罰項(xiàng)因子以后,對(duì)于沒(méi)有重疊的預(yù)測(cè)也可以實(shí)現(xiàn)邊界框回歸了,從而改善了IoU的缺陷。論文給出的實(shí)驗(yàn)結(jié)果如下:

b67aae52-b9fb-11ee-8b88-92fbcf53809c.png

改進(jìn)之DIoU與CIoU

作者把IoU損失看成是一個(gè)通用的公式如下:

b68b8ad8-b9fb-11ee-8b88-92fbcf53809c.png

其中R是懲罰性因子,這樣R=0的時(shí)候就是普通的IoU損失,從而把IoU損失改進(jìn)看成是尋找好的懲罰性因子,然后作者通過(guò)一通神的思考以后給出了下面的懲罰性因子公式:

b69d552e-b9fb-11ee-8b88-92fbcf53809c.png

這樣 DIoU就出來(lái)

b6a9afc2-b9fb-11ee-8b88-92fbcf53809c.png

b6b405bc-b9fb-11ee-8b88-92fbcf53809c.png

這樣是不是梯度會(huì)大一些,回歸起來(lái)會(huì)更猛一點(diǎn),效果會(huì)更好點(diǎn)。但是作者說(shuō)好的BBR應(yīng)該考慮三個(gè)指標(biāo)分別是重疊、中心位置距離、橫縱比,DIoU只考慮前面兩個(gè),還有最后一個(gè)還沒(méi)有考慮到,所以還可以改進(jìn),改進(jìn)之后才是完整的IoU損失(CIoU),然后就得到了另外一個(gè)懲罰性因子公式跟對(duì)應(yīng)的CIoU損失:

b6c233f8-b9fb-11ee-8b88-92fbcf53809c.png

然后作者給出了實(shí)驗(yàn)結(jié)果:

b6da33ea-b9fb-11ee-8b88-92fbcf53809c.png

說(shuō)明CIoU開(kāi)掛了,所以YOLOv8默認(rèn)就是CIoU。

ProbIoU

ProbIoU可以實(shí)現(xiàn)OBB旋轉(zhuǎn)對(duì)象映射到GBB、然后實(shí)現(xiàn)預(yù)測(cè)框與真實(shí)框的回歸IoU損失功能,然后基于協(xié)方差矩陣,計(jì)算巴氏距離以后,再基于BD實(shí)現(xiàn)損失計(jì)算

b6f2fec0-b9fb-11ee-8b88-92fbcf53809c.png

跟原始的IoU比較,有明顯的改善:

b6fd097e-b9fb-11ee-8b88-92fbcf53809c.png

然后它自己說(shuō)靠譜,所以YOLOv8的旋轉(zhuǎn)對(duì)象檢測(cè)就采用了ProbIoU來(lái)做BBR。




審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • MAP
    MAP
    +關(guān)注

    關(guān)注

    0

    文章

    49

    瀏覽量

    15144

原文標(biāo)題:對(duì)象檢測(cè)邊界框損失 – 從IOU到ProbIOU

文章出處:【微信號(hào):CVSCHOOL,微信公眾號(hào):OpenCV學(xué)堂】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    TensorFlow損失函數(shù)(定義和使用)詳解

    正如前面所討論的,在回歸中定義了損失函數(shù)或目標(biāo)函數(shù),其目的是找到使損失最小化的系數(shù)。本節(jié)將介紹如何在 TensorFlow 中定義
    發(fā)表于 07-28 14:38

    結(jié)合預(yù)測(cè)和目標(biāo)之間的歸一化距離來(lái)提出距離-IoU (DIoU) Loss

    1、IoU深入解析  邊界回歸是目標(biāo)檢測(cè)的關(guān)鍵步驟,在現(xiàn)有方法中,雖然-norm loss 被廣泛用于邊界
    發(fā)表于 11-14 15:46

    YOLOv5全面解析教程之目標(biāo)檢測(cè)模型精確度評(píng)估

    ):分類器把負(fù)例正確的分類-預(yù)測(cè)為負(fù)例(yolov5中沒(méi)有應(yīng)用到)  yolov5中沒(méi)有應(yīng)用TN的原因: TN代表的是所有可能的未正確檢測(cè)到的邊界。然而在yolo在目標(biāo)檢測(cè)任務(wù)中,每
    發(fā)表于 11-21 16:40

    基于YOLOX目標(biāo)檢測(cè)算法的改進(jìn)

    ,忽視了坐標(biāo)間的關(guān)聯(lián)性。2016 年,Yu et al.在人臉檢測(cè)任務(wù)中提出了 Intersection over Union(IoU)損失函數(shù)以建立坐標(biāo)之間的關(guān)聯(lián)性,提升
    發(fā)表于 03-06 13:55

    深度學(xué)習(xí):什么是IoU?

    IoU是一種測(cè)量在特定數(shù)據(jù)集中檢測(cè)相應(yīng)物體準(zhǔn)確度的一個(gè)標(biāo)準(zhǔn)。IoU是一個(gè)簡(jiǎn)單的測(cè)量標(biāo)準(zhǔn),只要是在輸出中得出一個(gè)預(yù)測(cè)范圍(bounding boxex)的任務(wù)都可以用IoU來(lái)進(jìn)行測(cè)量。
    發(fā)表于 02-01 01:58 ?6.6w次閱讀

    一種新的帶有不確定性的邊界回歸損失,可用于學(xué)習(xí)更準(zhǔn)確的目標(biāo)定位

    目標(biāo)檢測(cè)是一種多任務(wù)學(xué)習(xí)問(wèn)題,包含目標(biāo)定位和目標(biāo)分類。當(dāng)前最佳的目標(biāo)檢測(cè)器(比如 Faster RCNN、Cascade R-CNN 和 Mask R-CNN)都依靠邊界回歸來(lái)定位目
    的頭像 發(fā)表于 04-23 16:38 ?6457次閱讀
    一種新的帶有不確定性的<b class='flag-5'>邊界</b><b class='flag-5'>框</b>回歸<b class='flag-5'>損失</b>,可用于學(xué)習(xí)更準(zhǔn)確的目標(biāo)定位

    一種新的、更精細(xì)的對(duì)象表示方法 ——RepPoints ,比邊界更好用的目標(biāo)檢測(cè)方法

    雖然邊界便于計(jì)算,但它們僅提供目標(biāo)的粗略定位,并不完全擬合對(duì)象的形狀和姿態(tài)。因此,邊界的規(guī)
    的頭像 發(fā)表于 05-05 10:58 ?7418次閱讀
    一種新的、更精細(xì)的<b class='flag-5'>對(duì)象</b>表示方法 ——RepPoints ,比<b class='flag-5'>邊界</b><b class='flag-5'>框</b>更好用的目標(biāo)<b class='flag-5'>檢測(cè)</b>方法

    三種常見(jiàn)的損失函數(shù)和兩種常用的激活函數(shù)介紹和可視化

    從上面闡釋的步驟可以看出,神經(jīng)網(wǎng)絡(luò)中的權(quán)重由損失函數(shù)的導(dǎo)數(shù)而不是損失函數(shù)本身來(lái)進(jìn)行更新或反向傳播。因此,損失
    的頭像 發(fā)表于 05-05 11:42 ?7165次閱讀
    三種常見(jiàn)的<b class='flag-5'>損失</b><b class='flag-5'>函數(shù)</b>和兩種常用的激活<b class='flag-5'>函數(shù)</b><b class='flag-5'>介紹</b>和可視化

    RepPoints 比邊界更好用的目標(biāo)檢測(cè)方法

    來(lái)自北京大學(xué)、清華大學(xué)和微軟亞洲研究院的研究人員提出一種新的、更精細(xì)的對(duì)象表示方法RepPoints,拋棄了流行的邊界表示,結(jié)果與最先進(jìn)的基于 anchor 的檢測(cè)方法同樣有效。
    的頭像 發(fā)表于 05-09 17:25 ?5843次閱讀
    RepPoints 比<b class='flag-5'>邊界</b><b class='flag-5'>框</b>更好用的目標(biāo)<b class='flag-5'>檢測(cè)</b>方法

    損失函數(shù)的簡(jiǎn)要介紹

    例如,你有一個(gè)神經(jīng)網(wǎng)絡(luò),通過(guò)該網(wǎng)絡(luò)可以獲取一些與房屋有關(guān)的數(shù)據(jù)并預(yù)測(cè)其價(jià)格。在這種情況下,你可以使用MSE(均方誤差)損失?;旧?,在輸出為實(shí)數(shù)的情況下,應(yīng)使用此損失函數(shù)
    的頭像 發(fā)表于 04-17 10:01 ?3629次閱讀

    機(jī)器學(xué)習(xí)和深度學(xué)習(xí)中分類與回歸常用的幾種損失函數(shù)

    本文將介紹機(jī)器學(xué)習(xí)、深度學(xué)習(xí)中分類與回歸常用的幾種損失函數(shù),包括均方差損失 Mean Squared Loss、平均絕對(duì)誤差損失 Mean
    的頭像 發(fā)表于 10-09 16:36 ?6239次閱讀
    機(jī)器學(xué)習(xí)和深度學(xué)習(xí)中分類與回歸常用的幾種<b class='flag-5'>損失</b><b class='flag-5'>函數(shù)</b>

    val.py源碼解讀

    邊界損失(box_loss):該損失用于衡量模型預(yù)測(cè)的邊界與真實(shí)
    的頭像 發(fā)表于 02-20 14:50 ?1496次閱讀

    PyTorch教程-14.7。單發(fā)多檢測(cè)

    SageMaker Studio Lab 中打開(kāi)筆記本 在第 14.3 節(jié)第 14.6 節(jié)中,我們介紹邊界、錨、多尺度目標(biāo)
    的頭像 發(fā)表于 06-05 15:44 ?637次閱讀
    PyTorch教程-14.7。單發(fā)多<b class='flag-5'>框</b><b class='flag-5'>檢測(cè)</b>

    每日一課 | 智慧燈桿視覺(jué)技術(shù)之對(duì)象檢測(cè)技術(shù)簡(jiǎn)介

    3.2.2對(duì)象檢測(cè)圖3-5對(duì)象檢測(cè)對(duì)象檢測(cè)中的識(shí)別對(duì)象
    的頭像 發(fā)表于 03-05 10:14 ?557次閱讀
    每日一課 | 智慧燈桿視覺(jué)技術(shù)之<b class='flag-5'>對(duì)象</b><b class='flag-5'>檢測(cè)</b>技術(shù)簡(jiǎn)介

    縱觀全局:YOLO助力實(shí)時(shí)物體檢測(cè)原理及代碼

    YOLO 流程的最后一步是將邊界預(yù)測(cè)與類別概率相結(jié)合,以提供完整的檢測(cè)輸出。每個(gè)邊界的置信度分?jǐn)?shù)由類別概率調(diào)整,確保
    的頭像 發(fā)表于 03-30 14:43 ?2433次閱讀