As far as I know, there are two same 'IoU comparing procedures' in RPN and RCNN, but why is the same operation held twice? The paragraph right below is what I've comprehended about the Faster R-CNN. Please correct me if I'm wrong.
Suppose RPN's initial output is 9000 bboxes. The first IoU comparing is held here, to determine the positive and negative samples, and these are fed into the classification and regression branch in RPN. (The positive and negative samples are mainly for updating RPN weights.) Then NMS is applied to the 9000 bboxes to preserve only top 1000 proposals.
Now, these 1000 proposals are fed into RCNN part. The second IoU comparing is held here. If the IoU between a proposal and any GT is bigger than the threshold, the proposal is considered to be positive. Now the positives are used for classification and the regression.
Is this repeated procedure needed for applying different iou thresholds in RPN and RCNN? Why can't just labels in 1000 proposals reused in RCNN part? Maybe for more accurate results?