关于目标检测中的IOU(交并比)的一个小记

本文详细解析了目标检测中检测框与追踪框的概念,介绍了如何通过计算交并比(IOU)来评估两个框之间的重叠程度。通过具体代码示例,展示了计算IOU的具体步骤,有助于深入理解目标检测与追踪算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

看到网上关于这个东西很直观的一个解释,今天看代码,直接理解还是比较抽象,所以也想把这个记下来供以后查看可以简单的将橙色框理解为检测(检测框);黑色框(轨道)追踪框。计算IOU即为

 

IOU =两框交集/两框区域和

def iou(det,trk):
  #det,trk 代表检测框与轨迹(追踪框)
  """
  Computes IUO between two bboxes in the form [x1,y1,x2,y2]

  坐标顺序为 xmin ymin xmax ymax  确定一个矩形
  """
  #det[0]代表检测框的左上顶角横坐标; trk[0]代表追踪框的左上顶角横坐标
  xx1 = np.maximum(det[0], trk[0])   #使用maximum 函数;X 与 Y 逐位比较取其大者;
  yy1 = np.maximum(det[1], trk[1])
  xx2 = np.minimum(det[2], trk[2])
  yy2 = np.minimum(det[3], trk[3])

  #找到交集的左上顶角到右下顶角的坐标

  w = np.maximum(0., xx2 - xx1)
  h = np.maximum(0., yy2 - yy1)
  #得到交集的宽高
  
  wh = w * h

#iou为交并比;求并集会多算一个交集区域,减去一个即可
  output = wh / ((det[2]-det[0])*(det[3]-det[1])      
    + (trk[2]-trk[0])*(trk[3]-trk[1]) - wh)
  return(output)

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值