Project Summary
In the current state of the world a lot of emphasis has been placed on convenience and comfort. For example, being able to do shopping just from sitting in your house is one of the best forms of convenience. The same thing goes for any company or body which needs to differentiate between male and female. Thus having a system which can differentiate a person’s gender just by using their image as the only input is truly remarkable. It will be more convenient and effective as the world is moving forward to becoming more ‘online’ heavy. Since a human can easily identify the gender of another human based on their image, it will be much more difficult for a machine to do the same. This is because machines lack the power of human intuition. In rare cases, it can still be difficult even for a human to determine the gender of another person if they can only rely on their image.
Customer: Mckinsey & Company
Project name: Gender Detection Using Computer Vision
Team Members:
-
Muhamed Hussain Bin Hithayatullah
-
Muhammad Naim Syahmi Bin Roslan
-
Ramanan Gobalakrishnan
-
Rheshwan Raj A/L Ravichandran
Objectives:
-
To differentiate between male and female using only images
-
To make screenings between male and female more easier
-
Do not require to meet in person to confirm gender
i) Project Management Lifecycle
Work Breakdown Structure :
Figure 1: Work Breakdown Structure
Figure 2: Work Breakdown Structure
Gantt Chart :
Figure 3: Gantt Chart
Figure 4: Gantt Chart
ii) Risk Identification Chart
Control Element | What is likely to go wrong? | How and when will I know? | What will I do about it? |
---|---|---|---|
Quality | Inaccurately predicting gender | After uploading the picture in our system and the result will be shown | Increasing the size of the dataset used to train the model |
Cost | Equipment to run the system might be over expensive. | When the cost is higher than predicted at the start of the project | Either to increase the amount of the budget or change the project to be computationally cheaper |
Time | Will take more time to collect different type of images of both gender. | Training process will be delayed due to not collecting enough data. | Increase staff to speed up the data collection process of the images. |
iii) Responsibility Assignment Matrices (RAM):
Figure 5: Responsibility Assignment Matrices (RAM)
Name | Role |
---|---|
Muhamed Hussain Bin Hithayatullah | Project Manager |
Ramanan Gobalakrishnan | Financial Anayst |
Rheshwan Raj A/L Ravichandran | Data Analyst |
Muhammad Naim Syahmi Bin Roslan | Technical Manager |
iv) Project Planning Summary:
Modules/Components | Budget (RM) | Schedule | Responsibility |
---|---|---|---|
Gender Database | 2,180,000.00 | 30 November 2020 - 1 January 2021 | Collect Data, Label Data |
Gender Detection | 18,869,100.00 | 3 January 2021 - 30 January 2021 | Train model, Test model |
Deliverables:
- Successfully differentiate between gender
- Image recognition model
- A front end website
Task | Estimated Costs | Notes |
---|---|---|
Hardware | RM 12 000.00 | Laptops |
Office needs | RM 490 000.00 | WIFI/supplies |
Design | RM 6 100.00 | Survey/conceptual/preliminary/ final design |
Software | RM 20 000.00 | Database/license |
Necessary needs | RM 30 000.00 | Additional supplies |
Total | RM 558 100.00 | estimated |
Milestone | Scheduled Completion | Actual Completion |
---|---|---|
Analysis on problem | 21st October 2020-21st October 2020 | 21st October 2020 |
Getting resources/data | 26th October 2020-1st November 2020 | 28th October 2020 |
Planning/WBS/budget management | 1st November 2020-11th November 2020 | 10th November 2020 |
Implementation | 11th November 2020-26th November 2020 | 28th November 2020 |
Project result/performance evaluation | 26th November 2020-28th November 2020 | 30th November 2020 |
Report | 28th November 2020-13th December 2020 | 3rd December 2020 |
Project submission | 15th December 2020-30th January 2021 | 27th January 2021 |
The first phase of our project involves preparing the dataset for training. We prepare our dataset by loading the images into a Jupyter Notebook file and resizing it using Python. The primary reason for resizing the images is to make easier and faster for the model to train on the image data, because the smaller the size of an image, the shorter the length of training.
Figure 1: The code for data preparation in jupyter notebook
After we finished preparing the data, we stored the images into a .pickle file so that it can be used in a different notebook file that is dedicated to training the model.
Figure 2: The code for storing the prepared dataset into a .pickle file
After we have finished preparing the data, we used the TensorFlow library to build a model for the image recognition module. Figure 1 below shows the code for building the Convolutional Neural Network (CNN) model using the Tensorflow Keras library.
Figure 3: The code for building and training the model
The model is then saved into the working directory as a .model file. This .model file will then be used by another program to serve as a backend for our web application
Figure 4: The code for saving the model into a .model file
Our project is mainly developed using Flask. Flask is a python web development framework. Since our model is written and trained in python. We used Flask as a backend to integrate the model with our web application. This will enable the user to interact with our model via a web application. Figure 1 below shows the python Flask program that serves as the backend for our web application.
Figure 5: The Flask Program for the project
We also designed a website that serves as the frontend of our application. The website is written in HTML with the CSS Bootstrap Framework. And a few Flask functions are integrated into the HTML to allow for the website to update its content if it receives a response from the model
Figure 6: The HTML file for the website and the Flask function
Figure 7: The web application (before uploading an image)
Figure 8: The web application (after uploading an image and received a response from the model
Sign Off Form | View |
Lessons Learned Report | View |
Final Project Report | View |
Close Contract | View |