【目标检测中对IoU的改进】GIoU,DIoU,CIoU的详细介绍

文章目录

  • 1、IoU
  • [2、GIoU(Generalized Intersection over Union)](#2、GIoU(Generalized Intersection over Union))
  • 3、DIoU
  • 4、CIoU

1、IoU

  • IoU为交并比,即对于pred和Ground Truth:交集/并集

1、IoU可以作为评价指标使用,也可以用于构建IoU loss = 1 - IoU

缺点:

2、对于pred和GT相交的情况下,IoU loss可以被反向传播,因为IoU不为0,可以计算梯度。但是二者不相交的话,梯度将会为0,无法优化。

3、pred和GT不相交时,IoU为0,因此无法判断二者距离是远还是近

4、IOU不能反映两个物体如何重叠(相交方式)。两种情况下的IOU均为0.14,但(a)中两框要比(b)中的相交更整齐一些。

2、GIoU(Generalized Intersection over Union)

  • 考虑到上述IoU的缺点,在GIoU中做了改进。
  • C是包含A与B的最小框,即两个框的外接矩形框

1、GIoU对不相交的情况下,不为0,因此使用GIoU loss = 1 - GIoU可以进行梯度的反向传播

2、GIoU可以反应二者的相交情况,对的更齐时GIoU更大,例如上面的第二幅图

3、GIoU可以更好的反应pred和GT之间的距离情况

3、DIoU

  • DIoU主要考虑了如下的情况
  • 即pred完全在GT内部,IoU和GIoU就相同了,不能判断pred中心位置是否接近GT中心
  • 因此,DIoU Loss是在IoU Loss基础上引入一个距离惩罚项,定义如下:
  • 上述损失函数中,b,bgt分别代表了anchor框和目标框的中心点,且$$代表的是计算两个中心点间的欧式距离。c代表的是能够同时覆盖anchor和目标框的最小矩形的对角线距离,相当于做了归一化:d/c,如下图所示。

1、与GIoU loss类似,DIoU loss在与目标框不相交时,梯度不为0,可以进行优化。

2、收敛更快:DIoU loss可以直接最小化两个目标框的距离,而GIOU loss优化的是两个目标框之间的面积,因此比GIoU loss收敛快得多。

3、对于包含两个框在水平方向和垂直方向上这种情况,DIoU损失可以使回归非常快,而GIoU损失几乎退化为IoU损失

  • DIoU要比GIoU更加符合bbox回归的机制,将GT与pred之间的距离,重叠率以及尺度都考虑进去,使得目标框回归变得更加稳定,不会像IoU和GIoU一样出现训练过程中发散等问题。

4、CIoU

  • 考虑到pred和GT之间的长宽比也是很重要的,因此CIOU Loss又引入一个box长宽比的惩罚项:

参考链接:https://blog.csdn.net/leonardohaig/article/details/103394369

相关推荐
余炜yw11 分钟前
【LSTM实战】跨越千年,赋诗成文:用LSTM重现唐诗的韵律与情感
人工智能·rnn·深度学习
莫叫石榴姐28 分钟前
数据科学与SQL:组距分组分析 | 区间分布问题
大数据·人工智能·sql·深度学习·算法·机器学习·数据挖掘
967730 分钟前
对抗样本存在的原因
深度学习
如若1231 小时前
利用 `OpenCV` 和 `Matplotlib` 库进行图像读取、颜色空间转换、掩膜创建、颜色替换
人工智能·opencv·matplotlib
YRr YRr1 小时前
深度学习:神经网络中的损失函数的使用
人工智能·深度学习·神经网络
ChaseDreamRunner1 小时前
迁移学习理论与应用
人工智能·机器学习·迁移学习
Guofu_Liao1 小时前
大语言模型---梯度的简单介绍;梯度的定义;梯度计算的方法
人工智能·语言模型·矩阵·llama
我爱学Python!1 小时前
大语言模型与图结构的融合: 推荐系统中的新兴范式
人工智能·语言模型·自然语言处理·langchain·llm·大语言模型·推荐系统
果冻人工智能1 小时前
OpenAI 是怎么“压力测试”大型语言模型的?
人工智能·语言模型·压力测试
日出等日落1 小时前
Windows电脑本地部署llamafile并接入Qwen大语言模型远程AI对话实战
人工智能·语言模型·自然语言处理