Open
Description
box3d_overlap IOU computation value larger than 1
box3d_overlap computes incorrect IOU value which sometimes could be value even larger than 1. Note this bug is different from the bug fix mentioned here in github and actually happens with a low eps setting.
Instructions To Reproduce the Issue:
Min replicating code
(data:
bbox_ab_data.pth.zip
)
import torch
from pytorch3d.ops import box3d_overlap
# unzip attached file, and fill its path here
[bbox_ab_data.pth.zip](https://github.com/facebookresearch/pytorch3d/files/14826992/bbox_ab_data.pth.zip)
bbox_ab_data_file = # FILEPATH
bbox_ab_data = torch.load(bbox_ab_data_file)
box_a = bbox_ab_data["box_a"].unsqueeze(0)
box_b = bbox_ab_data["box_b"].unsqueeze(0)
print(box_a)
print(box_b)
# compute IOU
vol_in, iou = box3d_overlap(box_a, box_b)
print(vol_in, iou)
"""
expected output:
tensor([[1.0696]]) tensor([[1.1747]])
"""
We validated this issue by several different methods such as random sampling, convex hull implementation, objectron implementation, and the Pytorch3D's IOU is indeed giving larger than 1 values.
Metadata
Metadata
Assignees
Labels
No labels