Unverified 提交 affa2843 authored 作者: Chen Gen's avatar Chen Gen 提交者: GitHub

Refactor/reduce G/C/D/IoU `if: else` statements (#6087)

* Refactor the code to reduece else * Update metrics.py * Cleanup Co-authored-by: 's avatarCmos <gen.chen@ubisoft.com> Co-authored-by: 's avatarGlenn Jocher <glenn.jocher@ultralytics.com>
上级 7b6938d5
...@@ -234,14 +234,10 @@ def bbox_iou(box1, box2, x1y1x2y2=True, GIoU=False, DIoU=False, CIoU=False, eps= ...@@ -234,14 +234,10 @@ def bbox_iou(box1, box2, x1y1x2y2=True, GIoU=False, DIoU=False, CIoU=False, eps=
with torch.no_grad(): with torch.no_grad():
alpha = v / (v - iou + (1 + eps)) alpha = v / (v - iou + (1 + eps))
return iou - (rho2 / c2 + v * alpha) # CIoU return iou - (rho2 / c2 + v * alpha) # CIoU
else: return iou - rho2 / c2 # DIoU
return iou - rho2 / c2 # DIoU c_area = cw * ch + eps # convex area
else: # GIoU https://arxiv.org/pdf/1902.09630.pdf return iou - (c_area - union) / c_area # GIoU https://arxiv.org/pdf/1902.09630.pdf
c_area = cw * ch + eps # convex area return iou # IoU
return iou - (c_area - union) / c_area # GIoU
else:
return iou # IoU
def box_iou(box1, box2): def box_iou(box1, box2):
# https://github.com/pytorch/vision/blob/master/torchvision/ops/boxes.py # https://github.com/pytorch/vision/blob/master/torchvision/ops/boxes.py
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论