# A Method for Singular Points Detection Based on Faster-RCNN
## 2 Proposed Method
### Generating Proposals  
For generic object detection task in Faster-RCNN [12], deep FCN (e.g., VGG model [19]) usually needs to extract objects which are often from more than 10 different subject classes in natural images. Different objects in images usually contain different features, such as color, shape and size. The mixture of these features often makes the detection tasks more difficult. As for fingerprint images, they are usually gray scale images and not as complex as natural images. Moreover, the elements that make up fingerprints are ridges which are represented by dark lines in fingerprint images, Then, the structures of singular points are much more simple than generic objects so that this detection task can be achieved by a shallow and wide FCN, which ensures that network can process any images with different sizes.  
Inspired by the success of object detection on natural images, singular points detection could be regarded as a point detection problem. As shown in Figure 3, the proposed FCN is composed of three convolutional blocks, four additional convolutional layers (three (Conv, 256, 3) and one (Conv, 3, 3)) and an up-sample layer. Each convolutional block is connected by a max-pooling layer and consists of two convolutional layers, followed by batch normalization (BN) layer [20] and exponential linear unit (ELU) layer [21]. In our study, the filter size of all convolutional layers is set to \(3\times 3\), while that of all max-pooling layers is fixed to \(2\times 2\).  
Figure 3 shows that the network extracts features from raw fingerprint images. Instead of only using the features extracted by final layer, a more effective backbone named Feature Pyramid Network (FPN) [22] is explored. In FPN, a top-down architecture with lateral connections is used to build an in-network feature pyramid from a single-scale input. In addition, the operation in FPN could upsample the features of high levels to get the same size of features in bottom level and combine high-level and low-level features, which could make extracted features contain more corresponding information for detection tasks. As shown in Figure 3, three feature maps from different convolutional blocks are added into sharing feature maps where the same features are used extracted from raw fingerprint images in both steps.  
Figure 2: The overall flowchart of our proposed method. Each thin rectangle denotes a fully-connected layer.  
The network is used to map raw fingerprint to point-score map, namely the output of the network. Specially, each value is a probability measured whether there might exist a singular point in a patch from the raw fingerprints. Besides, a raw fingerprint image includes at most four singular points (up-core, down-core, left-delta, right-delta) and these points are not often close in image each other. Therefore, it is hardly to exist two singular points in one box with small size in a raw fingerprint image. In our study, we divide the input image into a gird which is designed to have the same size as the shared feature map and each grid cell is set to a \(4\times 4\) pixel box. The shared feature map is used to generate corresponding features of each grid cell and the network will use the features to process classification and regression tasks and train the network in order to predict the probability that there is a singular point and calculate coarse location of the singular point. In concrete terms, when there might exist singular points in the corresponding region, a high score (probability) could be gotten. In order to get more accurate locations, a multi-task loss (location regression and classification) (see Figure 2) is used to train the network to refine the locations of singular points. Section 2.3 will describe this process in detail. Thus, proposals will be generated according to the probability and the coarse location information.