-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
[Enhance] Replace BEV IoU with 3D IoU #1902
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Please @Tai-Wang have a look |
@grimoire A related PR in mmdet3d has been merged into the dev branch and will be merged into master in the next release soon. I have the same concern with you and would prefer to avoiding some potential issues with more safe modifications. |
Hi @filaPro , great work! The only concern is that does the current modification remove the original ops directly? If other users use related bev ops in their projects, it will trigger errors? If yes, I think it would be better to keep original ones for several mmcv versions and just throw deprecated warnings to avoid these potential issues. Besides, if possible, I recommend we can support the bev ops based on these more comprehensive 3D ops. (I think the deprecated bev ops should be just special cases of these 3D ops?) |
Hi @Tai-Wang, Deprecated functions can be replaced with either |
So, I reverted 3 original python functions with minimal changes in code, but with |
Hi @ZwwWayne , Sorry for late reply. I've update the deprecated bev iou/nms with current mmcv ops (without 3d nms/iou). Also checked that old tests are still passed. |
* add iou3d * revert deprecated python function * fix lint * replace 3d iou/nms calls for bev iou/nms
Motivation
BEV IoU is not needed now in
open-mmlab
projects after replacingiou3d
ops withbox_iou_rotated
andnms
ops. So now we can support fair 3d IoU instead of BEV IoU. This was discussed with @ZwwWayne and @Tai-Wang as a part of work on FCAF3D inmmdetection3d
.Modification
Modify
python
andcuda
functions inmmcv.ops.iou3d
to accept not(x1, y1, x2, y2, heading)
but(x, y, z, dx, dy, dz, heading)
boxes.BC-breaking (Optional)
It breaks all 3 functions in
mmcv.ops.iou3d
.Use cases (Optional)
Fair 3D IoU is a must have function for indoor 3D object detection.
May be @grimoire to have a look on
cuda
part.