  Face detection is challenging as faces in images could be present at
arbitrary locations and in different scales. We propose a three-stage cascade
structure based on fully convolutional neural networks (FCNs). It first
proposes the approximate locations where the faces may be, then aims to find
the accurate location by zooming on to the faces. Each level of the FCN cascade
is a multi-scale fully-convolutional network, which generates scores at
different locations and in different scales. A score map is generated after
each FCN stage. Probable regions of face are selected and fed to the next
stage. The number of proposals is decreased after each level, and the areas of
regions are decreased to more precisely fit the face. Compared to passing
proposals directly between stages, passing probable regions can decrease the
number of proposals and reduce the cases where first stage doesn't propose good
bounding boxes. We show that by using FCN and score map, the FCN cascade face
detector can achieve strong performance on public datasets.
