We first define the notations and terms for objection detection by introducing the object detection pipeline of the Faster R-CNN model [1]}. In Faster R-CNN, initial \(N\)  proposals \(prop_i (i = 1, ..., N)\)  are generated from an input image by Region Proposal Networks (RPN). Then, we obtain \(N\)  CNN feature maps \(\hat{f}^{conv}_i\) , each of which is associated with its proposal \(prop_i\) , with Region of Interest (RoI) extraction modules (e.g., RoIPool [2]} or RoIAlign [3]}), to make use of such features for finding bounding boxes and their classes. Specifically, extracted CNN features are fed into two separated fully connected layers, called classification head and regression head, to obtain the class prediction result \(p_i\)  and the coordinates of detected bounding box \(bbox_i\)  for each proposal, respectively. The entire process is formally defined as follows:
\(\begin{split}& prop_i, conv\_feature = \texttt {RPN}(image), \\& \hat{f}^{conv}_i = \texttt {RoIAlign}(prop_i, conv\_feature), \\& \widehat{p_i} = \texttt {cls\_head}(\hat{f}^{conv}_i), \; \widehat{bbox_i} = \texttt {reg\_head}(\hat{f}^{conv}_i),\end{split}\) 
