IoU(Intersection over Union)
Introduction
在目标检测中,我们需要定位出目标的位置,而我们的算法不可能百分百跟人工标注的数据完全匹配,因此需要一种衡量目标定位精度的标准。
IoU(Intersection over Union)是一种常见的用于衡量目标定位精度的标准,可以理解为重叠度,是一种简单的测量标准,只要是在输出中得出一个预测范围(bounding box)的任务都可以用IoU来进行测量。
如上图所示,ground-truth和predicted的存在误差,绿色框是人为标记的正确结果,红色框是算法预测出来的结果,IoU要做的就是在这两个结果中测量算法的准确度,它定义了两个bounding box的重叠度 ,如下图所示:
就是矩形框A、B的重叠面积,占 的面积比例。
一般来说, 就可以被认为一个不错的结果, 结果就非常不错了,可以参见下图
实现
因为IoU的思想很简单,Python实现可以参考[1]:
1 | def bb_intersection_over_union(boxA, boxB): |
在Pytorch中,可以写成如下形式:
1 | import torch |