国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU

這篇具有很好參考價值的文章主要介紹了YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

  • 由于本人水平有限,難免出現(xiàn)錯漏,敬請批評改正。
  • 更多精彩內(nèi)容,可點擊進入YOLO系列專欄或我的個人主頁查看

前提條件

  • 熟悉Python

相關介紹

  • Python是一種跨平臺的計算機程序設計語言。是一個高層次的結(jié)合了解釋性、編譯性、互動性和面向?qū)ο蟮哪_本語言。最初被設計用于編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越多被用于獨立的、大型項目的開發(fā)。
  • PyTorch 是一個深度學習框架,封裝好了很多網(wǎng)絡和深度學習相關的工具方便我們調(diào)用,而不用我們一個個去單獨寫了。它分為 CPU 和 GPU 版本,其他框架還有 TensorFlow、Caffe 等。PyTorch 是由 Facebook 人工智能研究院(FAIR)基于 Torch 推出的,它是一個基于 Python 的可續(xù)計算包,提供兩個高級功能:1、具有強大的 GPU 加速的張量計算(如 NumPy);2、構(gòu)建深度神經(jīng)網(wǎng)絡時的自動微分機制。

IoU(Intersection over Union)

  • 交并比(IoU)是一種用于衡量兩個邊界框之間重疊程度的指標。它是通過計算兩個邊界框的交集面積與并集面積之比來計算的。在目標檢測中,IoU通常用于衡量預測框和真實框之間的重疊程度,以評估目標檢測算法的準確性。如果IoU值越高,則表示預測框和真實框之間的重疊程度越高,因此預測結(jié)果越準確。
    YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU
  • 優(yōu)點:
    • IoU是目標檢測中最常用的指標之一,可以用來評價目標檢測算法的準確性。 IoU可以幫助我們確定正樣本和負樣本。
    • IoU可以幫助我們評估輸出框(predict box)和ground truth box之間的重疊程度。
  • 缺點:
    • IoU只能衡量兩個邊界框之間的重疊程度,不能衡量其他因素,如形狀、顏色等。
    • IoU不適用于所有類型的目標檢測任務。

由于 I o U IoU IoU的公式定義,作為損失函數(shù)會出現(xiàn)的問題。比如,

  1. 當預測框和目標框不相交時,IoU=0,無法反應兩個框距離的遠近,此時損失函數(shù)不可導,IoU無法優(yōu)化兩個框不相交的情況。
    YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU
  2. 當IoU也相同時,會出現(xiàn)預測框和目標框相交位置不一樣的情況,IoU無法區(qū)分兩者相交情況的不同。
    YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU

GIoU(Generalized-IoU)

  • 在CVPR2019中,論文《Generalized Intersection over Union: A Metric and A Loss for Bounding Box Regression》
    的提出了GIoU的思想。由于IoU是比值的概念,對目標物體的scale是不敏感的。然而檢測任務中的BBox的回歸損失(MSE loss, l1-smooth loss等)優(yōu)化和IoU優(yōu)化不是完全等價的,而且 Ln 范數(shù)對物體的scale也比較敏感,IoU無法直接優(yōu)化沒有重疊的部分。
  • GIoU是一種用于目標檢測的損失函數(shù),它是IoU的改進版。GIoU的全稱是Generalized Intersection over Union,它是一種度量和損失函數(shù),用于衡量兩個邊界框之間的重疊程度。GIoU的目標是在損失函數(shù)中加入一個ground truth和預測框構(gòu)成的閉包的懲罰,它的懲罰項是閉包減去兩個框的并集后的面積在閉包中的比例越小越好。GIoU中,增加了相交尺度的衡量方式。
  • 公式: G I o U = I o U ? ∣ A c ? U ∣ ∣ A c ∣ GIoU=IoU-\frac{|A_c-U|}{|A_c|} GIoU=IoU?Ac?Ac??U?
    公式的含義:先計算兩個框的最小閉包區(qū)域面積 A c A_c Ac?(即同時包含了預測框和真實框的最小框的面積),再計算出 I o U IoU IoU,再計算閉包區(qū)域中不屬于兩個框的區(qū)域占閉包區(qū)域的比重,最后用 I o U IoU IoU減去這個比重得到 G I o U GIoU GIoU。
  • 優(yōu)點:
    • 它能夠反映檢測效果,即使在沒有重疊區(qū)域的情況下,它也能夠反映檢測效果。
    • GIoU損失函數(shù)的目標是在損失函數(shù)中加入一個ground truth和預測框構(gòu)成的閉包的懲罰,它的懲罰項是閉包減去兩個框的并集后的面積在閉包中的比例越小越好。
  • 缺點:
    • 計算量大,因為它需要計算兩個框之間的交集和并集。此外,GIoU對于小目標和大目標之間的距離不敏感,這可能會導致一些問題.

由于 G I o U GIoU GIoU的公式定義,作為損失函數(shù) L G I o U = 1 ? G I o U L_{GIoU}=1-GIoU LGIoU?=1?GIoU會出現(xiàn)的問題。比如,

  1. 預測框在目標框內(nèi)部且預測框大小一致的情況,這時預測框和目標框的差集都是相同的,因此這三種狀態(tài)的GIoU值也都是相同的,這時GIoU退化成了IoU,無法區(qū)分相對位置關系。
    YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU

DIoU(Distance-IoU)

  • DIoU是GIoU的改進版,它考慮了目標框和anchor之間的距離、重疊率和尺度,使得目標框回歸變得更加穩(wěn)定,不會像IoU和GIoU一樣出現(xiàn)訓練過程中發(fā)散等問題。
    基于IoU和GIoU存在的問題,作者提出了兩個問題:
    • 直接最小化anchor框與目標框之間的歸一化距離是否可行,以達到更快的收斂速度?
    • 如何使回歸在與目標框有重疊甚至包含時更準確、更快?
  • 公式: D I o U = I o U ? ρ 2 ( b , b g t ) c 2 DIoU=IoU-\frac{\rho2(b,b^{gt})}{c^2} DIoU=IoU?c2ρ2(b,bgt)?
    YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU
  • 其中, b , b g t b,b^{gt} b,bgt 分別代表了預測框和真實框的中心點,且 ρ \rho ρ代表的是計算兩個中心點間的歐式距離, c c c代表的是能夠同時包含預測框和真實框的最小閉包區(qū)域的對角線距離。
  • 優(yōu)點:
    • 它能夠反映檢測效果,即使在沒有重疊區(qū)域的情況下,它也能夠反映檢測效果。
    • DIoU對于小目標和大目標之間的距離更加敏感,這可能會解決GIoU存在的問題。

由于 D I o U DIoU DIoU的公式定義,作為損失函數(shù) L D I o U = 1 ? D I o U L_{DIoU}=1-DIoU LDIoU?=1?DIoU會出現(xiàn)的問題。比如,

  1. DIoU考慮了重疊面積和中心點距離,當目標框包裹預測框的時候,直接度量2個框的距離,因此DIoU收斂的更快,但并沒有考慮到長寬比。
    YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU
    從上圖可以看到,不同長寬比的預測框, ρ \rho ρ兩個中心點間的歐式距離相同。

CIoU (Complete-IoU)

  • CIoU是DIoU的改進版,它在DIoU的基礎上加入了長寬比的計算,使得目標框回歸更加穩(wěn)定,不會像IoU和GIoU一樣出現(xiàn)訓練過程中發(fā)散等問題。
  • 公式: C I o U = I o U ? ρ 2 ( b , b g t ) c 2 ? α v CIoU=IoU - \frac{\rho2(b,b^{gt})}{c^2} - \alpha v CIoU=IoU?c2ρ2(b,bgt)??αv
  • 其中, b , b g t b,b^{gt} b,bgt分別代表了預測框和真實框的中心點,\rho代表的是計算兩個中心點間的歐式距離, c c c代表的是能夠同時包含預測框和真實框的最小閉包區(qū)域的對角線距離, α \alpha α是權(quán)重函數(shù), v v v分別代表了預測框和真實框的長寬比之間的差異。
  • v v v是衡量長寬比一致性的參數(shù),具體地, v v v的計算公式如下
    v = 4 π 2 ( arctan ? ( w g t h g t ) ? arctan ? ( w p h p ) ) v = \frac{4}{\pi^2}(\arctan(\frac{w^{gt}}{h^{gt}}) - \arctan(\frac{w_p}{h_p})) v=π24?(arctan(hgtwgt?)?arctan(hp?wp??))
    其中, w p w_p wp? h p h_p hp?分別代表了預測框的寬和高, w g t w^{gt} wgt h g t h^{gt} hgt分別代表了真實框的寬和高。
  • C I o U CIoU CIoU的損失函數(shù)為 L C I o U = 1 ? C I o U L_{CIoU} = 1 - CIoU LCIoU?=1?CIoU

EIoU(Efficient-IoU)

  • CIoU Loss雖然考慮了邊界框回歸的重疊面積、中心點距離、縱橫比。但是通過其公式中的v反映的縱橫比的差異,而不是寬高分別與其置信度的真實差異,所以有時會阻礙模型有效的優(yōu)化相似性。針對這一問題,有學者在CIoU的基礎上將縱橫比拆開,提出了EIoU Loss,并且加入Focal聚焦優(yōu)質(zhì)的錨框,該方法出自于2021年的一篇文章《Focal and Efficient IOU Loss for Accurate Bounding Box Regression》
  • 公式: E I o U = I o U ? ρ 2 ( b , b g t ) c 2 ? ρ 2 ( w , w g t ) c w 2 ? ρ 2 ( h , h g t ) c h 2 EIoU=IoU - \frac{\rho2(b,b^{gt})}{c^2} - \frac{\rho2(w,w^{gt})}{c_w^2} - \frac{\rho2(h,h^{gt})}{c_h^2} EIoU=IoU?c2ρ2(b,bgt)??cw2?ρ2(w,wgt)??ch2?ρ2(h,hgt)?
  • 其中 C w C_w Cw? C h C_h Ch? 是覆蓋兩個Box的最小外接框的寬度和高度。
  • EIoU的懲罰項是在CIoU的懲罰項基礎上將縱橫比的影響因子拆開分別計算目標框和錨框的長和寬,該損失函數(shù)包含三個部分:重疊損失,中心距離損失,寬高損失,前兩部分延續(xù)CIoU中的方法,但是寬高損失直接使目標盒與錨盒的寬度和高度之差最小,使得收斂速度更快。EIoU損失函數(shù)懲罰項公式如下:
    L E I o U = 1 ? E I o U = 1 ? I o U + ρ 2 ( b , b g t ) c 2 + ρ 2 ( w , w g t ) c w 2 + ρ 2 ( h , h g t ) c h 2 L_{EIoU}=1-EIoU=1- IoU + \frac{\rho2(b,b^{gt})}{c^2} + \frac{\rho2(w,w^{gt})}{c_w^2} + \frac{\rho2(h,h^{gt})}{c_h^2} LEIoU?=1?EIoU=1?IoU+c2ρ2(b,bgt)?+cw2?ρ2(w,wgt)?+ch2?ρ2(h,hgt)?
  • 優(yōu)點:
    • EIoU在CIoU的基礎上分別計算寬高的差異值取代了縱橫比。

YOLOv5源代碼中加入EIoU

在YOLOv5項目utils\metrics.py代碼中,bbox_iou函數(shù)只包含GIoU, DIoU, CIoU的計算,

def bbox_iou(box1, box2, x1y1x2y2=True, GIoU=False, DIoU=False, CIoU=False, eps=1e-7):
    # Returns the IoU of box1 to box2. box1 is 4, box2 is nx4
    box2 = box2.T

    # Get the coordinates of bounding boxes
    if x1y1x2y2:  # x1, y1, x2, y2 = box1
        b1_x1, b1_y1, b1_x2, b1_y2 = box1[0], box1[1], box1[2], box1[3]
        b2_x1, b2_y1, b2_x2, b2_y2 = box2[0], box2[1], box2[2], box2[3]
    else:  # transform from xywh to xyxy
        b1_x1, b1_x2 = box1[0] - box1[2] / 2, box1[0] + box1[2] / 2
        b1_y1, b1_y2 = box1[1] - box1[3] / 2, box1[1] + box1[3] / 2
        b2_x1, b2_x2 = box2[0] - box2[2] / 2, box2[0] + box2[2] / 2
        b2_y1, b2_y2 = box2[1] - box2[3] / 2, box2[1] + box2[3] / 2

    # Intersection area
    inter = (torch.min(b1_x2, b2_x2) - torch.max(b1_x1, b2_x1)).clamp(0) * \
            (torch.min(b1_y2, b2_y2) - torch.max(b1_y1, b2_y1)).clamp(0)

    # Union Area
    w1, h1 = b1_x2 - b1_x1, b1_y2 - b1_y1 + eps
    w2, h2 = b2_x2 - b2_x1, b2_y2 - b2_y1 + eps
    union = w1 * h1 + w2 * h2 - inter + eps

    iou = inter / union
    if CIoU or DIoU or GIoU:
        cw = torch.max(b1_x2, b2_x2) - torch.min(b1_x1, b2_x1)  # convex (smallest enclosing box) width
        ch = torch.max(b1_y2, b2_y2) - torch.min(b1_y1, b2_y1)  # convex height
        if CIoU or DIoU:  # Distance or Complete IoU https://arxiv.org/abs/1911.08287v1
            c2 = cw ** 2 + ch ** 2 + eps  # convex diagonal squared
            rho2 = ((b2_x1 + b2_x2 - b1_x1 - b1_x2) ** 2 +
                    (b2_y1 + b2_y2 - b1_y1 - b1_y2) ** 2) / 4  # center distance squared
            if CIoU:  # https://github.com/Zzh-tju/DIoU-SSD-pytorch/blob/master/utils/box/box_utils.py#L47
                v = (4 / math.pi ** 2) * torch.pow(torch.atan(w2 / h2) - torch.atan(w1 / h1), 2)
                with torch.no_grad():
                    alpha = v / (v - iou + (1 + eps))
                return iou - (rho2 / c2 + v * alpha)  # CIoU
            return iou - rho2 / c2  # DIoU
        c_area = cw * ch + eps  # convex area
        return iou - (c_area - union) / c_area  # GIoU https://arxiv.org/pdf/1902.09630.pdf
    return iou  # IoU

將EIoU計算加入到源代碼中,修改代碼如下:

def bbox_iou(box1, box2, x1y1x2y2=True, GIoU=False, DIoU=False, CIoU=False, EIoU=False, eps=1e-7):
    # Returns the IoU of box1 to box2. box1 is 4, box2 is nx4
    box2 = box2.T

    # Get the coordinates of bounding boxes
    if x1y1x2y2:  # x1, y1, x2, y2 = box1
        b1_x1, b1_y1, b1_x2, b1_y2 = box1[0], box1[1], box1[2], box1[3]
        b2_x1, b2_y1, b2_x2, b2_y2 = box2[0], box2[1], box2[2], box2[3]
    else:  # transform from xywh to xyxy
        b1_x1, b1_x2 = box1[0] - box1[2] / 2, box1[0] + box1[2] / 2
        b1_y1, b1_y2 = box1[1] - box1[3] / 2, box1[1] + box1[3] / 2
        b2_x1, b2_x2 = box2[0] - box2[2] / 2, box2[0] + box2[2] / 2
        b2_y1, b2_y2 = box2[1] - box2[3] / 2, box2[1] + box2[3] / 2

    # Intersection area
    inter = (torch.min(b1_x2, b2_x2) - torch.max(b1_x1, b2_x1)).clamp(0) * \
            (torch.min(b1_y2, b2_y2) - torch.max(b1_y1, b2_y1)).clamp(0)

    # Union Area
    w1, h1 = b1_x2 - b1_x1, b1_y2 - b1_y1 + eps
    w2, h2 = b2_x2 - b2_x1, b2_y2 - b2_y1 + eps
    union = w1 * h1 + w2 * h2 - inter + eps

    iou = inter / union
    if CIoU or DIoU or GIoU or EIoU:
        cw = torch.max(b1_x2, b2_x2) - torch.min(b1_x1, b2_x1)  # convex (smallest enclosing box) width
        ch = torch.max(b1_y2, b2_y2) - torch.min(b1_y1, b2_y1)  # convex height
        if CIoU or DIoU or EIoU:  # Distance or Complete IoU https://arxiv.org/abs/1911.08287v1
            c2 = cw ** 2 + ch ** 2 + eps  # convex diagonal squared
            rho2 = ((b2_x1 + b2_x2 - b1_x1 - b1_x2) ** 2 +
                    (b2_y1 + b2_y2 - b1_y1 - b1_y2) ** 2) / 4  # center distance squared
            if CIoU:  # https://github.com/Zzh-tju/DIoU-SSD-pytorch/blob/master/utils/box/box_utils.py#L47
                v = (4 / math.pi ** 2) * torch.pow(torch.atan(w2 / h2) - torch.atan(w1 / h1), 2)
                with torch.no_grad():
                    alpha = v / (v - iou + (1 + eps))
                return iou - (rho2 / c2 + v * alpha)  # CIoU
            elif EIoU:
                w=(w1-w2)*(w1-w2)
                h=(h1-h2)*(h1-h2)
                return iou-(rho2/c2+w/(cw**2)+h/(ch**2))#EIoU  2021.12.29
            return iou - rho2 / c2  # DIoU
        c_area = cw * ch + eps  # convex area
        return iou - (c_area - union) / c_area  # GIoU https://arxiv.org/pdf/1902.09630.pdf
    return iou  # IoU

小結(jié)

  • I o U IoU IoU:主要考慮檢測框和目標框重疊面積
  • G I o U GIoU GIoU:在 I o U IoU IoU的基礎上,解決邊界框不重合(IoU=0)時的問題。
  • D I o U DIoU DIoU:在 I o U IoU IoU G I o U GIoU GIoU的基礎上,考慮邊界框中心點距離的信息,解決 G I o U GIoU GIoU收斂慢的問題
  • C I o U CIoU CIoU:在 D I o U DIoU DIoU的基礎上,考慮邊界框?qū)捀弑鹊某叨刃畔?/strong>,提升回歸精確度。
  • E I o U EIoU EIoU:考慮了重疊面積,中心點距離、長寬邊長真實差,基于 C I o U CIoU CIoU解決了縱橫比(寬高比)的模糊。
損失函數(shù) 優(yōu)點 缺點
IoU 具有尺度不變性,滿足非負性;同一性;對稱性;三角不等性等特點。 1.如果兩個框不相交,不能反映兩個框距離遠近。2.無法精確的反映兩個框的重合度大小
GIoU 在基于IoU特性的基礎上引入最小外接框解決檢測框和真實框沒有重疊時loss等于0問題。 1.當檢測框和真實框出現(xiàn)包含現(xiàn)象的時候GIoU退化成IoU。2.兩個框相交時,在水平和垂直方向上收斂慢。
DIoU 在基于IoU特性的基礎上考慮到GIoU的缺點,直接回歸兩個框中心點的歐式距離,加速收斂。 回歸過程中未考慮Bounding box的縱橫比,精確度上尚有進一步提升的空間。
CIoU CIoU就是在DIoU的基礎上增加了檢測框尺度的loss,增加了長和寬的loss,這樣預測框就會更加的符合真實框。 CIoU就是在DIoU的基礎上增加了檢測框尺度的loss,增加了長和寬的loss,這樣預測框就會更加的符合真實框。
EIoU EIoU在CIoU的基礎上分別計算寬高的差異值取代了縱橫比,同時引入Focal Loss解決難易樣本不平衡的問題。 ——

參考

[1] https://github.com/ultralytics/yolov5
[2] https://arxiv.org/pdf/1902.09630.pdf
[3] https://arxiv.org/pdf/1608.01471.pdf
[4] https://arxiv.org/pdf/1911.08287.pdf
[5] https://arxiv.org/pdf/2101.08158.pdf
[6] https://blog.csdn.net/nan355655600/article/details/106246625
[7] https://zhuanlan.zhihu.com/p/94799295
[8] https://blog.csdn.net/weixin_45751396/article/details/127150065
[9] https://zhuanlan.zhihu.com/p/270663039文章來源地址http://www.zghlxwxcb.cn/news/detail-486359.html

  • 由于本人水平有限,難免出現(xiàn)錯漏,敬請批評改正。
  • 更多精彩內(nèi)容,可點擊進入YOLO系列專欄或我的個人主頁查看

到了這里,關于YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 《一文搞懂IoU發(fā)展歷程》GIoU、DIoU、CIoU、EIoU、αIoU、SIoU

    《一文搞懂IoU發(fā)展歷程》GIoU、DIoU、CIoU、EIoU、αIoU、SIoU

    IoU出現(xiàn)背景 目標檢測任務的損失函數(shù)一般由 Classificition Loss (分類損失函數(shù))和 Bounding Box Regeression Loss (回歸損失函數(shù))兩部分構(gòu)成。因此,更好的定位有利于模型精度的提高。在 IoU Loss 提出來之前,檢測上有關候選框的回歸主要是通過坐標的回歸損失來優(yōu)化。但 L1 Loss 和

    2023年04月08日
    瀏覽(16)
  • 目標檢測中的損失函數(shù)IoU、GIoU、DIoU、CIoU、SIoU

    目標檢測中的損失函數(shù)IoU、GIoU、DIoU、CIoU、SIoU

    IoU損失是目標檢測中最常見的損失函數(shù),表示的就是真實框和預測框的交并比,數(shù)學公式如下: I o U = ∣ A ∩ B ∣ ∣ A ∪ B ∣ IoU =frac{|A cap B|}{|A cup B|} I o U = ∣ A ∪ B ∣ ∣ A ∩ B ∣ ? L o s s I o U = 1 ? I o U Loss_{IoU}=1-IoU L o s s I o U ? = 1 ? I o U IoU損失會有兩個主要的缺點 當

    2024年02月04日
    瀏覽(22)
  • 【目標檢測中對IoU的改進】GIoU,DIoU,CIoU的詳細介紹

    【目標檢測中對IoU的改進】GIoU,DIoU,CIoU的詳細介紹

    IoU為交并比,即對于pred和Ground Truth:交集/并集 1、IoU可以作為評價指標使用,也可以用于構(gòu)建IoU loss = 1 - IoU 缺點: 2、對于pred和GT相交的情況下,IoU loss可以被反向傳播,因為IoU不為0,可以計算梯度。但是二者不相交的話,梯度將會為0,無法優(yōu)化。 3、pred和GT不相交時,Io

    2024年02月12日
    瀏覽(21)
  • 損失函數(shù):IoU、GIoU、DIoU、CIoU、EIoU、alpha IoU、SIoU、WIoU超詳細精講及Pytorch實現(xiàn)

    損失函數(shù):IoU、GIoU、DIoU、CIoU、EIoU、alpha IoU、SIoU、WIoU超詳細精講及Pytorch實現(xiàn)

    ? ? ?損失函數(shù) 是 用來評價模型的預測值和真實值不一樣的程度 ,損失函數(shù)越小,通常模型的性能越好。不同的模型用的損失函數(shù)一般也不一樣。 ? ? ? 損失函數(shù)的使用主要是在模型的訓練階段 ,如果我們想讓預測值無限接近于真實值,就需要將損失值降到最低, 在這個

    2024年02月09日
    瀏覽(20)
  • IoU Loss綜述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)

    IoU Loss綜述(IOU,GIOU,CIOU,EIOU,SIOU,WIOU)

    ????????邊界框回歸(BBR)的損失函數(shù)對于目標檢測至關重要。它的良好定義將為模型帶來顯著的性能改進。大多數(shù)現(xiàn)有的工作假設訓練數(shù)據(jù)中的樣本是高質(zhì)量的,并側(cè)重于增強BBR損失的擬合能力。 ????????最初的基于回歸的BBR損失定義為L2-norm,L2-norm損失主要有兩個

    2023年04月09日
    瀏覽(22)
  • yolov5使用最新MPDIOU損失函數(shù),有效和準確的邊界盒回歸的損失,優(yōu)于GIoU/EIoU/CIoU/EIoU(附代碼可用)

    yolov5使用最新MPDIOU損失函數(shù),有效和準確的邊界盒回歸的損失,優(yōu)于GIoU/EIoU/CIoU/EIoU(附代碼可用)

    MPDIoU: A Loss for Efficient and Accurate Bounding Box Regression (一個有效和準確的邊界框損失回歸函數(shù)) 論文地址 1.1. 主要目的 當預測框與邊界框具有相同的縱橫比,但寬度和高度值完全不同時,大多數(shù)現(xiàn)有的邊界框回歸損失函數(shù)都無法優(yōu)化。 為了解決上述問題,MPDIoU充分挖掘水平矩形

    2024年02月07日
    瀏覽(26)
  • 目標檢測算法——YOLOv5/v7/v8改進結(jié)合漲點Trick之Wise-IoU(超越CIOU/SIOU)

    目標檢測算法——YOLOv5/v7/v8改進結(jié)合漲點Trick之Wise-IoU(超越CIOU/SIOU)

    ? 近年來的研究大多假設訓練數(shù)據(jù)中的示例有較高的質(zhì)量,致力于強化邊界框損失的擬合能力。 但注意到目標檢測訓練集中含有低質(zhì)量示例,如果一味地強化邊界框?qū)Φ唾|(zhì)量示例的回歸,顯然會危害模型檢測性能的提升。 Focal-EIoU v1 被提出以解決這個問題,但由于其聚焦機

    2023年04月11日
    瀏覽(26)
  • YOLOv7改進wiou損失函數(shù):結(jié)合最新Wise-IoU損失函數(shù),漲點神器|超越CIoU, SIoU性能,助力YOLOv7模型漲點1.4%,最新目標檢測的損失函數(shù)

    ??該教程為改進進階指南,屬于 《芒果書》 ??系列,包含大量的原創(chuàng)首發(fā)改進方式, 所有文章都是全網(wǎng)首發(fā)原創(chuàng)改進內(nèi)容?? ??本篇文章 基于 YOLOv5、YOLOv7 芒果 改進YOLO系列: 芒果改進YOLOv7系列:結(jié)合最新Wise-IoU損失函數(shù),漲點神器|超越CIoU, SIoU性能,助力YOLOv7模型漲點

    2024年02月05日
    瀏覽(106)
  • 優(yōu)化改進YOLOv5算法之Wise-IOU損失函數(shù)

    優(yōu)化改進YOLOv5算法之Wise-IOU損失函數(shù)

    邊界框回歸(BBR)的損失函數(shù)對于目標檢測至關重要。它的良好定義將為模型帶來顯著的性能改進。大多數(shù)現(xiàn)有的工作假設訓練數(shù)據(jù)中的樣本是高質(zhì)量的,并側(cè)重于增強BBR損失的擬合能力。如果盲目地加強低質(zhì)量樣本的BBR,這將危及本地化性能。Focal EIoU v1被提出來解決這個問

    2024年01月17日
    瀏覽(29)
  • 計算機視覺 day94 DDH - YOLOv5:基于雙IoU感知解耦頭改進的YOLOv5,用于對象檢測

    計算機視覺 day94 DDH - YOLOv5:基于雙IoU感知解耦頭改進的YOLOv5,用于對象檢測

    YOLOv5頭部的分類任務和回歸任務的共同分支會對訓練過程造成傷害,分類得分與定位精度的相關性較低。我們提出了一種雙iou感知解耦頭(DDH),并將其應用于YOLOv5。改進后的模型命名為DDH-YOLOv5,在不顯著增加FLOPS和參數(shù)的情況下,顯著提高了模型的定位精度。在PASCAL VOC2007數(shù)據(jù)

    2024年02月16日
    瀏覽(42)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包