This tutorial includes detailed step by step guide of how Region Proposal Network (RPN) works. It is mainly used in RCNN family for object detection. Those who are familiar with RCNN, they might already have encountered the term Region Proposal Network. Before we get into details of RPN, let’s understand how object detection works using R-CNN.
R-CNN is a Region based Convolutional Neural Network. It is a state of art architecture for object detection. Let’s say you have a photograph, the goal of objective detection is to detect cars and people in the photograph. There are a couple of cars and people in the photograph so we need to detect all of them.
1. Region Proposal
Extract many regions from an image using Selective Search. 2000 regions were used in the original whitepaper. Regions are drawing multiple bounding boxes in the input image. See the yellow bordered boxes in the image below.
2. Calculate CNN Features
Create feature vector for each region proposed using CNN network trained for classifying image
3. Classify Regions
Classify each region using linear Support Vector Machine model for each category by passing feature vector generated in the previous step.
Region Proposal Network : What does it do?
In R-CNN we have learnt extracting many regions using Selective Search. The problem with the Selective Search is that it’s an offline algorithm and computationally expensive. Here Region proposal network comes into picture. In Faster R-CNN, Region Proposal Network were introduced to use a small network to predict region proposals. RPN has classifier that returns the probability of the region. It also has regressor that returns the coordinates of the bounding boxes.
Following are the steps involved in Region Proposal Network