DIoU要比GIou更加符合目标框回归的机制,将目标与anchor之间的距离,重叠率以及尺度都考虑进去,使得目标框回归变得更加稳定,不会像IoU和GIoU一样出现训练过程中发散等问题。
https://arxiv.org/pdf/1911.08287.pdf
https://github.com/Zzh-tju/DIoU-darknet

1:IoU & GIoU存在的问题分析

论文作者通过一个仿真实现,从实验结果的角度说明了IoU和GIoU存在的问题。实验设定如下图所示,
一:绿色框代表仿真实验需要回归的七个不同尺度的目标框,七个目标框的中心点坐标都是(10 * 10)。
二:蓝色的点代表了所有anchor的中心点,中心点的分布如下图所示,各个方向都有,各种距离都有,当然每个anchor得一个中心点都包含有七个不同面积的anchor框。而且每个面积的anchor框又有其中不用比例尺寸。因此一共有5000个蓝色点,有5000*7*7个anchor框,而且每个框都需要回归到七个目标框去,因此一共有5000*7*7*7个回归案例。

最终的实验结果如下:图中展示的训练同样的代数后(200代),三个loss最终每个anchor的误差分布。
一:IoU:从IoU误差的曲线我们可以发现,anchor越靠近边缘,误差越大,那些与目标框没有重叠的anchor基本无法回归。
二:GIoU:从GIoU误差的曲线我们可以发现,对于一些没有重叠的anchor,GIoU的表现要比IoU更好。但是由于GIoU仍然严重的依赖IoU,因此在两个垂直方向,误差很大,基本很难收敛,这就是GIoU不稳定的原因。
三:DIoU:从DIoU误差的曲线我们可以发现,对于不同距离,方向,面积和比例的anchor,DIoU都能做到较好的回归。


再用一张很形象的图,来说明GIoU不稳定以及收敛很慢的原因。下图中第一行三张图展示的是GIoU的回归过程,其中绿色框为目标框,黑色框为anchor,蓝色框为不同次数的迭代后,anchor的偏移结果。第二行三张图展示的是DIoU的回归过程,其中绿色框为目标框,黑色框为anchor,红色框为不同次数的迭代后,anchor的偏移结果。从图中我们可以看到,GIoU在回归的过程中,从损失函数的形式我们发现,当IoU为0时,GIoU会先尽可能让anchor能够和目标框产生重叠,之后GIoU会渐渐退化成IoU回归策略,因此整个过程会非常缓慢而且存在发散的风险。而DIoU考虑到anchor和目标之间的中心点距离,可以更快更有效更稳定的进行回归。

2:提出问题

基于GIoU存在的问题,作者提出了两个问题:
首先,直接最小化anchor框与目标框之间的归一化距离是否可行,以达到更快的收敛速度。
其次,如何使回归在与目标框有重叠甚至包含时更准确、更快。

3:DIoU

作者为了回答第一个问题:提出了Distance-IoU Loss

上述损失函数中,b,bgt分别代表了anchor框和目标框的中心点,且p代表的是计算两个中心点间的欧式距离。c代表的是能够同时覆盖anchor和目标框的最小矩形的对角线距离。因此DIoU中对anchor框和目标框之间的归一化距离进行了建模。直观的展示如下图所示。

DIoU的优点如下:
1.与GIoU loss类似,DIoU loss在与目标框不重叠时,仍然可以为边界框提供移动方向。
2.DIoU loss可以直接最小化两个目标框的距离,因此比GIoU loss收敛快得多。
3.对于包含两个框在水平方向和垂直方向上这种情况,DIoU损失可以使回归非常快,而GIoU损失几乎退化为IoU损失。

3:CIoU

作者为了回答第二个问题:提出了Complete-IoU Loss
一个好的目标框回归损失应该考虑三个重要的几何因素:重叠面积、中心点距离、长宽比。
GIoU:为了归一化坐标尺度,利用IoU,并初步解决IoU为零的情况。
DIoU:DIoU损失同时考虑了边界框的重叠面积和中心点距离。
然而,anchor框和目标框之间的长宽比的一致性也是极其重要的。基于此,作者提出了Complete-IoU Loss

上述损失函数中,CIoU比DIoU多出了阿尔法和v这两个参数。其中阿尔法是用于平衡比例的参数。v用来衡量anchor框和目标框之间的比例一致性。

从阿尔法参数的定义可以看出,损失函数会更加倾向于往重叠区域增多方向优化,尤其是IoU为零的时候。

4:DIoU & CIoU结果分析

DIoU YOLOv3 | AAAI 2020:更加稳定有效的目标框回归损失相关推荐

  1. 目标检测回归损失函数简介:SmoothL1/IoU/GIoU/DIoU/CIoU Loss

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源:极市平台 目标检测任务的损失函数由Classificitio ...

  2. 目标检测回归损失函数:SmoothL1/IoU/GIoU/DIoU/CIoU Loss

    文章目录 1. Smooth L1 Loss 1.1 假设x为预测框和真实框之间的数值差异,常用的L1和L2 Loss定义为: 1.2 上述的3个损失函数对x的导数分别为: 1.3 实际目标检测框回归 ...

  3. AAAI 2020 | 通过解纠缠模型探测语义和语法的大脑表征机制

    2020-01-06 10:26 导语:使用分离的语义和语法特征来研究大脑对应的神经基础. 作者 | 王少楠.张家俊 语义和语法是自然语言中最重要的特征.已有神经影像学的研究证明大脑处理语义和语法的神 ...

  4. AAAI 2020 时间交错网络 | ICCV19多标签视频理解冠军方案

    本文主要介绍三个部分: 一个高效的 SOTA 视频特征提取网络 TIN,发表于 AAAI 2020 ICCV19 MMIT 多标签视频理解竞赛冠军方案,基于 TIN 和 SlowFast 一个基于 P ...

  5. AAAI 2020 | 微软亚洲研究院6篇精选论文在家看

    点击我爱计算机视觉标星,更快获取CVML新技术 编者按:AAAI 2020 明天将在纽约开幕,然而这次的情况有些许不同,许多国内的小伙伴因疫情影响无法到现场参加会议.各位小伙伴在家中做好日常防护的同时 ...

  6. AAAI 2020论文解读:商汤科技提出新弱监督目标检测框架

    来源 | Object Instance Mining for WeaklySupervised Object Detection 编辑 | Carol 出品 | AI科技大本营(ID:rgznai1 ...

  7. AAAI 2020论文解读:商汤科技发布新视频语义分割和光流联合学习算法

    来源 | Every Frame Counts: Joint Learning of Video Segmentation and Optical Flow 编辑 | Carol 出品 | AI科技大 ...

  8. 必看!52篇深度强化学习收录论文汇总 | AAAI 2020

    所有参与投票的 CSDN 用户都参加抽奖活动 群内公布奖项,还有更多福利赠送 来源 | 深度强化学习实验室(ID:Deep-RL) 作者 | DeepRL AAAI 2020 共收到的有效论文投稿超过 ...

  9. AAAI 2020 | 时间可以是二维的吗?基于二维时间图的视频内容片段检测

    作者 | 彭厚文.傅建龙 来源 | 微软研究院AI头条 编者按:当时间从一维走向二维,时序信息处理问题中一种全新的建模思路由此产生.根据这种新思路及其产生的二维时间图概念,微软亚洲研究院提出一种新的解 ...

最新文章

  1. 【高并发】面试官问我:为啥局部变量是线程安全的?
  2. 吴恩达 coursera AI 第三课总结+作业答案
  3. boost::proto模块实现使用一个带有语法的域来修剪集合重载运算符的测试程序
  4. [网络安全自学篇] 三十四.Windows系统安全缺陷之5次Shift漏洞启动计算机机理分析
  5. iOS 12.0-12.1.2 完整越狱支持 Cydia
  6. storm-kafka编程指南
  7. C#为什么会这么慢之命运之终章-真理篇for firelong
  8. 计算机硬件基础课设总结,计算机硬件基础课程设计报告.doc
  9. scp 免输入密码的方法
  10. MFC窗口最小化到托盘
  11. lan speed test怎么用_别浪费,你家的200M光纤真的用起来了吗?
  12. matlab系统数学模型建立,第五章 matlabsimulink下数学模型的建立
  13. 中文版232测试软件,打印机、客显测试软件
  14. python代码补全_python命令自动补全
  15. 线性代数:求n阶行列式python编写
  16. 万字详述推荐系统经典模型DCN,DCN_v2,PNN
  17. 如何按州跟踪缺席选票
  18. Java程序员面试全集(上)
  19. [转载]1986年吴图南 马岳梁 吴英华 孙剑云等名家大師
  20. SpringCloud_Alibaba微服务学习---sentinel—流量卫兵

热门文章

  1. 前端学习记录(十一) 一个“屡教不改”的错误
  2. 风控系统案例:中国移动
  3. 【Codecs系列】几个开源的视频编解码器介绍
  4. Google Cloud Next '17主题演讲的5个重要要点
  5. 并发-FutureTask
  6. 计算机对测绘领域的应用,GPS技术在测绘工程领域中的应用
  7. 【Linux】常用命令汇总
  8. Lighting - 光的亮度衰减
  9. SPA,什么是单页面应用,为什么要使用单页面应用,单页面应用有啥好处
  10. struts2.1.6的bug之空指针(与tomcat安装)