交并比的计算

  在目标检测中,经常需要计算预测回归框和真实回归框的交并比(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集合要想有交集,直观来看不等式右端点的最小值必须大于左端点的最大值,以横坐标为例,有一下三种情况:

    • 无交集

    • 有交集

    • 重叠

则可得到不等式组:

\[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算法详解

posted @ 2022-05-10 23:42  殉道者之殇  阅读(493)  评论(0编辑  收藏  举报