如果当红黄矩形完美重合,那么IoU =1, Ac = u = 预测目标边界框面积,GIOU = 1 - 0 = 1。如果两个目标分开很远,Ac趋向于很大的数值,u趋于0,IoU也趋于0,GIOU = 0 - 1 = -1。因此GIOU取值的区间是[-1, 1]。 GIoU特点如下: 与IoU相似,GIoU也是一种距离度量,作为损失函数的话,L_{GIoU} = 1-GIoU...
GIOU损失函数的最终表达形式是L(GIOU) = 1 - GIOU 上表是原论文中的实验效果:第一列(AP-IoU一列)采用MSE(l2损失)的mAP=0.461,采用IoU损失得到的mAP=0.466,有些许提升。如果采用GIoU loss,能达到0.477,效果比IOU更好。 但是,GIOU也存在它的缺点:...
IoU 的计算代码非常简洁,如下为 YOLOv8 中的完整代码实现。 importmathimporttorchdefbbox_iou(box1,box2,xywh=True,GIoU=False,DIoU=False,CIoU=False,eps=1e-7):"""Calculate Intersection over Union (IoU) of box1(1, 4) to box2(n, 4). xywh格式的x,y为中心点坐标 Args: box1 (torch.Tensor...
IOU、GIOU、DIOU、CIOU损失函数的区别如下:1. IOU 公式:IOU = ,其中C为预测框与目标框的交集面积,E为预测框与目标框的并集面积。 IOU Loss:ln 或者 1 IOU。 优点:简单直观,直接衡量预测框与目标框的重叠度。 缺点:无法反映框内的细节信息和非重叠部分的情况。2. GIOU 公式:GIOU = IO...
(1)DIoU loss可以直接最小化两个目标框的距离,因此比GIoU loss收敛快得多。 (2)对于包含两个框在水平方向和垂直方向上这种情况,DIoU损失可以使回归非常快。 (3)DIoU还可以替换普通的IoU评价策略,应用于NMS中,使得NMS得到的结果更加合理和有效。 缺点: ...
本篇总结了视觉面经中目标检测常用的回归损失函数及手撕代码实现。 无论是在实际的工作中还是在面试中,任何涉及到目标检测的模型或者项目都会提到到回归损失函数(IOU、GIOU、DIOU、CIOU)。 特别是在近年的视觉…
IoU、GIoU、DIoU、CIoU损失函数的核心要点如下:IoU:定义:基础评估指标,用于衡量预测框与真实框的重叠度。特点:简单直观,但scale不敏感性导致与BBox回归损失的优化不完全匹配。GIoU:引入:为解决IoU的scale不敏感性问题,在2019年CVPR论文中引入。改进:考虑了预测框和真实框的最小闭包区域及不重叠...
(1)DIoU loss可以直接最小化两个目标框的距离,因此比GIoU loss收敛快得多。 (2)对于包含两个框在水平方向和垂直方向上这种情况,DIoU损失可以使回归非常快。 (3)DIoU还可以替换普通的IoU评价策略,应用于NMS中,使得NMS得到的结果更加合理和有效。 缺点: ...
在计算机视觉领域,特别是在目标检测任务中,损失函数用于衡量预测边界框与真实边界框之间的差异。常用的损失函数包括 IoU(Intersection over Union)、GIoU(Generalized Intersection over Union)、DIoU(Distance Intersection over Union) 和CIoU(Complete Intersection over Union)。
GIoU = IoU - (Ac - u) / Ac Ac是包含两框的最小闭包区域面积,u是预测框和真实框的并集面积。DIoU(Distance IoU)在此基础上,引入中心点距离的归一化,更全面地考虑了检测框中心与目标框的匹配度,通过调整NMS(非极大抑制)的决策标准,减少误抑制。最后,CIoU(Complete IoU)考虑了长宽比,...