WTM Abuja Bootcamp: Week 1 Day 1

Peace AzubuoguPeace Azubuogu
5 min read

Welcome aboard, readers!

For the next few days, I will be taking you on a fun ride, detailing my thought process as I race through my goals for the WTM Abuja Bootcamp.

The bootcamp is for four weeks and each week has goals with daily tasks. For the first week, I will be building a face recognition tool and you will be my accountability partners, ensuring I share my achievements every single day.

On the menu for today is to develop a workflow for the face recognition tool. This required a couple of steps which include: defining a use case, data gathering, review of similar works and then deciding on the workflow and features of the tool.

Use Case

A face recognition tool, as the name implies, is used to recognise faces. Have you ever viewed your picture on Google Photos and it correctly labels the face as yours? That’s face recognition at work! Face recognition is often confused with face detection and face verification. Face detection entails being able to tell if there is a face on an image. Take for example, the image below:

r/Pareidolia - I randomly started taking pictures of things that look like faces over 2 years and I just found this sub. Here are some of my pictures, hope you like them :D

It resembles a face with two eyes and mouth wide open. One could mistake it to be the face of an astonished little boy seeing an amazing view for the first time or even the angry granny in your street. To a human, the brain can easily figure out that it is not actually a person’s face.

By Jimmy answering questions.jpg: Wikimania2009 Beatrice Murchderivative work: Sylenius (talk) - Jimmy answering questions.jpg, CC BY 3.0, https://commons.wikimedia.org/w/index.php?curid=11309460

For the image above, you can see a tool trying to identify the presence of faces using the green rectangles. This is face detection. However, it doesn’t tell who that face belongs to. That is where face verification and face recognition come in.

Face verification only matches or compares an image to a face while face recognition sifts through a database of faces to find a match to the face. That is face verification is done on a one-on-one basis to confim if a face image is the same as it claims to be. But face recognition employs a one-to-many method to find which particular face in a database of many faces that the image matches.

Face detection is usually the first step before face verification or face recognition because duhh… there has to be a face confirmed before a comparison or matching can be done. Face verification is mostly used for KYC-related applications like verifying your bank account. Face recognition is used for attendance purposes like in schools or workplaces, security purposes like airport check-in and access purposes in companies or areas where only a select few are permitted to enter.

Having established potential use cases for this tool, I have decided to tailor my face recognition tool for access purposes. But access to what? Let’s say a secret treasure vault where only members of my family can have access to. This leads us to the next step…

Data Gathering

The use case for the tool which is defined above entails gathering the right data. The idea is to have a database of recognised faces (in this case, my family members) who have access to the secret vault. To collect this data, I created a google drive folder for each of my family member to share their photos. These photos must be taken at different lighting conditions, differet expressions, different views and sides of the face, with glasses or masks on, etc. I pretty much told them to make it kinda creative, so by tomorrow, I should have well enough data to train with.

Literature Review

“Others have been here before me, and I walk in their footsteps.” - Elie WIesel

It is good practice to learn from what others have done and build upon it. So, I went on a Google rampage of as many papers I could find (and grasp) on face recognition. This helped me understand the methodology and the different tools that would be useful in building the project. In subsequent articles, you will get to see more of the methodology but after many many reviews, I decided on my own project workflow.

Face Recognition Tool Workflow

The image below shows the proposed workflow for my face recognition access tool.

A database of labelled images will be created. These images will undergo some preprocessing steps and then split into train, validation and testing set. The train set will be used to train the model and the test set will be used to test and evaluate the performance of the model. Now, the model is ready to be used by the tool for the access purposes. The tool will accept user face input using a camera. This image will be passed through some preprocessing steps. Note, these will be the same preprocessing steps that the training images in the database will be subjected to. The preprocessed image will be confirmed to be a face and then passed through the trained model. The model will then identify which face the image belongs to and grant access if it is one of the recognised faces. Otherwise, it will deny access to the secret vault!.

Sooo… I am not much of a designer but I was able to draft a sketch of the secret vault access screens showcasing the features and working of the app.

This is the first screen prompting the user to scan its face by taking a picture.

This is the second screen where the model receives the face image as input and works its magic to see if it recognises the face.

This is the final screen which can either be access granted if face is recognised or access denied if not!

That’s all for today. See you again tomorrow as we continue on this exciting journey!

P.S I am open for feedback. Please feel free to drop comments or suggestions. Thank youuuu.

1
Subscribe to my newsletter

Read articles from Peace Azubuogu directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Peace Azubuogu
Peace Azubuogu