IOU

11 篇文章 0 订阅
2 篇文章 0 订阅

IOU
即交并比,应用:NMS(过滤重叠框)mAP

import numpt as np

def get_IOU(pred_bbox, gt_bbox):
	ixmin = max(pred_bbox[0], gt_bbox[0])
	iymin = max(pred_bbox[1], gt_bbox[1])
	ixmax = min(pred_bbox[2], gt_bbox[2])
	iymax = min(pred_bbox[3], gt_bbox[3])
	iw = np.maximum(ixmax - ixmin + 1., 0.)
	ih = np.maximum(iymax - iymin + 1., 0.)

	inters = iw * ih
	uni = ((pred_bbox[2] - pred_bbox[0] + 1.) * (pred_bbox[3] - pred_bbox[1] + 1.) + (gt_bbox[2] - gt_bbox[0] + 1.) * (gt_bbox[3] - gt_bbox[1] + 1.) - inters)

	overlaps = inters / uni
	return overlaps

def get_max_IOU(pred_bboxes, gt_bbox):
	if pred_bboxs.shape[0] > 0:
		ixmin = np.maximum(pred_bboxes[:, 0], gt_bbox[0])
		iymin = np.maximum(pred_bboxes[:, 1], gt_bbox[1])
		ixmax = np.minimum(pred_bboxes[:, 2], gt_bbox[2])
		iymax = np.minimum(pred_bboxes[:, 3], gt_bbox[3])
		iw = np.maximum(ixmax - ixmin + 1., 0.)
		ih = np.maximum(iymax - iymin + 1., 0.)

		inters = iw * ih
		uni = ((gt_bbox[2] - gt_bbox[0] + 1.) * (gt_bbox[3] - gt_bbox[1] + 1.) + (pred_bboxes[:, 2] - pred_bboxes[:, 0] + 1.) * (pred_bboxes[:, 3] - pred_bboxes[:, 1] + 1.) - inters)
		overlaps = inters / uni
		ovmax = np.max(overlaps)
		jmax = np.argmax(overlaps)

	return overlaps, ovmax, jmax

MIoU
在这里插入图片描述
MPA (均精度):计算橙色与红色圆的比例;
MIoU:计算两圆交集(橙色部分)与两圆并集(红橙黄)之间比例,理想状态两圆重合,比例为1.

代码解析:https://blog.csdn.net/jiongnima/article/details/84750819

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值