The program had three main components. The first program will receive a jpeg image and isolate and number the faces along with a “score” of the quality of the face for recognition purposes (e.g. an oblique image of a face would have a lower score (less recognizability) whereas a full-on face without glasses and no facial hair would have a much higher score).
The second program takes the jpeg image and the face number and searches a database of faces to find a match (or matches) and a match score (better match has higher score) for the target face. It will likely do this by isolating the target face and reducing that face to criteria that can be searched in the database.
The second program should be separable into two pieces so they can run on different machines. That is one machine would isolate the face and reduce it to search criteria, the second machine would carry out the search and return the results as ID, jpeg image, and score triples from the database.
The database is envisioned to be images of faces along with reduced facial criteria plus identification information. One ID (e.g. person) could have multiple images and facial criteria associated with it.
The server platform for the application will be Linux. The programs should be command line driven so each is passed its inputs and parameters and returns its results to the command line. There is no GUI requirement at this time.
Please respond with the approach you’d take to the problem, the expected degree of accuracy, and your experience in this area of development (facial recognition).