Generalized Intersection over Union: A Metric and A Loss for Bounding Box Regressiongit
2019-05-20 19:34:55github
Paper: https://arxiv.org/pdf/1902.09630.pdf 算法
Project page: https://giou.stanford.edu/ 函数
Code: https://github.com/generalized-iou 性能
1. Background and Motivation: 优化
IoU (Intersection over Union) 是物体检测领域最经常使用的评价指标,用于衡量任意两个形状之间的类似性。IoU 将物体的形状信息,如:width,height,and locations of two bounding boxes,编码为 region property,而后计算一个聚焦于该区域的度量。这个性质使得 IoU 对 scale 有不变性。因为具备这样的特色,IoU 被普遍的应用于物体检测,分割,跟踪等任务。编码
从上述内容能够发现,最小化经常使用的损失 与 改善他们的 IoU 值,之间并无强烈的关系。如图 1(a)所示:(绿色的BBox 为真值,黑色的为预测的结果)spa
为了简化起见,咱们假设两个 BBox 的一个角固定,因此,任何预测的 BBox,只要第二个角在圆周线上,将会产生相同的 l2-norm distance;然而,IoU值却明显的不一样。能够发现,regression loss 的优化 和 IoU values 之间的 gap,并不能很简单的跨越。orm
本文针对该问题,探索了 IoU 的新的计算方法。做者这里借鉴了 UnitBox 的思想,直接将 BBox 做为优化目标进行回归。因此,将 IoU 做为 2D 物体检测任务的目标函数就更适合了。可是,IoU 做为 metric 和 loss 有以下的不足:若是两个物体根本没有重合,那么 IoU value 将会是 0,而且不会反应两个 BBox 到底有多远。在这种不重合的状况下,若是用了 IoU 做为损失函数,那么梯度将会为 0,没法进行优化。blog
在本文中,做者经过解决这个不重合的问题,克服了 IoU 的弱点。做者确保其拓展版本的有以下的特性:
a). 与 IoU 同样,拥有相同的定义,即:将对比物体的形状属性编码为区域属性(region property);
b). 保持了 IoU 的尺寸不变性;
c). 确保了在重合物体上与 IoU 的强烈相关性;
咱们引入该 generalized verison of IoU, named GIoU, 做为一种新的对比方式。也提供了一种分析性的方案,来计算 GIoU,容许其做为 loss function。将 GIoU loss 引入到顶尖的物体检测算法中,咱们的方法稳定的提高了其在主流物体检测benchmark 上检测性能。
2. Generalized Intersection over Union :
常规的 IoU 的定义以下:
IoU 有以下的两个优点:
1). IoU 做为距离,能够看作是一种 metric;
2). IoU 对问题的尺寸具备不变性(Invariant to the scale of the problem);
与此同时,也有以下的一个劣势:若是两个 BBox 不重合,那么其 IoU 得分就是 0。那么,此时的 IoU 没法反映出两个BBox 真实的距离。
做者提出的 GIoU 能够很好的解决这个问题,具体的计算方式以下:
首先,计算两个 BBox A 和 B 的 smallest convex shapes C, 同时包含 A and B;
而后,咱们计算以下的比值:分子是 排除 A 和 B 后的 C的区域,分母是 C 的总面积;这个表达了 A 和 B 之间的空闲区域的大小比例;
最终,将 IoU 的值,减去上述的比值,就能够获得 GIoU 的值。
上图中的绿色区域,即展现了所要计算的区域 C 的面积。
3. Experiments: