当前位置:网站首页>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)
边栏推荐
- 五菱宏光MINI EV,唯一的缺点就是安全性
- 痛苦的四大原因
- 「Web应用架构」轮询,SSE 和WebSocket,如何选择合适的?
- Live Review|How to build an enterprise-level cloud management platform in the multi-cloud era?(with the download of the construction guide)
- 函数柯里化(curry)
- 【独立站运营】做社交媒体营销的两大关键点
- FFmpeg Huaping solution (modify source code, discard incomplete frames)
- 如何学习性能测试?
- Flexsim 发生器和暂存区设定临时实体流颜色和端口
- Toronto Research Chemicals萜烯分析丨反式植物醇
猜你喜欢

多线程与高并发(11)——经典面试题之实现一个容器,提供两个方法,add,size。

【图像去雾】基于颜色衰减先验的图像去雾附matlab代码

【HMS core】【FAQ】AR Engine、Analytics Kit、Video Editor Kit、Image Kit、Map Kit典型问题合集2

企业即时通讯是什么?可以应用在哪些场景?
忍不住 - 发个新帖子【为什么把红圈的功能入口隐藏?需要移动到鼠标到位置驻停才显示?】- 请投票

多线程与高并发(五)—— 源码解析 ReentrantLock

const的自己理解

【燃】是时候展现真正的实力了!一文看懂2022华为开发者大赛技术亮点

老板加薪!看我做的WPF Loading!!!

瑞虎8 PRO产品性能分析,一文读懂究竟何为“全域动力科技旗舰”
随机推荐
【FAQ】OpenHarmony与HarmonyOS的有什么区别?
CDH6.3.2之Kerberos安全认证_大数据培训
五菱宏光MINI EV,唯一的缺点就是安全性
实用工具在线网站
智能出价策略如何影响广告效果?
EasyGBS连接mysql数据库提示“can’t connect to mysql server”,如何解决?
[JMeter]Beanshell解析Json格式的接口响应数据
多线程与高并发(五)—— 源码解析 ReentrantLock
测试接口出现“data“: “Full authentication is required to access this resource“凭证已过期
FFmpeg Huaping solution (modify source code, discard incomplete frames)
【ARK UI】HarmonyOS ETS的引导页的实现
FFmpeg extract H264 nalu from the mp4
R语言使用ggpubr包的ggsummarystats函数可视化箱图(通过ggfunc参数设置)、在可视化图像的下方添加描述性统计结果表格、设置add参数为jitter添加抖动数据点
机器人控制器编程实践指导书旧版-实践七 无线通信(网络)
【HMS core】【FAQ】Account Kit、push Kit典型问题合集1
Selenium - 如何使用隐式、显示、强制元素等待?
【接入指南 之 直接接入】手把手教你快速上手接入HONOR Connect平台(下)
Flexsim 发生器和暂存区设定临时实体流颜色和端口
R语言使用ggpubr包的ggbarplot函数可视化柱状图、设置add参数为mean_se和jitter可视化不同水平均值的柱状图并为柱状图添加误差线(se标准误差)和抖动数据点分布
背景视频铺满盒子