Closed SkeletonOne closed 3 years ago
The output of this line is the boxes after NMS, so we only do confidence thresholding (i.e., select the pseudo-boxes which box score are higher than a threshold). https://github.com/facebookresearch/unbiased-teacher/blob/ba543ed2b87446c79eaf41f93320de246c8eedc2/ubteacher/engine/trainer.py#L431
For the code of NMS, you could check the inference function of this class, which uses its parent class's function.
https://github.com/facebookresearch/unbiased-teacher/blob/ba543ed2b87446c79eaf41f93320de246c8eedc2/ubteacher/modeling/roi_heads/fast_rcnn.py#L12
Details of its parent class in detectron2: https://github.com/facebookresearch/detectron2/blob/d57c38ce8b536472fdab131ece19a745204edbd6/detectron2/modeling/roi_heads/fast_rcnn.py#L118
and NMS function https://github.com/facebookresearch/detectron2/blob/d57c38ce8b536472fdab131ece19a745204edbd6/detectron2/modeling/roi_heads/fast_rcnn.py#L118
Sorry for doing NMS in this implicit way, we just try to make it align with the original implementation of detectron2. Let me know if you have any other problems. Thanks!
@ycliu93 Thanks for your reply, clear enough! :)
@ycliu93 Another little question: Does the backbone (ResNet) of the student needs update during Mutual Learning Stage, or only the RPN and ROI heads? And what about the backbone of the teacher during EMA? Thanks!
In the mutual learning stage:
The Student weights including the feature backbone, the RPN, and the ROIhead are updated with supervised loss and unsupervised loss.
The Teacher weights including the feature backbone, the RPN, and the ROIhead are updated via EMA.
Thanks!
Sincerely appreciate your detailed reply!
Hi! Thanks for your work and I am wondering how the NMS can be performed before generating the pseudo label. I conjecture that it might in the function https://github.com/facebookresearch/unbiased-teacher/blob/ba543ed2b87446c79eaf41f93320de246c8eedc2/ubteacher/engine/trainer.py#L319 or https://github.com/facebookresearch/unbiased-teacher/blob/ba543ed2b87446c79eaf41f93320de246c8eedc2/ubteacher/engine/trainer.py#L354 but I cannot find it. Could you please provide some instructions or is there something I am missing?