如何优雅理解IoU、GIoU、DIoU、CIoU、Alpha-IoU及其代码实现?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2911个文字,预计阅读时间需要12分钟。
IoU,即Intersection over Union,是交并比。它用于衡量两个box的交集与并集的比例。具体来说,当我们计算锚点或提议与真实边界框的损失时,IoU是必不可少的。不同的交并比概念包括:
IoU就是就是我们说的交并比 Intersection over Union ,具体就是两个box的交集除以并集。
当我们计算我们的anchors 或者 proposals 与 ground truth bounding boxes 的损失的时候,就需要用到IoU。不同的IoU有不同的特性。
IoU loss:IoU计算了最简单的情况:
IoU的损失函数公式:至于求loss为啥用1减去,是因为:iou越大 代表拟合效果越好,我们应让模型的loss越小。iou最大为1,也就是重合的情况。因此用1-IoU来代表loss。
当两个anchor与gt box都不相交的时候,IoU的loss是一样大的,我们理论认为anchor距离gt box越近,loss应该越小,不应该一样大。这样GIoU就提出来了。GIoU通过计算两个box的最小闭包区域ac来计算loss。底色为红色的范围是Anchor2与Gt box的最小闭包区域,底色为黄色的范围是Anchor1与Gt box的最小闭包区域。明显Anchor2的最小闭包区域小,u代表并集,ac代表最小闭包区域,ac越大, \(L_{GIoU}\) 值越大。
本文共计2911个文字,预计阅读时间需要12分钟。
IoU,即Intersection over Union,是交并比。它用于衡量两个box的交集与并集的比例。具体来说,当我们计算锚点或提议与真实边界框的损失时,IoU是必不可少的。不同的交并比概念包括:
IoU就是就是我们说的交并比 Intersection over Union ,具体就是两个box的交集除以并集。
当我们计算我们的anchors 或者 proposals 与 ground truth bounding boxes 的损失的时候,就需要用到IoU。不同的IoU有不同的特性。
IoU loss:IoU计算了最简单的情况:
IoU的损失函数公式:至于求loss为啥用1减去,是因为:iou越大 代表拟合效果越好,我们应让模型的loss越小。iou最大为1,也就是重合的情况。因此用1-IoU来代表loss。
当两个anchor与gt box都不相交的时候,IoU的loss是一样大的,我们理论认为anchor距离gt box越近,loss应该越小,不应该一样大。这样GIoU就提出来了。GIoU通过计算两个box的最小闭包区域ac来计算loss。底色为红色的范围是Anchor2与Gt box的最小闭包区域,底色为黄色的范围是Anchor1与Gt box的最小闭包区域。明显Anchor2的最小闭包区域小,u代表并集,ac代表最小闭包区域,ac越大, \(L_{GIoU}\) 值越大。

