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

看到网上关于这个东西很直观的一个解释,今天看代码,直接理解还是比较抽象,所以也想把这个记下来供以后查看可以简单的将橙色框理解为检测(检测框);黑色框(轨道)追踪框。计算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
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值