Za prepoznavanje lica mozes da koristis masinsko ucenje, tj. neki od algoritama masinskog ucenja. Postoje dve vrste masinskog ucenja, nadzirano i nenadzirno masnisko ucenje. Kod nadziranog ti obezbeđuješ označene podatke, recimo da imas slike muskih lica i zenskih lica, svaka slika je uparena sa klasom kojoj pripada u ovom slučaju {musko_lice, zensko_lice}. Sad ovakve podatke koristiš kao ulazne podatke na osnovu kojih algoritam "uči" ili "trenira" i dobija se istrenirani klasifikator koji kasinje na osnovu novih slika odlučuje da li je lice muško ili žensko. Kod nenadziranog mašinskog učenja algoritmu daješ podatke koji nemaju oznake i on na osnovu nekih zajedničkih osobina sam grupiše podatke i kada mu se daju neviđeni podaci on ih svrstava u neku od ovih grupa koje je sam izabrao. Postoje i metode koje koriste kombinaciju ove dve i to je polu-nadzirano učenje.
E sad kao ulaz možeš da imaš slike na kojima su lica i slike na kojima je nešto drugo, a možeš da imaš i lica uparena sa imenima kao kad ti FB predloži da taguješ nekoga.
Podaci za trening, možeš da baciš pogled kako to izgleda ili ako ti je potrebno za referencu.