princeton-vl / CornerNet

BSD 3-Clause "New" or "Revised" License
2.36k stars 475 forks source link

How to compute the radius around ground truth corner? #37

Closed BigDeviltjj closed 6 years ago

BigDeviltjj commented 6 years ago

I saw the function gaussian_radius but could not figure out how it worked, and the process was different with Formula of Root.

when I set the size (10,10) and iou 0.7, the returned radius is 2.73. However, when the box lies in the inner most side of ground truth box, the iou equals to [(10-22.73)^2]/(1010)=0.2.

So could you please explain the design idea behind it please? it bothers me for the whole night.

heilaw commented 6 years ago

Thanks for bringing this to our attention. After checking, we found that this is a bug. It means that during training we reduced penalty on more negative locations within a wider radius than intended, likely resulting in sub-optimal training and causing the network to predict more false positive corners. Note that this bug does not affect the validity of our reported results on MS COCO. It simply causes a minor discrepancy between the description of the training algorithm and the implementation. We are working on a fix, which we expect to lead to even better performance.

BigDeviltjj commented 6 years ago

Thank you so much for your response! I have deduced the equation and found the problem. I'll close the issue.

sicong-li commented 5 years ago

@BigDeviltjj I am also confused by this question. I just checked the code and found that it has not been fixed. Can you share the correct formula that you derived?

liuchang8am commented 5 years ago

Thanks for bringing this to our attention. After checking, we found that this is a bug. It means that during training we reduced penalty on more negative locations within a wider radius than intended, likely resulting in sub-optimal training and causing the network to predict more false positive corners. Note that this bug does not affect the validity of our reported results on MS COCO. It simply causes a minor discrepancy between the description of the training algorithm and the implementation. We are working on a fix, which we expect to lead to even better performance.

"We are working on a fix, which we expect to lead to even better performance" any updates?