We have seen how accurately Facebook recognizes faces of our friends when tagged two or three times and suggest their name to tag in a post where they are in picture with us. With the help of machine learning face recognition can be done much like as human do.
Recognizing friend's face on Facebook is much easier, let's explore how machine learning can be used to solve more complex problem like telling Will Ferrell (famous actor) is different person from Chad smith (famous rock musician).
Face recognition involves series of steps:
- Look at the given picture and identify different faces in the picture.
- Once identified, focus on each face and try to understand that even if the lighting is bad, the direction is changed but the person is same.
- Identify unique features to differentiate from other people like physical characteristics.
- At the end compare unique features with other persons whom you know to figure out the name of that person.
A human brain is very good in recognizing faces easily and instantly. But till now computers or machine are not able o do this in similar manner as human do, it requires step by step guide to recognize face
. In other words, we can say person need to integrate machine learning algorithm in such a way that a machine can do this step by step process to recognize faces.
Step by step guide to recognize faces
The very first thing is to locate different faces in a picture. Generally, we see in our mobile phones that wile taking picture camera detects different faces to focus before taking the picture. Similarly, here need to detect different faces and identify which face to focus for face recognition that will pass on to the next step. Then need to convert the face into basic HOG representation that will tell the features of different parts of faces and find our different known faces that is similar to these features.
- Face position and projection
Once the similar known face is identified the next problem is the faces in different direction that computers sees at two different persons. To solve this problem, need to wrap each picture so that the eyes and lips always be in the sample place in the picture. For this algorithm named face landmark estimation can be used which will make comparison of faces easy in further step. This algorithm will find 68 specific points which exist on every face. This will make comparison easy among faces in different direction.
This step will differentiate two faces from each other based on physical features of different parts in face. It will find out some measurement in the face and identify other faces with similar or close measurements such as size of ear, gap between the eyes, length of nose etc to make database of known faces. In this computer will require training in convolutional neural network to output the face.
This is last step where we need to identify the person's name from the encoding where two faces have closest measurement in the above test.
These are the step by step guide where one can train machine learning algorithm to which will initially simplify a picture in HOG representation then figure out the directions and pose of faces. After that the neural network will create centerd face image and encode the face into 1128 measurement and identify the person's name.