Взгляните на http://www.face -rec.org / алгоритмы / - вы увидите, что существует множество способов сделать это.
Предполагая, что вы хотите написать все целиком самостоятельно, вам нужно изучить байесовские фреймворки, нейронные сети, возможно, математические, такие как линейный дискриминантный анализ (LDA) и крутое название Elastic Bunch Graph Matching.
Тем не менее, стоит отметить, что есть так много людей, которые закодировали это по всему миру, что теперь есть готовые к использованию приложения с открытым исходным кодом, готовые приложения, API-интерфейсы и библиотеки, которые вы можете просто вызвать. Или нейронные сети, которые вы можете подключить - например - TiNA .
Хорошенько почитайте - это увлекательная тема, а затем решите, хотите ли вы заново изобретать колесо (эй, это забавно, но не то, на чем вы хотите сосредоточиться) или вы Будем наследовать и расширять некоторые библиотеки или API.
Наслаждайтесь!