# A Customized Semantic Segmentation Network for the Fingerprint Singular Point Detection
## 3 Proposed Method
### Singular Points Locating and Spurious Points Removing  
In this section, we shall show how we use SimpleBlobDetector to locate singular points. With an original fingerprint image as input, SinNet can output a probability map. Multiplied by 255, it is transformed into a gray scale map. The response area of the gray image is the predicted singular point area. Then, the blob detection method called SimpleBlobDetector [31] is adopted to process the response area and the centers of the detected blob are regarded as the singular points, which is what we want finally. The example of blob detection result is shown in Figure 4, where (a) and (d) are the same original fingerprint, (b) is the corresponding detected core area, (c) is the corresponding detected core, (e) is the corresponding detected delta area, and (f) is the corresponding detected delta.  
It is worth noting that in our scheme, blob detection mainly detects the pixel areas whose gray value is larger than the surrounding area in the image. Common blob detection methods are based on differential detector and local extremum, and the reason why we choose SimpleBlobDetector lies in that it is provided by OpenCV, i.e., a computer vision library, and it is a simple and fast blob detection method. Unlike other singular point detection methods, the output of our SinNet is a small and more accurate response area, so more complex post-processing is not needed and the simple SimpleBlobDetector can meet the requirements of singular point location, which also shows the advantage of our algorithm over the existing ones.  
In our scheme, several outputs still have spurious points. In order to remove these spurious points and reduce the false alarm rate, a simple rule is defined. If more than two cores or two deltas are detected in a fingerprint image, all of them are determined to be spurious points. That is to say, it is determined that there are no cores or deltas in this fingerprint.  
Note that, although the proposed method and [PERSON] et al.'s method [17] seen intuitively somewhat similar because both our SinNet and their macro-localization network adopt the idea of semantic segmentation, there exist fundamentally differences as follows:  
1. The structures of the two networks are totally different. Especially, our SinNet uses a large amount of inception modules which consist of different convolutional kernels and belong to a successful local multi-path representation strategy [19] for extracting features on multiple scales, while the macro-localization network uses the local single-path representation strategy.
2. The functions of the two networks are different. According to SPD2010 competition's instructions, we regard singular point detection as a semantic segmentation of the small singular point area directly. The area is a circle with a center of singular point and a radius of 10 pixels. Our SinNet could segment the small singular area precisely and directly. Therefore, a simple post-processing, a fast blob detector, is enough to find the centers as the singular points. However, the macro-localization network extracts squares of size \(43\times 43\) pixels around singular points. Actually, it just segments the big coarse image block containing singular points. Therefore, for more precise positioning, all the segmented image blocks need to be put into the regression network for training again.