# Small-Scale Face Detection Based on Improved R-FCN
## 2 Related Works  
According to the CNN-based face detection process, face detection based on deep learning can be divided into three categories: cascaded CNN, two-stage algorithm, and single-stage algorithm. The cascade-based method trains multiple cascaded CNNs for face detection, such as multi-task cascade convolutional networks (MTCNN) [9] and inside contextual CNN [10]. MTCNN and inside contextual CNN cascade three CNNs for face detection: the first CNN quickly generates candidate boxes, the second CNN refines the candidate boxes, and the third CNN selects the candidate boxes in detail. The two-stage algorithm divides the detection into two steps. The first step is to generate candidate boxes for the input image, and the second step is to determine whether the candidate boxes contain faces. For example, [PERSON] et al. [11] improved faster R-CNN by combining the specific attributes of face detection. Center loss [12] and online hard example mining (OHEM) [13] were adopted, but the scale of faces was ignored. In [14], face R-FCN was proposed, and position-sensitive average pooling was designed to generate some hidden features to enhance the difference. [PERSON] et al. [15] adopted a deformable layer based on light-head R-CNN [16] to reduce the number of channels for face detection. The single-stage face detection algorithm directly classifies and regresses the image, which greatly improves the detection speed. For example, [PERSON] et al. [17] proposed real-time face detection based on YOLOv3, in which intersection over union (IoU) is used to cluster the size of initial candidate boxes and the accuracy and speed can be guaranteed in complex environments. [PERSON] et al. [18] proposed single shot scale-invariant face detector (S\({}^{3}\)FD) to solve the problem that the performance of anchor-based detector decreases sharply as the target becomes smaller. [PERSON] et al. [19] provided different anchor attention mechanisms for different layers to highlight the face area for solving the occlusion problem. Many face detection applications are based on low constraint scenarios; for example, polices need to track criminals according to surveillance video, and the attendance system may need to count people based on faces in dense crowds. Faces in low-constraint scenarios are very small with a scale even lower than \(10\times 10\). Thus, small-scale face detection has become a major research field in recent years. Many methods have been proposed to solve the problem of small-scale face detection. In 2017, [PERSON] et al. [20] proposed a tiny face, which integrated multilayer features and effectively used context information to detect faces on the down-sampled image, but the image pyramid reduced the detection speed. [PERSON] et al. [21] proposed multi-scale FCN and trained different FCN networks in the feature layers of different scales. Each FCN is responsible for detecting faces of corresponding scales. However, training corresponding detectors at each scale is time consuming. [PERSON] et al. [22] proposed an expected max overlapping (EMO) score to explain the low ratio of intersection between the anchor and the human face and improved the performance by reducing the step size of the anchor. [PERSON] et al. [23] adopted selective refinement network (SRN) to improve the recall rate of detection, used IoU loss [24] to make the regression position accurate, and utilized the max-out label to reduce simple negative samples. The current detection algorithms for small-scale faces are still in the stage of developing. On the one hand, effectively extracting or enhancing the features of small-scale face detection is still a problem to be solved. On the other hand, different faces in the same image often have distinct scales, and an excellent face detector must be scale friendly. Thus, the detector must consider the various scales of faces when detecting small-scale faces.