-
Notifications
You must be signed in to change notification settings - Fork 7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RFC] Interest in box-IoU implementation that supports distance-IoU (DIoU) and complete-IoU (CIoU)? #3026
Comments
Hmm, orignally while adding gIoU Issue #2545 also proposed to add CIoU and DIoU.
E.g. For all torchvision ops the format used is XYXY. @fmassa should |
I'd personally vote for a simpler API and removing |
I support the idea of adding CIoU and DIoU. I agree with @HamsterHuey that a simpler API is better than every function doing also format conversion. There's also one thing that I don't like with the current box_iou / generalized_box_iou interface: They take two input arguments, |
We have implemented this in release 0.13 Hope you find it useful @senarvi @HamsterHuey cc @datumbox |
Ooops, yes thanks for the ping. It's available on v0.13. I'll close the issue. |
🚀 Feature
Implement Distance and Complete IoU within torchvision to complement the current supported implementations of IoU and GIoU
Motivation
Distance and Complete IoU have been published about in the literature (Nov, 2019): https://arxiv.org/abs/1911.08287
They have been shown to be very effective when utilized as loss-terms in box-regression for object detectors in comparison to conventional IoU loss or even generalized IoU (GIoU), both of which currently have implementations in torchvision. They are also actively used in training state-of-the-art object detectors (eg: Yolo v4)
Pitch
I already have a working prototype for an implementation. How this would be structured is open-ended. I think it might be better to just have a single Box IoU method that supports multiple modes? This is the call-signature of my current implementation:
Obviously, the
fmt
param above is entirely optional. I've found it convenient to support the different formats, but it is easily stripped out if we want to enforce all boxes be in XYXY format.I've written this up by adapting the current implementation of GIoU and there shouldn't be any extra overhead for any single pathway for the IoU type. Happy to contribute if this is of interest to the community.
The text was updated successfully, but these errors were encountered: