Development of software-hardware complex for the study of face recognition algorithms
Today, there are many algorithms for recognition and detection of faces in the image. In addition, each of them has input parameters on which the result strongly depends. The result also depends on the lighting, contrast, angle and turning of the face. Thus, there are a huge number of options for detecting and recognizing faces in an image. Determining the best parameters of algorithms and images with such a huge number of variations is almost impossible manually. To solve this problem, a software-hardware complex is being developed that will simplify the study of facial recognition algorithms. In this paper, the means of implementing the software-hardware complex are selected and its architecture is developed. Viola-Jones algorithm was chosen for face detection, as it is the most appropriate in terms of the accuracy / speed of face detection from the video stream. In the work, the algorithms EigenFaces, FisherFaces, LBP, AAM, ASM were chosen as algorithms for studying within a software-hardware complex. Also, development tools are selected: Django, QT, Celery, Redis, PostgreSQL, OpenCV, Python. The client-server architecture of the complex is presented. The server part of the complex includes face recognition modules, drawing graphs and histograms, determining faces on the incoming image, face recognition and its classification. The algorithm of user interaction with the complex is presented: the user, using the client application, sends a face image, the server part of the complex processes the image and classifies it based on the existing people in the database. After processing the image of the face, the user can get the results of classification and vary the parameters of the original image, getting new results. Also, the work presents the image parameters that affect the accuracy of facial recognition and the developed program interface.