Skip to content
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

Increase threshold for NMS #38

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

xsacha
Copy link
Contributor

@xsacha xsacha commented Apr 10, 2019

The threshold given to NMS (0.3) is far too low and includes many false positives. If someone wanted to see them, they can set the value themselves but I think the default should be slightly more sane. I personally use 0.7 or 0.8.

This also improves some benchmarks. Compared to my last patch:
PASCAL: 97.28% -> 97.28% (unchanged)
AFW: 98.83% -> 99.01% (would be 99.04% with 0.7)

The threshold given to NMS (0.3) is far too low and includes many false positives. If someone wanted to see them, they can set the value themselves but I think the default should be slightly more sane. I personally use 0.7 or 0.8.

This also improves some benchmarks. Compared to my last patch:
PASCAL: 97.28% -> 97.28% (unchanged)
AFW: 98.83% -> 99.01% (would be 99.04% with 0.7)
@zisianw
Copy link
Owner

zisianw commented Apr 21, 2019

@xsacha sorry for the delay and thanks for the update. Yeah I think a higher nms would suppress more false positives especially for dataset with sparse groundtruth boxes. Have you tested on FDDB dataset too?
I think it would be better to keep the hyperparameters as similar as the original implementation to avoid confusion. Do you mind opening an issue and consolidate the changes for a better benchmark performance when you have the chance? I could link it up in the readme.

@xsacha
Copy link
Contributor Author

xsacha commented Apr 21, 2019

Yeah I understand you kept the parameters the same as the paper. Honestly some of them don't make much sense though.
I use a similar NMS threshold for other models but for this model I found a much higher one makes more sense.

I am using several other modifications which I haven't posted here that significantly improve results but some of them are outside of the scope (a better NMS and better data augmentation).

@zisianw
Copy link
Owner

zisianw commented Apr 21, 2019

@xsacha yeah interesting, my guess would be too many anchors from anchor densification strategy regressing towards the same instance and 0.3 may not be able to suppress the 32x32 and 64x64 well enough. Anyway, very glad that you are sharing your findings! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants