摘要:本文解读了《Gaussian Bounding Boxes and Probabilistic Intersection-over-Union for Object Detection》,该论文针对目标检测任务,提出了新的高斯检测框(GBB),及新的计算目标相似性的方法(ProbIoU)。

本文分享自华为云社区《论文解读系列十九:用于目标检测的高斯检测框与ProbIoU》,作者:BigDragon。

论文地址: https://arxiv.org/abs/2106.06072

Github地址: https://github.com/ProbIOU

现有目标检测的改进方向主要集中在:训练更大数据集 (LVIS dataset)、处理类别不均衡、提出更好的 backbones 、建立长距离相互作用模型 (Transformers , LambdaNetworks)、分类和检测框的权衡分析,对于检测框的呈现形式相关研究较少。现有目标检测任务中以水平框 (HBB )和旋转框 (OBB )为主,呈现形式还是矩形或者类矩形。 而现有目标距离及相似性计算方式包括:IoU (Intersection over Union)、 GIoU (Generalized IoU )、 DIoU (Distance IoU)、 PIoU (Pixel IoU), Gaussian Wasserstein Distance (GWD)。

现有OBB算法在细长及旋转物体检测问题相对于HBB算法有所提高,但是与目标语义分割的贴合度不高,因此,本文提出更加贴合语义分割形式的分割呈现形式及对应的目标相似度计算方法。

该论文贡献如下:

  • 提出一种新的椭圆形目标检测框 (Gaussian Bounding Boxes,GBB)

GBB与目标的语义分割mask形状更加接近,更加贴合非矩形目标,在非矩形目标检测效果优于HBB和OBB。

  • 提出一种新的目标相似度的计算方法 (Probabilistic IoU,ProbIoU)

基于Hellinger Distance的ProbIoU,考虑了2D高斯分布的特点,满足所有距离度量标准,能够表示不同分布间的真实距离,且处处可微,能提升OBB和HBB目标检测效果。

1.Gaussian Bounding Boxes (GBB)

为在 2 维区域确定一个二维高斯分布,需要计算其均值μ和协方差矩阵∑,其中μ为 (x0, y0) T,协方差矩阵∑可通过下列公式进行计算。在目标检测任务中,可直接设置(x0,y0,a,b,c )作为目标检测中的回归任务中的参数,也可将回归任务中参数表示为(x0, y0,a ’,b ’,θ ),而后者的形式更加符合现有旋转检测框的输出形式。

假设

水平框及旋转框向高斯框转换中遵循以下假设:目标区域为 2 维二元区域 Ω,且 Ω 符合均匀概率分布,则该分布的均值 μ 和协方差矩阵 ∑ 可通过如下公式进行计算。

其中, N 表示区域 Ω 的面积。

1.1 将 HBB 转化为 GBB

对于 HBB ,其二元区域 Ω 为以 (x0, y0) 为中心,高为 H,宽为 W 的矩形区域 , 因此 μ 为 (x0, y0) , 它的协方差矩阵 Σ 可通过如下公式进行计算

因此,可以得出 a=w²/ 12 , b =H²/12,c=0 。如上述公式所示,转换后的高斯框也可以转化水平框,该过程是可逆的。

1.2 将 OBB 转化为 GBB

OBB 转化为 GBB 需要计算 (a ’,b ’,θ),如下图所示,方差 a ’和b ’ 可通过将旋转框转化为水平框进行计算, 其协方差矩阵可通过下列公式进行计算。

1.3 多边形框 (PBB) 转化为 GBB

多边形框转化为高斯框,可按下列公式进行计算:

2. ProbIoU 及定位损失函数

2.1 ProbIoU

Bhattacharyya Distance (BD)

为计算不同 GBB 间的相似度,本文首先采用了 Bhattacharyya Coefficient(BC);两个概率密度函数 p(x)和 q(x) 间的 BC 按下列公式进行计算:

其中 BC (p,q ) ∈ [0,1], 当且仅当两个分布相同时,BC (p,q)=1 。

基于上述 BC ( p,q ),可以得到不同 分布间的巴氏距离 (Bhattacharyya Distance, BD), 两个概率密度函数p(x)和q(x) 间的BD按下列公式进行计算:

当 p ~N (μ1,Σ1), q~N (μ2, Σ2 ) 且目标检测中实际问题为2维向量及矩阵,巴氏距离 BD 可通过如下公式进行计算:

Hellinger Distance (HD)

由于 Bhattacharyya Distance 不满足三角不等式,所以它并不是真实的距离,因此,为表示真实距离,采用 Hellinger Distance (HD) ,其公式如下:

其中 HD (p,q) ∈ [0,1],当且仅当两个分布相同时, HD(p,q)=0 。

Probabilistic IoU (ProbIoU)

基于上述 Hellinger Distance , 本文提出高斯分布相似性计算方法 ProbIoU ,其具体计算公式如下:

2.2 定位损失函数

假设预测 GBB 为 p= (x1,y1,a1,b1,c1 ),真实 GBB 为 p=(x2,y2,a2,b2,c2 ),则其损失函数如下所示:

然而,当预测 GBB 远离真实 GBB 距离时, L1 损失函数的值接近于 1 ,训练过程产生梯度小且收敛速度慢。 L2 损失函数避免了上述问题,但与 IoU 的几何关系弱,因此,建议首先采用 L2 损失函数训练,然后切换至 L1 损失函数。

2.3 ProbIoU 的特性

基于 Hellinger Distance 的 ProbIoU 具有以下特性:

  • 三个函数中所有参数都是可微的;
  • Helinger Distance 满足所有距离度量标准 ;
  • 损失函数对对象缩放是不变的。

3. 实验结果

3.1 不同检测框 实验结果

在 COCO2017 上进行训练, 通过对比 GBB 、OBB 、HBB 检测得到的 IoU,可得到如下结论:

  • GBB 在 COCO 2017 中 77 类别的均值 IoU 要高于 HBB 和 OBB
  • GBB 在 traffic light 、 microwave 、 tv 三个类别要差于 HBB 和 OBB

3.2 ProbIoU loss 对于 HBB 、 OBB 检测的提升

将基于 ProbIoU 的损失函数用于 HBB 检测任务中, 分别采用 EfficientDet D0 和 SSD 300 在 PASCAL-VOC 2007 数据集训练。如下表所示, 相对于 IoU , 采用 ProbIoU 方法 在 AP 及 AP75 均有提升,采用基于 ProbIoU 的损失函数的模型均能达到较高 AP 。

将基于 ProbIoU 的损失函数用于OBB 检测任务中, 分别采用 R-50 Retinanet 及 R-50 R3Det ,在 DOTA v1 及 HRSC2016 数据集进行训练。如下表所示,在 DOTA V1 数据集,采用 Retinanet 模型时,基于 ProbIoU 的 损失函数 AP 比 GWP-ret 高 2%;采用 R3Det 模型时, 其结果与GWD-rep 和GWD-ret 接近。在 HRSC2016 数据集上,基于 ProbIoU 的损失函数结果与GWD-rep 相当, 并且优于GWD-ret 。

4. 总结

本文所呈现的方法包含以下三个重要部分 :

  • 采用高斯分布形式检测框 (GBB)
  • 提出基于 Hellinger Distance 的 ProbIoU,并提出对应的损失函数 L1,L2
  • 训练过程中,采用L1 和 L2 损失函数组合效果更佳

本文所呈现的方法局限性包含以下两个部分 :

  • 对于等轴的高斯分布,无法确定其旋转角度
  • 对于细长目标,训练过程中容易梯度过大,造成训练不稳定。

想了解更多的AI技术干货,欢迎上华为云的AI专区,目前有AI编程Python等六大实战营供大家免费学习

点击关注,第一时间了解华为云新鲜技术~

带你读AI论文丨用于目标检测的高斯检测框与ProbIoU的更多相关文章

  1. 带你读AI论文丨ACGAN-动漫头像生成

    摘要:ACGAN-动漫头像生成是一个十分优秀的开源项目. 本文分享自华为云社区<[云驻共创]AI论文精读会:ACGAN-动漫头像生成>,作者:SpiderMan. 1.论文及算法介绍 1. ...

  2. 带你读AI论文丨RAID2020 Cyber Threat Intelligence Modeling GCN

    摘要:本文提出了基于异构信息网络(HIN, Heterogeneous Information Network)的网络威胁情报框架--HINTI,旨在建模异构IOCs之间的相互依赖关系,以量化其相关性 ...

  3. 带你读AI论文丨LaneNet基于实体分割的端到端车道线检测

    摘要:LaneNet是一种端到端的车道线检测方法,包含 LanNet + H-Net 两个网络模型. 本文分享自华为云社区<[论文解读]LaneNet基于实体分割的端到端车道线检测>,作者 ...

  4. 带你读AI论文:NDSS2020 UNICORN: Runtime Provenance-Based Detector

    摘要:这篇文章将详细介绍NDSS2020的<UNICORN: Runtime Provenance-Based Detector for Advanced Persistent Threats& ...

  5. 医学AI论文解读 |Circulation|2018| 超声心动图的全自动检测在临床上的应用

    文章来自微信公众号:机器学习炼丹术.号主炼丹兄WX:cyx645016617.文章有问题或者想交流的话欢迎- 参考目录: @ 目录 0 论文 1 概述 2 pipeline 3 技术细节 3.1 预处 ...

  6. 少啰嗦!一分钟带你读懂Java的NIO和经典IO的区别

    1.引言 很多初涉网络编程的程序员,在研究Java NIO(即异步IO)和经典IO(也就是常说的阻塞式IO)的API时,很快就会发现一个问题:我什么时候应该使用经典IO,什么时候应该使用NIO? 在本 ...

  7. Mask R-CNN用于目标检测和分割代码实现

    Mask R-CNN用于目标检测和分割代码实现 Mask R-CNN for object detection and instance segmentation on Keras and Tenso ...

  8. 一文带你读懂什么是vxlan网络

    一个执着于技术的公众号 一.背景 随着云计算.虚拟化相关技术的发展,传统网络无法满足大规模.灵活性要求高的云数据中心的要求,于是便有了overlay网络的概念.overlay网络中被广泛应用的就是vx ...

  9. 实战 | 一文带你读懂Nginx反向代理

    一个执着于技术的公众号 前言 在前面的章节中,我们已经学习了nginx基础知识: 给小白的 Nginx 10分钟入门指南 Nginx编译安装及常用命令 完全卸载nginx的详细步骤 Nginx 配置文 ...

随机推荐

  1. Nginx:Nginx的安装

    Nginx安装 首先安装依赖 #安装Nginx需要gcc openssl-devel pcre-devel zlib-devel依赖 yum -y install gcc openssl-devel ...

  2. 从 Java 代码到 Java 堆

    本文将为您提供 Java 代码内存使用情况的深入见解,包括将 int 值置入一个 Integer 对象的内存开销.对象委托的成本和不同集合类型的内存效率.您将了解到如何确定应用程序中的哪些位置效率低下 ...

  3. mysql 的基础操作

    1.建表 create table  表名( 字段一 数据类型 [列属性] , 字段二 数据类型 [列属性], ......... )[表类型][表字符集][注释]; 注意:MySQL命令终止符为分号 ...

  4. linux学习之路第六天(文件目录类第二部分)

    文件目录类 1.cat指令 作用:查看文件内容,是以只读的方式打开. 基本语法 cat [选项] 要查看的文件 常用选项 -n; 使用细节: cat只能浏览文件,而不能修改文件,通常会和more一起使 ...

  5. nmon打开nmon文件出现 运行时错误13类型不匹配问题解决

    根据nmon工具安装及nmon analyser的使用 - 空谷幽兰LDD - 博客园 (cnblogs.com)文中,用nmon_analyse去打开监控到的nmon文件,出几个报错. 1 用WPS ...

  6. python操作elasticsearch增、删、改、查

    最近接触了个新东西--es数据库 这东西虽然被用的很多,但我是前些天刚刚接触的,发现其资料不多,学起来极其痛苦,写个文章记录下 导入库from elasticsearch import Elastic ...

  7. java基础---java8后新特性

    1. java9 新特性 模块化的使用 减少内存的开销. 可简化各种类库和大型应用的开发和维护. 安全性,可维护性,提高性能. 在 module-info.java 文件中,我们可以用新的关键词mod ...

  8. 《快来为你的 .NET 应用加个监控吧!》更新版本啦

    目录 导读 三种方式处理监控数据 主动推送 ASP.NET Core 自定义URL .NET diagnostics 自定义监控指标 导读 CZGL.ProcessMetrics 是一个 Metric ...

  9. Docker与k8s的恩怨情仇(五)——Kubernetes的创新

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 上节中我们提到了社区生态的发展使得Kubernetes得到了良性的发展和传播.比起相对封闭的Docker社区 ...

  10. 论文阅读:Visual-Inertial Localization With Prior LiDAR Map Constraints

    介绍 提出了一个低代价双目视觉惯导定位系统,实现了基于多状态约束下的卡尔曼滤波器(MSCKF)VIO,采用了先验雷达地图.除了稀疏的视觉特征,雷达地图与半稠密的点云也通过紧耦合的MSCKF进行更新,进 ...