OpenPCDet
OpenPCDet copied to clipboard
[BUG] boxes_iou_bev returns a large number when boxes has negative edges.
https://github.com/open-mmlab/OpenPCDet/blob/dd2edf9da0944238d3711f8145cc5b86c65f5a79/pcdet/ops/iou3d_nms/src/iou3d_nms_kernel.cu#L233
当A、B两个Box中存在负数边长时,其面积Sa和Sb可能被计算为负值。 因此此处的Sa+Sb-S_overlap结果可能为负值,并导致s_overlap / fmaxf(sa + sb - s_overlap, EPS) 为一个无意义的大数。
是否应该要确保sa、sb为正数,对其做abs处理?或与MMCV中的类似计算一样直接返回IoU=0? 参考MMCV的实现:https://github.com/open-mmlab/mmcv/blob/b9bdfeb6f6aa67372d18b2ed5a10de28fc179d11/mmcv/ops/csrc/common/box_iou_rotated_utils.hpp#L334
Thank you very much, that's a good point, maybe we can add an assert function in the python iou3d calculation codes. So the users do not need to re-compile the CUDA codes.
This issue is stale because it has been open for 30 days with no activity.
This issue was closed because it has been inactive for 14 days since being marked as stale.