|
|
@ -346,7 +346,7 @@ def bbox_iou(box1, box2, x1y1x2y2=True, GIoU=False, DIoU=False, CIoU=False):
|
|
|
|
elif CIoU: # https://github.com/Zzh-tju/DIoU-SSD-pytorch/blob/master/utils/box/box_utils.py#L47
|
|
|
|
elif CIoU: # https://github.com/Zzh-tju/DIoU-SSD-pytorch/blob/master/utils/box/box_utils.py#L47
|
|
|
|
v = (4 / math.pi ** 2) * torch.pow(torch.atan(w2 / h2) - torch.atan(w1 / h1), 2)
|
|
|
|
v = (4 / math.pi ** 2) * torch.pow(torch.atan(w2 / h2) - torch.atan(w1 / h1), 2)
|
|
|
|
with torch.no_grad():
|
|
|
|
with torch.no_grad():
|
|
|
|
alpha = v / (1 - iou + v)
|
|
|
|
alpha = v / (1 - iou + v + 1e-16)
|
|
|
|
return iou - (rho2 / c2 + v * alpha ) # CIoU
|
|
|
|
return iou - (rho2 / c2 + v * alpha ) # CIoU
|
|
|
|
|
|
|
|
|
|
|
|
return iou
|
|
|
|
return iou
|
|
|
|