当前位置:网站首页>IoU、GIoU、DIoU、CIoU四种损失函数总结
IoU、GIoU、DIoU、CIoU四种损失函数总结
2022-08-10 17:57:00 【I松风水月】
IoU:
IoU就是两个区域的交并比,如下图所示:
GIoU:
G I o U = I o U − ∣ A c − U ∣ ∣ A c ∣ G I o U=I o U-\frac{\left|A_{c}-U\right|}{\left|A_{c}\right|} GIoU=IoU−∣Ac∣∣Ac−U∣
其中 A c A_{c} Ac表示,A和B两者的区域用矩形框框起来的面积:入下图红色边框围起来的面积就是 A c A_{c} Ac。U表示A和B的并集。
- GIoU是IoU的下界,在两个框无限重合的情况下,IoU=GIoU=1
- IoU取值[0,1],但GIoU有对称区间,取值范围[-1,1]。在两者重合的时候取最大值1,在两者无交集且无限远的时候取最小值-1,因此GIoU是一个非常好的距离度量指标。
- 与IoU只关注重叠区域不同,GIoU不仅关注重叠区域,还关注其他的非重合区域,能更好的反映两者的重合度。
- 当两个区域平行的时候,退化为IoU,如下图的情况。

GIoU不足:重叠区域相同但方向和距离不同时不能反应到损失函数中。
DIoU
要比GIou更加符合目标框回归的机制,将目标与anchor之间的距离,重叠率以及尺度都考虑进去,使得目标框回归变得更加稳定,不会像IoU和GIoU一样出现训练过程中发散等问题。
D I o U = I o U = ρ 2 ( b , b g t ) c 2 D I o U=I o U=\frac{\rho^{2}\left(b, b^{g t}\right)}{c^{2}} DIoU=IoU=c2ρ2(b,bgt)
其中:
b b b, b g t b^{g t} bgt分别表示预测框和GT的中心点。
ρ 2 \rho^{2} ρ2表示计算两个中心点的欧氏距离。
c c c表示能包含真实框和预测框的包闭区域的对角线距离。
DIoU具体表示如下图:
- 与GIoU loss类似,DIoU loss( L D I o U = 1 − D I o U L_{DIoU} = 1-DIoU LDIoU=1−DIoU)在与目标框不重叠时,仍然可以为边界框提供移动方向。
- DIoU loss可以直接最小化两个目标框的距离,因此比GIoU loss收敛快得多。
- 对于包含两个框在水平方向和垂直方向上这种情况,DIoU损失可以使回归非常快,而GIoU损失几乎退化为IoU损失。
- DIoU还可以替换普通的IoU评价策略,应用于NMS中,使得NMS得到的结果更加合理和有效。
CIoU:
YOLOV3spp 作者提出一个优秀的回归定位损失应该考虑三个参数:重叠面积、中心距离、长宽比。因此得出一下公式:
C I o U = I o U − ( ρ 2 ( b , b g t ) c 2 ) + α v v = 4 π 2 ( arctan w g t h g t − arctan w h ) 2 α = v ( 1 − I o U ) + v \begin{gathered} CIoU=I o U-\left(\frac{\rho^{2}\left(b, b^{g t}\right)}{c^{2}}\right)+\alpha v \\ v=\frac{4}{\pi^{2}}\left(\arctan \frac{w^{g t}}{h^{g t}}-\arctan \frac{w}{h}\right)^{2} \\ \alpha=\frac{v}{(1-I o U)+v} \end{gathered} CIoU=IoU−(c2ρ2(b,bgt))+αvv=π24(arctanhgtwgt−arctanhw)2α=(1−IoU)+vv
其中 α \alpha α是权重参数
v v v用来度量长宽比的相似性
所以完整的CIoU损失定义为:
L C I o U = 1 − I o U − ( ρ 2 ( b , b g t ) c 2 ) + α v \begin{gathered} L_{CIoU}=1-IoU-\left(\frac{\rho^{2}\left(b, b^{g t}\right)}{c^{2}}\right)+\alpha v \\ \end{gathered} LCIoU=1−IoU−(c2ρ2(b,bgt))+αv
总结一下 I o U 、 G I o U 、 D I o U 、 C I o U IoU、GIoU、DIoU、CIoU IoU、GIoU、DIoU、CIoU四个损失的区别:
边界框回归的三大集合因素:重叠面积、中心点距离、纵横比
IoU: 考虑了重叠面积,归一化坐标尺度
GIoU: 考虑了重叠面积,基于IoU解决边界框不想交时loss等于0的问题。
DIoU: 考虑了重叠面积、中心点距离,基于IoU解决GIoU收敛慢的问题。
CIoU: 考虑了重叠面积、中心点距离、纵横比,基于DIoU提升回归精确度。
本文参考文献:
IoU、GIoU、DIoU、CIoU
IoU系列(IoU, GIoU, DIoU, CIoU)
边栏推荐
- D-Wave成功上市!量子计算商业化正在加速
- R语言使用ggpubr包的ggbarplot函数可视化柱状图、设置add参数为mean_se和jitter可视化不同水平均值的柱状图并为柱状图添加误差线(se标准误差)和抖动数据点分布
- 记录某博彩网站渗透
- MySQL数据高级查询之连接查询、联合查询、子查询[通俗易懂]
- 开发模式对测试的影响
- 机器人控制器编程实践指导书旧版-实践八 机器人综合设计
- 【接入指南 之 直接接入】手把手教你快速上手接入HONOR Connect平台(下)
- const的自己理解
- 智能出价策略如何影响广告效果?
- Colocate Join :ClickHouse的一种高性能分布式join查询模型
猜你喜欢
随机推荐
redis分布式锁
企业如何通过北森HR SaaS 自动化管理员工账号生命周期
瑞虎8 PRO产品性能分析,一文读懂究竟何为“全域动力科技旗舰”
如何学习性能测试?
Interpretation of ZLMediaKit server source code---RTSP push and pull
迪文发布新款2K高清DGUS智能屏
pip安装时 fatal error C1083 无法打开包括文件 “io.h” No such file or directory
Scala中使用 Jackson API 进行JSON序列化和反序列化
LeetCode 0640.求解方程:过几天就看不懂了的迷惑性代码,但是是详解
【图像去雾】基于颜色衰减先验的图像去雾附matlab代码
【测试】黑盒测试用例设计方法
一小时搞定 简单VBA编程 Excel宏编程快速扫盲
oracle11g体系结构
关于技术分享的思考
eager模式和graph模式 Tensorflow
Live Review|How to build an enterprise-level cloud management platform in the multi-cloud era?(with the download of the construction guide)
智能出价策略如何影响广告效果?
测试接口出现“data“: “Full authentication is required to access this resource“凭证已过期
施工企业数字化转型解决方案设计思路
CSV(Comma-Separate-Values)逗号分隔值文件









