-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
feat: Add soft Non-Max suppression #1624
base: develop
Are you sure you want to change the base?
Conversation
Hi @YHallouard 👋 Unfortunately, this will take some time to review. To speed things up, would you have some time to do some of the following?
Meanwhile, I'll accept this as Hacktoberfest-approved. The PR brings the improved algo to our attention, provides the code, a few tests. Hearing what tradeoffs and design considerations were made helps us a lot too! 🤝 |
Hi @LinasKo, And thank you very much for your review :)
Yes I know haha, this is why I din't started the documentation, I wanted to get your feedback on implementation first.
Yes, I deeply thought it was the mindset. My concerns was that I need a
Of course, unlike NMS which removes predictions if they are below a certain IOU threshold, Soft-NMS updates the confidence score of each prediction with a continuous function of the IOU. You can then remove them later with a confidence threshold but the main idea is to preserve overlapping bounding boxes with a good confidence.
I'll do that as soon as possible, maybe this weekend :) Thank for your review again |
Hi @LinasKo
Here it is :) Soft-NMS vs NMS |
3b2b60c
to
f2a97f7
Compare
Thanks @YHallouard ! I'll have a look at the start of next week |
Description
Hi everyone,
I am opening this PR to propose an implementation of Soft NMS based on that paper.
I propose a method with_soft_nms, but I'm not sure that it is in the philosophy of Detection.. Would you have a preference? A boolean in with_nms?
Type of change
Please delete options that are not relevant.
How has this change been tested, please provide a testcase or example of how you tested the change?
I used the same test case than box nms et mask nms.
Any specific deployment considerations
For example, documentation changes, usability, usage/costs, secrets, etc.
Docs