A region proposal network (RPN) finds candidate object regions for Faster R-CNN. It reuses the backbone feature map instead of scanning the original image with a separate large network, producing proposals that a later RoI network classifies. section 8.4.1
The RPN operates as a small fully convolutional proposal stage:
- Takes the backbone feature map with C′ channels as input. section 8.4.1
A compact PyTorch proposal head
A representative RPN head uses 1×1 convolutions: nn.Conv2d(C′, 256, (1,1)), followed by batch normalization and a LeakyReLU, then nn.Conv2d(256, 6*k, (1,1)). Here k is the number of proposals generated at each location; the final channel count supports multiple predictions per location. In a Faster R-CNN configuration, AnchorGenerator can restrict the search to one square 32×32 anchor shape, while the RoI pooler consumes the resulting proposals.

