pytorch 交并比 iou

举报
风吹稻花香 发表于 2021/06/05 01:35:24 2021/06/05
【摘要】     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...

 

 


  
  1. import torch
  2. def intersect(box_a, box_b):
  3. """ We resize both tensors to [A,B,2] without new malloc:
  4. [A,2] -> [A,1,2] -> [A,B,2]
  5. [B,2] -> [1,B,2] -> [A,B,2]
  6. Then we compute the area of intersect between box_a and box_b.
  7. Args:
  8. ¦ box_a: (tensor) bounding boxes, Shape: [A,4].
  9. ¦ box_b: (tensor) bounding boxes, Shape: [B,4].
  10. Return:
  11. ¦ (tensor) intersection area, Shape: [A,B].
  12. """
  13. A = box_a.size(0)
  14. B = box_b.size(0)
  15. max_xy = torch.min(box_a[:, 2:].unsqueeze(1).expand(A, B, 2), box_b[:, 2:].unsqueeze(0).expand(A, B, 2))
  16. min_xy = torch.max(box_a[:, :2].unsqueeze(1).expand(A, B, 2),box_b[:, :2].unsqueeze(0).expand(A, B, 2))
  17. inter = torch.clamp((max_xy - min_xy), min=0)
  18. return inter[:, :, 0] * inter[:, :, 1]
  19. def bbox_iou(box1, box2, x1y1x2y2=True):
  20. """
  21. Returns the IoU of two bounding

文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/80808620

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。