目标检测中目标框回归损失函数(IoU, GIoU, DIoU, CIoU)总结

本文总结了目标检测中常用的目标框回归损失函数,包括Smooth L1 Loss、IoU Loss、GIoU Loss、DIoU Loss和CIoU Loss。IoU Loss虽具尺度不变性,但对不相交情况优化不足;GIoU引入了通用IoU,改善了不相交问题;DIoU和CIoU进一步考虑了中心点距离和长宽比,提高收敛速度和精度。
摘要由CSDN通过智能技术生成

目标检测中目标框回归损失函数(IoU, GIoU, DIoU, CIoU)总结

1. Smooth L1 Loss

这个是 Faster-RCNN 中的损失函数。具体可以参考深度学习目标检测之 R-CNN 系列:Faster R-CNN 网络详解 中相应介绍。

Smooth L1 Loss 相比 L1 和 L2 的优势可以参考 损失函数:L1 loss, L2 loss, smooth L1 loss。总结其优势就是:

  • smooth L1和L1-loss函数的区别在于,L1-loss在0点处导数不唯一,可能影响收敛。smooth L1的解决办法是在0点附近使用平方函数使得它更加平滑
  • 相比于L2损失函数,其对离群点、异常值(outlier)不敏感,梯度变化相对更小,训练时不容易跑飞

2. IoU Loss

IoU(Intersection over Union) 是旷视在 2016 年于 UnitBox: An Advanced Object Detection Network 中提出的,随后被广泛使用。正如其名交并比,就是两个 BBox 的交集比上并集。

在这里插入图片描述

IoU Loss 的数学表达式为 L o s s I o U = − l n ( I o U ) Loss_{IoU} = -ln(IoU) LossIoU=ln(IoU),实际使用中很多直接简化为 L o s s I o U = 1 − I o U Loss_{IoU} = 1 - IoU LossIoU=1IoU

IoU 相比 Smooth L1 Loss 具有如下优势:

  • 具有尺度不变性
  • IoU Loss,其将 4 个点构成的 box 看成一个整体进行回归

直接看下图更直观。

在这里插入图片描述

IoU 的不足:

1)当预测框和目标框不相交时,IoU(A,B)=0时,不能反映A,B距离的远近,此时损失函数不可导,IoU Loss 无法优化两个框不相交的情况。

2)假设预测框和目标框的大小都确定,只要两个框的相交值是确定的,其IoU值是相同时,IoU值不能反映两个框是如何相交的。

3. GIoU Loss

GIoU(Generalized Intersection over Union) 是Hamid Rezatofighi 等2019年于 Generalized Intersection over Union: A Metric and A Loss for Bounding BoxRegression 中提出的一种改进的 IoU Loss。

如下图所示,三种不同相对位置的框拥有相同的IoU=0.33值,但是拥有不同的GIoU=0.33,0.24,-0.1。当框的对齐方向更好一些时GIoU的值会更高一些。

在这里插入图片描述

计算过程如下:

在这里插入图片描述

GIoU Loss 的表达式为:
L o s s G I o U = 1 − G I o U Loss_{GIoU} = 1 - GIoU LossGIoU=1GIoU
GIoU 的不足:

如下图,BBox 重合的时候 GIoU 退化为 IoU。

在这里插入图片描述

4. DIoU Loss

DIoU(Distance-IoU) 是 Zhaohui Zheng 等 2019 年在 Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression 中提出的。

基于IoU和GIoU存在的问题,作者提出了两个问题:

  • 第一:直接最小化预测框与目标框之间的归一化距离是否可行,以达到更快的收敛速度。
  • 第二:如何使回归在与目标框有重叠甚至包含时更准确、更快。

好的目标框回归损失应该考虑三个重要的几何因素:重叠面积,中心点距离,长宽比。基于问题一,作者提出了DIoU Loss,相对于GIoU Loss收敛速度更快,该Loss考虑了重叠面积和中心点距离,但没有考虑到长宽比;针对问题二,作者提出了CIoU Loss,其收敛的精度更高,以上三个因素都考虑到了。

通常基于IoU-based的loss可以定义为 L = 1 − I o U + R ( B , B g t ) L = 1 - IoU + R(B, B^{gt}) L

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值