Skip to content

Commit

Permalink
IoU for 3D boxes
Browse files Browse the repository at this point in the history
Summary:
I have implemented an exact solution for 3D IoU of oriented 3D boxes.

This file includes:
* box3d_overlap: which computes the exact IoU of box1 and box2
* box3d_overlap_sampling: which computes an approximate IoU of box1 and box2 by sampling points within the boxes

Note that both implementations currently do not support batching.

Our exact IoU implementation is based on the fact that the intersecting shape of the two 3D boxes will be formed by segments of the surface of the boxes. Our algorithm computes these segments by reasoning whether triangles of one box are within the second box and vice versa. We deal with intersecting triangles by clipping them.

Reviewed By: gkioxari

Differential Revision: D30667497

fbshipit-source-id: 2f747f410f90b7f854eeaf3036794bc3ac982917
  • Loading branch information
nikhilaravi authored and facebook-github-bot committed Sep 29, 2021
1 parent 5b89c4e commit 2293f1f
Show file tree
Hide file tree
Showing 3 changed files with 945 additions and 3 deletions.
2 changes: 1 addition & 1 deletion pytorch3d/ops/sample_farthest_points.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# LICENSE file in the root directory of this source tree.

from random import randint
from typing import Optional, Tuple, Union, List
from typing import List, Optional, Tuple, Union

import torch
from pytorch3d import _C
Expand Down
Loading

0 comments on commit 2293f1f

Please sign in to comment.