目标检测中的几种交并比( IoU )计算方式
目录
1、原始 IOU 的计算方式
2、GIOU(Generalized IOU)
2、DIoU(Distance-IoU)
3、CIOU(Complete-IoU)
IoU 即 Intersection over Union 中文叫做交并比,用来衡量目标检测过程中 预测框 与 真实框 的重合程度。目前有很多计算 IoU 的方法,这里主要介绍 GIOU、DIOU、CIOU 这三种方式。
1、原始 IOU 的计算方式
原始的计算方式如下,顾名思义,IOU就是把 预测框 与 真实框 的相交的面积除以相并的面积。
2、GIOU(Generalized IOU)
文章:https://arxiv.org/abs/1902.09630
由于 IoU 是比值的概念,对目标物体的scale是不敏感的。然而检测任务中的 BBox 的回归损失(MSE loss, L1-smooth loss等)优化和IoU优化不是完全等价的,而且 Ln 范数对物体的scale也比较敏感,IoU 无法直接优化没有重叠的部分。
上面公式的意思是:先计算两个框的最小闭包区域面积 (通俗理解:同时包含了预测框和真实框的最小框的面积),再计算出 IoU,再计算闭包区域中不属于两个框的区域占闭包区域的比重,最后用 IoU 减去这个比重得到 GIoU。
与 IoU 相似,GIoU 也是一种距离度量,作为损失函数的话, ,满足损失函数的基本要求。GIOU 的一些特点如下:
- GIoU对scale不敏感
- GIoU是IoU的下界,在两个框无限重合的情况下,IoU=GIoU=1
- IoU取值[0,1],但GIoU有对称区间,取值范围[-1,1]。在两者重合的时候取最大值1,在两者无交集且无限远的时候取最小值-1,因此GIoU是一个非常好的距离度量指标。
- 与IoU只关注重叠区域不同,GIoU不仅关注重叠区域,还关注其他的非重合区域,能更好的反映两者的重合度。
2、DIoU(Distance-IoU)
论文:https://arxiv.org/pdf/1911.08287.pd
DIoU 要比 GIou 更加符合目标框回归的机制,将目标与 anchor 之间的 距离、重叠率 以及 尺度 都考虑进去,使得目标框回归变得更加稳定,不会像 IoU 和 GIoU 一样出现训练过程中发散等问题。
基于 IoU 和 GIoU 存在的问题,作者提出了两个问题:
- 直接最小化anchor框与目标框之间的归一化距离是否可行,以达到更快的收敛速度?
- 如何使回归在与目标框有重叠甚至包含时更准确、更快?
DIOU 计算公式如下:
其中, ,
分别代表了预测框和真实框的中心点,且
代表的是计算两个中心点间的欧式距离。
代表的是能够同时包含预测框和真实框的最小闭包区域的对角线距离。如下图:
- 与 GIoU loss 类似,DIoU loss(
)在与目标框不重叠时,仍然可以为边界框提供移动方向。
- DIoU loss 可以直接最小化两个目标框的距离,因此比 GIoU loss 收敛快得多。
- 对于包含两个框在水平方向和垂直方向上这种情况,DIoU 损失可以使回归非常快,而 GIoU 损失几乎退化为 IoU 损失。
- DIoU 还可以替换普通的 IoU 评价策略,应用于 NMS 中,使得 NMS 得到的结果更加合理和有效。
注:通常基于IoU-based的loss可以定义为
,其中
定义为预测框
和目标框
的惩罚项,DIoU 的惩罚项表示为
,CIoU 的惩罚项是在 DIoU 的基础上多了个影响因子
。
3、CIOU(Complete-IoU)
好的目标框回归损失应该考虑三个重要的几何因素:重叠面积,中心点距离,长宽比。基于问题一,作者提出了DIoU Loss,相对于GIoU Loss收敛速度更快,该Loss考虑了重叠面积和中心点距离,但没有考虑到长宽比;针对问题二,作者提出了CIoU Loss,其收敛的精度更高,以上三个因素都考虑到了。
考虑到bbox回归三要素中的长宽比还没被考虑到计算中,因此,进一步在DIoU的基础上提出了CIoU。其惩罚项如下面公式:
其中 是权重函数,
是用来度量长宽比一致性的参数,定义为:
CIoU 的计算公式为:
完整的 CIoU 损失函数定义:
目标检测中的几种交并比( IoU )计算方式相关推荐
- PPDet:减少Anchor-free目标检测中的标签噪声,小目标检测提升明显
本文转载自AI算法修炼营. 这篇文章收录于BMVC2020,主要的思想是减少anchor-free目标检测中的label噪声,在COCO小目标检测上表现SOTA!性能优于FreeAnchor.Cent ...
- 目标检测中的mAP是什么含义?
目标检测中的mAP是什么含义? 1.mAP定义及相关概念 mAP: mean Average Precision, 即各类别AP的平均值 AP: PR曲线下面积,后文会详细讲解 PR曲线: Preci ...
- 车流量检测实现:多目标追踪、卡尔曼滤波器、匈牙利算法、SORT/DeepSORT、yoloV3、虚拟线圈法、交并比IOU计算
日萌社 人工智能AI:Keras PyTorch MXNet TensorFlow PaddlePaddle 深度学习实战(不定时更新) CNN:RCNN.SPPNet.Fast RCNN.Faste ...
- 【论文阅读】目标检测中的分类回归特征解耦
论文来源:知网 以下仅仅是学习过程中的部分笔记,用作自己复习. 摘要 ..... 目标检测不仅需要判别图像中存在的目标的类别,还需要回归目标在图像中的位置. 特征耦合具体表现:分类和回归部分的网络共享 ...
- 目标检测中的IoU、GIoU、DIoU与CIoU
什么是IOU? 简单来说IOU就是用来度量目标检测中预测框与真实框的重叠程度.在图像分类中,有一个明确的指标准确率来衡量模型分类模型的好坏.其公式为: acc=PtrueNN=全部样本的数量,Ptru ...
- 目标检测中map的计算
文章目录 前言 一.IoU和TP.FP.TN.FN的概念 IoU(Intersection over Union): TP.FP.TN.FN 二.Precision和Recall 1.Precisio ...
- 目标检测中特征融合技术(YOLO v4)(下)
目标检测中特征融合技术(YOLO v4)(下) ASFF:自适应特征融合方式 ASFF来自论文:<Learning Spatial Fusion for Single-Shot Object D ...
- 目标检测中特征融合技术(YOLO v4)(上)
目标检测中特征融合技术(YOLO v4)(上) 论文链接:https://arxiv.org/abs/1612.03144 Feature Pyramid Networks for Object De ...
- 目标检测中的anchor-based 和anchor free
目标检测中的anchor-based 和anchor free anchor-free 和anchor-based 区别 深度学习目标检测通常都被建模成对一些候选区域进行分类和回归的问题.在单阶段检测 ...
最新文章
- Python培训分享:PyQT是什么?PyQt4和PyQt5的区别是什么?
- IEEE史上首位华人主席,马里兰大学终身教授刘国瑞当选
- 计算机主机电池馈电,电脑主机电池没电引起故障怎么处理
- HBase存储相关概念
- 用不好PPT模板的本质原因是什么,怎么办
- 从Hotspot JIT编译器打印生成的汇编代码
- wordpress archive.php,wordpress分类目录模板(archive.php)制作
- 【LeetCode笔记】200. 岛屿数量(Java、DFS)
- deepsooncms在Ubuntu 14.04上部署教程
- 关于如何解决特定场景下WPF4.0中“XamlWriter.Save序列化限制”问题的一种思路
- 理解并行和并发的区别?
- LiveRTMP之MP4文件进行rtmp点播直播推送(三)
- Thread类的常用方法
- GridView里面的Item高度设置
- Beagleboard-xM Rev B 开发板探索 0.1
- AD原理图设计中如何添加NET CLASS和差分线
- python在园林中的应用_攀缘植物在园林中的应用
- 情景剧《重走长征路》上演
- 5G到底什么时候来,它究竟能给我们带来什么?
- Android平台单独编译内核模块ko insmod