目标检测:IOU计算

  在目标检测中,经常需要计算预测回归框和真实回归框的交并比(Intersection Over Union,IOU),也称重叠度,计算公式如下。
IOU = \frac{预测回归框与真实回归框的交集}{预测回归框与真实回归框的并集}
​   由于回归框只是确定物体的位置,不需要考虑物体的倾斜、旋转等情况。那么已知两个回归框A,B各自左上顶点右下顶点的坐标,如何计算二者的交集和并集。假定回归框A的左上顶点和右下顶点的坐标分为(x_{a_1},y_{a_1}),(x_{a_2},y_{a_2}),回归框B的左上顶点和右下顶点的坐标分为(x_{b_1},y_{b_1}),(x_{b_2},y_{b_2})。为方便理解,将回归框用集合语言来描述:
A=\{(x,y)| x_{a_1} \leq x \leq x_{a_2},y_{a_1} \leq y \leq y_{a_2},x,y \in R\}\\B=\{(x,y)| x_{b_1} \leq x \leq x_{b_2},y_{b_1} \leq y \leq y_{b_2},x,y \in R\}

  • 交集

      A,B集合要想有交集,直观来看不等式右端点的最小值必须大于左端点的最大值,以横坐标为例,有一下三种情况:

    • 无交集


      image
    • 有交集


      image
    • 重叠


      image

则可得到不等式组:

max\{x_{a_1},x_{b_1}\} \leq min\{x_{a_2},x_{b_2}\}\\ max\{y_{a_1},y_{b_1}\} \leq min\{y_{a_2},y_{b_2}\}

成立时,集合A、B交集非空,且当不等式组成立时,交集C为:

C=A \cap B=\{(x,y)|max\{x_{a_1},x_{b1}\}\leq x \leq min\{x_{a_2},x_{b_2}\},max\{y_{a_1},y_{b1}\}\leq y \leq min\{y_{a_2},y_{b_2}\}\}

  • 并集

      显然,由于已求得交集,可以很轻松得到预测回归框和真实回归框的并集为D = A \cup B=A+B-A \cap B

  • IOU

  求得预测回归框和真实回归框的交集和并集之后,可以很容易计算出IOU的值:

S_C={(min\{x_{a_2},x_{b_2}\}-max\{x_{a_1},x_{b_1}\})\times(min\{y_{a_2},y_{b_2}\}-max\{y_{a_1},y_{b_1}\})}

S_D=S_A+S_B-S_C=(x_{a_2}-x_{a_1})(y_{a_2}-y_{a_1})+(x_{b_2}-x_{b_1})(y_{b_2}-y_{b_1})-S_C

IOU = \frac{S_C}{S_D}=\frac{{(min\{x_{a_2},x_{b_2}\}-max\{x_{a_1},x_{b_1}\})\times(min\{y_{a_2},y_{b_2}\}-max\{y_{a_1},y_{b_1}\})}}{{(x_{a_2}-x_{a_1})(y_{a_2}-y_{a_1})+(x_{b_2}-x_{b_1})(y_{b_2}-y_{b_1})-(min\{x_{a_2},x_{b_2}\}-max\{x_{a_1},x_{b_1}\})\times(min\{y_{a_2},y_{b_2}\}-max\{y_{a_1},y_{b_1}\})}}


关于交并比计算的更详细内容,可以参考以下链接:

Yolo V1算法详解

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容