if bboxes1 and bboxes2 both have whole numbers, then ioas will have np.int dtype, and so at the end all values will be zeros (or 1 if a particular box is 100% inside the other box)
To fix this, let's do this:
ioas = np.zeros_like(intersection).astype(np.float)
OR (maybe)
convert bboxes1 and bboxes2 to float at the very beginning.
Hi, I found a bug here: https://github.com/JonathonLuiten/TrackEval/blob/d86fa9e62d2f3a1bdbbff4b2f3e92e8becd94cbf/trackeval/datasets/_base_dataset.py#L273
if bboxes1 and bboxes2 both have whole numbers, then ioas will have np.int dtype, and so at the end all values will be zeros (or 1 if a particular box is 100% inside the other box)
To fix this, let's do this: ioas = np.zeros_like(intersection).astype(np.float) OR (maybe) convert bboxes1 and bboxes2 to float at the very beginning.