Recognising faces has become a widely used computer vision application. These days photo album systems like Google Photos and Facebook can try to recognise who is in a photo using face recognition. The following photos were recognised in an application as being the same person, so to label the photos with people's names you only need to click one button rather than type each one in.
There are lots of other applications. Security systems such as customs at country borders use face recognition to identify people and match them with their passport. It can also be useful for privacy – Google Maps streetview identifies faces and blurs them. Digital cameras can find faces in a scene and use them to adjust the focus and lighting.
There is some information about how facial recognition works that you can read up as background, and some more information at i-programmer.info. If you're interested, there is also a Vox video on how Snapchat filters work that mentions facial recognition algorithms.
There are some relevant articles on the cs4fn website that also provide some general material on computer vision.
We also have a Viola-Jones Face Detection interactive available, supporting text will be added at a later date.
First let's manually try some methods for recognising whether two photographs show the same person.
You can evaluate the effectiveness of facial recognition in free software such as Google Photos or the Facebook photo tagging system, by uploading photos of a variety of people and seeing if it recognises photos of the same person. Are there any false negatives or positives? How much can you change your face when the photo is being taken to not have it match your face in the system? Does it recognise a person as being the same in photos taken several years apart? Does a baby photo match of a person get matched with them when they are five years old? When they are an adult? Why or why not does this work?