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

soft-nms cannot improve mAP used SSD detection(one-stage) #27

Open
ujsyehao opened this issue Mar 15, 2019 · 4 comments
Open

soft-nms cannot improve mAP used SSD detection(one-stage) #27

ujsyehao opened this issue Mar 15, 2019 · 4 comments

Comments

@ujsyehao
Copy link

ujsyehao commented Mar 15, 2019

I implement soft-nms in SSD(caffe), code link modify detection_output.cu, bbox_util.hpp, bbox_util.cpp, I ensure the custom implementation version is the same as author-provided python version(I have tested it use fake input)
Below is my test results(PASCAL VOC 2007 test dataset):

Can you give me some advance?

@bharatsingh430
Copy link
Owner

we mention in the the paper why it is not good for ssd/yolo. you can still get some improvement at 0.75 iou though

@ujsyehao
Copy link
Author

ujsyehao commented Mar 17, 2019

@bharatsingh430 , test results(PASCAL VOC 2007 test dataset) update:

Thank you for your reply, soft-nms can get 1-1.4 mAP improvement at 0.75 IOU to use nms thresh 0.45.

I have some problems:

  1. soft-nms paper say 'For detectors like SSD and YOLOv2 which are not proposal based, with the linear function, soft-nms only obtains an improvement of 0.5%.' How do you get the result? What is the IOU threshold used? What is nms threshold used? -> I check your answer under other issues, you use COCO metric
  2. paper say 'proposal-based detectors have higher recall and hence Soft-NMS has more potential to improve recall at higher Ot', How to understand it? Why soft-nms has more potential to improve recall at higher IOU thresh?

@bharatsingh430
Copy link
Owner

bharatsingh430 commented Mar 19, 2019

If you don't do NMS for 2 stage detectors like faster-rcnn and 1 stage detectors like yolo/ssd, and compare recall, you would observe a gap in recall (2 stage > 1 stage), which will increase at higher IoU. Soft-NMS retains detections instead of discarding them. If detections are not generated at the first place (i.e recall is low) even before NMS , it is not possible to reduce the miss rate.

@ujsyehao
Copy link
Author

@bharatsingh430 Thank you!

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

No branches or pull requests

2 participants