Should use 100 proposals for evaluation for fair comparisons with other method.
It seems that you are using self.num_proposals proposals for evaluation, as shown here, while the common practice in COCO evaluation is to use 100 proposals.
I test the performance of the provided R50_300pro_3x.pth model using the top100 scoring proposals:
| proposal | AP | AP50 | AP75 | APs | APm | APl |
|---|---|---|---|---|---|---|
| 100 | 44.875 | 63.874 | 48.869 | 27.565 | 47.418 | 59.588 |
| 300 | 45.028 | 64.130 | 49.034 | 27.758 | 47.549 | 59.664 |
Though the performances are very close to those using 300 proposals, I feel they should be corrected for fair comparisons.
It seems that you are using
self.num_proposalsproposals for evaluation, as shown here, while the common practice in COCO evaluation is to use 100 proposals.I test the performance of
R50_300pro_3xmodel using the top100 scoring proposals:proposal AP AP50 AP75 APs APm APl 100 44.875 63.874 48.869 27.565 47.418 59.588 300 45.028 64.130 49.034 27.758 47.549 59.664 Though the performances are very close to those using 300 proposals, I feel they should be corrected for fair comparisons.
In their paper, Table 1, Sparse R-CNN-R50/R101 is what you said using 100 proposals, and the one with "*" use 300 proposals actually.
@lt1103725556 in Table1, the models trained with 100 proposals are evaluated with 100 proposals, which is the correct setting. However, for models that are marked with "*" (i.e., trained with 300 proposals), the evaluation should still be performed with 100 proposals, rather than 300 proposals as done in the code, so as to be consistent with the previous approaches.