Face recognition has always been a research hotspot in the field of computer vision, whose basic task is to recognize the identity of the face in the image. With the rapid development of computer technology, both the accuracy and speed of face recognition have achieved great breakthroughs, and face recognition technology has been widely used in the field such as cyber security, artificial intelligence and so on. In this paper, based on detailed literature research and analysis, we present a comprehensive review of the research work on face recognition technology. Specifically, we first analyze the difficulty of face recognition task from the human face feature extraction, which due to the variations within and between classes. We then introduce the main frameworks of face recognition from geometric feature-based method, template based method and model-based method. We further compare the performance of different algorithms on different common datasets. Finally, we give an outlook on the future research directions of face recognition.