IoU 作为目标检测算法性能 mAP 计算的一个非常重要的函数。
IoU 的全称为交并比(Intersection over Union),通过这个名称我们大概可以猜到 IoU 的计算方法。IoU 计算的是 “预测的边框” 和 “真实的边框” 的交集和并集的比值。常见的两个框的交集情况有以下六种
iou的计算方式是:重叠面积/(总面积-重叠面积)
就按照yolo v2常用数据进行举例
假设重复部分面积为31*31,两个小格子面积都为32*32,那么iou=31*31/(32*32*2-31*31)。
如果需要进行人工计算的话,分别讨论六种情况是一件非常麻烦的事,因此在Torchvision中提供了相对应的工具计算iou
可以直接使用torchvision中的ops工具进行计算
工具中的计算方法和我们人工计算时有一点不同,不同点在于:我们手工计算的时候会进行一个加1操作,而工具不会,比如上面的情况在计算iou时,iou = 30*30/(31*31*2-30*30)。可以先使用自带的工具进行计算,如果效果不太理想,再进行手工操作。
在yolo v2中,需要先进行移动边框的操作。
假设黑色格子是图片上按照比例划分的小格子