论文地址:Generalized Intersection over Union

一、相关工作

目标检测精度标准

度量检测优劣基本基于 IOU,mAP 是典型的基于 IOU 的标准,但是 mAP 仅有一个 threshold,对于过了线的预测框一视同仁,不能进一步衡量其优劣,所以 MS COCO 挑战赛提出了多 IOU 阈值的综合 mAP 评价标准(就是同时采用几个阈值,计算出多个 mAP 综合打分)。

Bounding box 表示方法和损失函数

YOLO v1 直接回归 bbox 的位置参数(x,y,h,w),并在(h,w)采用预测平方根的方式回避尺度敏感

RCNN 预测的是相对预先检测出的候选区的位置偏移,采用 log 空间回避尺度敏感

此时的损失函数以 l2 为主

Faster RCNN 提出 l1 smooth 损失函数,使得学习鲁棒性更好

Faster RCNN 提出了 anchor boxes 取代了 RCNN 系列中的候选生成算法,但是过多的 anchor 候选框导致了正负样本不平衡的问题,其作者进一步提出了 focal loss 进行应对(存疑,一般来说 one stage 法更易受到正负样本不平衡的困扰,而 two stage 法由于会在候选框阶段通过得分和nms筛选过滤掉大量的负样本,然后在分类回归阶段又固定正负样本比例,相较 one stage 法情况会好很多)。

二、Generalized Intersection over Union

1、IOU 的优点

  1. 将 1-IOU 作为距离度量,(数学可证的)满足非负性、同一性、对称性和三角不等性(non-negativity, identity of indiscernibles, symmetry and triangle inequality)
  2. IOU 具有尺度不变性,不受 bbox 于 ground truth 的大小影响

2、IOU 的问题

  1. 只要两个框不相交,IOU 就为0,这使得它无法衡量两个框是相邻还是相距甚远
  2. IOU 无法反映两个框相交的方式,解释如 Figure2 所示:

3、GIOU 算法介绍

对于同形状的 A 和 B,C 为相同形状的最小的可以包含 A、B 的图形(例如通常 A 和 B 是矩形框,此时 C 也取矩形框),下面公式给出 GIOU 的计算过程:

然后作者给出了 GIOU 的5个特点:

  1. 将 1-GIOU 作为距离度量,其继承了 IOU 的优良数学特性
  2. GIOU 同样具有尺度不变性
  3. GIOU 永远小于 IOU,且当 A 趋近于 B 时(即两者趋于重合),GIOU 趋于 IOU
  4. IOU 取值区间为 [0,1],GIOU 取值区间为 [-1,1]:
      和 3 中所说对应,A 和 B 趋于重合时 IOU 和 GIOU 均趋向 1
      A 和 B 差别越大,GIOU 趋向于 -1
  5. 如 Figure2 所示,GIOU 相对 IOU 更能反映两个框相交形式的好坏(how overlap between two symmetrical objectsoccurs)

4、GIOU 应用为损失函数

基于 min、max 和 分段函数的BP算法是可行的,所以 IOU 与 GIOU 的应用就不是问题了。作者说,虽然 IOU(GIOU) 计算不能得到解析解,但在限定了形状为矩形时就大大简化了问题:对角点进行 min、max 操作即可:

作者还画了图试图证明 GIOU 损失函数的梯度相对于 IOU 损失函数更大,不过我感觉有点牵强(没看懂),所以不贴了。

三、实验

作者将 GIOU 损失函数应用到已有 2D 物体检测算法中,结果相对从前在两个指标上:IOU、GIOU 均有提高,毕竟优化目标就是检测指标,比起使用中间量的 l2 损失效果好是情理之中的。

文章源码还没有被释放,不过原理并不复杂,只要修改已有算法的损失函数即可,但是最近比较忙,没有时间实践一下了。个人觉得是篇很中肯的文章,期待其他人复现实验验证一下,如果效果好说不定就像 BN、Relu 一样成为相关领域的标准配置了。

『计算机视觉』Generalized Intersection over Union: A Metric and A Loss for Bounding BoxRegression的更多相关文章

  1. Generalized Intersection over Union: A Metric and A Loss for Bounding Box Regression

    Generalized Intersection over Union: A Metric and A Loss for Bounding Box Regression 2019-05-20 19:3 ...

  2. 论文阅读笔记四十七:Generalized Intersection over Union: A Metric and A Loss for Bounding Box Regression(CVPR2019)

    论文原址:https://arxiv.org/pdf/1902.09630.pdf github:https://github.com/generalized-iou 摘要 在目标检测的评测体系中,I ...

  3. 『计算机视觉』Mask-RCNN_从服装关键点检测看KeyPoints分支

    下图Github地址:Mask_RCNN       Mask_RCNN_KeyPoints『计算机视觉』Mask-RCNN_论文学习『计算机视觉』Mask-RCNN_项目文档翻译『计算机视觉』Mas ...

  4. 『计算机视觉』Mask-RCNN_训练网络其三:训练Model

    Github地址:Mask_RCNN 『计算机视觉』Mask-RCNN_论文学习 『计算机视觉』Mask-RCNN_项目文档翻译 『计算机视觉』Mask-RCNN_推断网络其一:总览 『计算机视觉』M ...

  5. 『计算机视觉』Mask-RCNN_训练网络其二:train网络结构&损失函数

    Github地址:Mask_RCNN 『计算机视觉』Mask-RCNN_论文学习 『计算机视觉』Mask-RCNN_项目文档翻译 『计算机视觉』Mask-RCNN_推断网络其一:总览 『计算机视觉』M ...

  6. 『计算机视觉』Mask-RCNN_训练网络其一:数据集与Dataset类

    Github地址:Mask_RCNN 『计算机视觉』Mask-RCNN_论文学习 『计算机视觉』Mask-RCNN_项目文档翻译 『计算机视觉』Mask-RCNN_推断网络其一:总览 『计算机视觉』M ...

  7. 『计算机视觉』Mask-RCNN_锚框生成

    Github地址:Mask_RCNN 『计算机视觉』Mask-RCNN_论文学习 『计算机视觉』Mask-RCNN_项目文档翻译 『计算机视觉』Mask-RCNN_推断网络其一:总览 『计算机视觉』M ...

  8. 『计算机视觉』Mask-RCNN_推断网络终篇:使用detect方法进行推断

    一.detect和build 前面多节中我们花了大量笔墨介绍build方法的inference分支,这节我们看看它是如何被调用的. 在dimo.ipynb中,涉及model的操作我们简单进行一下汇总, ...

  9. 『计算机视觉』Mask-RCNN_推断网络其六:Mask生成

    一.Mask生成概览 上一节的末尾,我们已经获取了待检测图片的分类回归信息,我们将回归信息(即待检测目标的边框信息)单独提取出来,结合金字塔特征mrcnn_feature_maps,进行Mask生成工 ...

随机推荐

  1. 安装完Ubuntu后要做的事情

    Ubuntu 16.04安装完成后,还需要做一些配置才能愉快的使用,所以装完系统后还要进行一系列的优化. 1.删除libreoffice libreoffice虽然是开源的,但是Java写出来的off ...

  2. [assembly: AssemblyVersion("1.0.1.*")] 指定版本字符串不符合所需格式 - major[.minor[.build[.revision]]]

    报如下错误, 解决方法:打开项目文件,修改 打开项目文件修改:<Deterministic>true</Deterministic> 为:<Deterministic&g ...

  3. Godot-富文本

    作用:添加链接(比如赞助网站,或者相关站点什么的) 效果如下: (引用Godot官网) Introduction RichTextLabel allows the display of complex ...

  4. 《ASP.NET Core In Action》读书笔记系列二 ASP.NET Core 能用于什么样的应用,什么时候选择ASP.NET Core

    ASP.NET Core 能用于什么样的应用 ASP.NET Core 可以用作传统的web服务.RESTful服务.远程过程调用(RPC)服务.微服务,这归功于它的跨平台支持和轻量级设计.如下图所示 ...

  5. win7插着网线开机卡死,拔下网线开机正常

    公司的部分win7电脑插着网线开机,进到桌面后网络图标转圈圈卡住.控制面板,启动项,任务管理器等都打不开.把网线拔下后再开机,电脑正常进入系统,后再插上网线就能正常上网了.被这个问题困扰了很久,百度也 ...

  6. Winform 图片预览列表+分页显示

    针对图片列表展示信息,一开始没有做过相关类似的功能,大多都是以表格行显示为主,所以刚开始实现这个功能的时候是懵逼的.无从下口.在网上搜索一时半会也没找到合适的解决方案.大致就是类似于下图这样,每条数据 ...

  7. STS4 add spring bean configuration file

    转自:https://blog.csdn.net/asc_123456/article/details/83216577

  8. java 字符串笔记

    java字符串当中有三个关于字符串对象的类. String 首先谈论下他们各自的含义: 1.String含义为引用数据类型,是字符串常量.是不可变的对象,(显然线程安全)在每次对string类型进行改 ...

  9. Python 运维之路

    第一章:Python基础知识 1.Python 变量了解 .Python 二进制 .Python 字符编码 4.Python if条件判断 5.Python while循环 6.Python for循 ...

  10. P4116 Qtree3

    思路 可以树剖可以LCT,树剖就是每个重链开一个SET维护一下黑点的深度 非常不优美 使用LCT,在splay上二分找出需要的节点即可 代码 #include <cstdio> #incl ...