pytorch 交并比 iou
【摘要】
import torch def intersect(box_a, box_b): """ We resize both tensors to [A,B,2] without new malloc: [A,2] -> [A,1,2] -> [A,B,2] [B,2] -> [1,B,2] -> [A,B,2] Then...
-
import torch
-
-
-
def intersect(box_a, box_b):
-
""" We resize both tensors to [A,B,2] without new malloc:
-
[A,2] -> [A,1,2] -> [A,B,2]
-
[B,2] -> [1,B,2] -> [A,B,2]
-
Then we compute the area of intersect between box_a and box_b.
-
Args:
-
¦ box_a: (tensor) bounding boxes, Shape: [A,4].
-
¦ box_b: (tensor) bounding boxes, Shape: [B,4].
-
Return:
-
¦ (tensor) intersection area, Shape: [A,B].
-
"""
-
A = box_a.size(0)
-
B = box_b.size(0)
-
max_xy = torch.min(box_a[:, 2:].unsqueeze(1).expand(A, B, 2), box_b[:, 2:].unsqueeze(0).expand(A, B, 2))
-
min_xy = torch.max(box_a[:, :2].unsqueeze(1).expand(A, B, 2),box_b[:, :2].unsqueeze(0).expand(A, B, 2))
-
inter = torch.clamp((max_xy - min_xy), min=0)
-
return inter[:, :, 0] * inter[:, :, 1]
-
-
def bbox_iou(box1, box2, x1y1x2y2=True):
-
"""
-
Returns the IoU of two bounding
文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/jacke121/article/details/80808620
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)