We have all taken up swearing masks in public for the last two years. It has become a part of our outfit. With people choosing colours and styles to match their personality. Have you ever looked and wondered who the person behind the mask is or got curious about what type of face mask they are wearing?
🕵️ Problem Statement
In this puzzle, we increase the complexity of mask detection using image segmentation and prediction tools. Given an input image of a person wearing a mask, your task is to predict their mask type. Additionally, identify the mask in the image by creating a bounding box. Can you tackle this complex problem where you are given one input image and output two things - mask type and mask bounding box?
💪 Getting Started
Our Starter Kit comes with random prediction and in our baseline, we are first using various image processing techniques such as canny, edge detection, contours etc to find bounding boxes. Then creating embedding for the cropped image to use a Random Forest Classifier to predict the mask type . You can check it out here.
The dataset is split into 3 different sets - train, validation & test set. The training & validation set will be used in training your models and the predictions generated from the test set will be used to evaluate your model. Each set contains 5000, 2000, and 3000 samples respectively.
The training and validation set contains a zip file and a csv file. The zip file contains the face images with the mask with .jpg extension and dimensions 512x512. The csv file contains four columns as below -
- ImageID - This column corresponds to the image file name in the zip file.
- masktype - The type of mask the face is wearing, there are currently four labels, Surgical, N95, KN95, Cloth.
- bbox - The bounding box of the mask in the xmin , ymin , xmax , ymax format.
ImageID masktype bbox f5ka8 N95 [39, 289, 228, 278] dk5ns cloth [129,1,28,281]
- The test set will contain only a zip file with 3k samples for evaluation.
Following files are available in the resources section:
- train.zip - ( 5k samples ) This zip file contains the images for the training set.
- train.csv - ( 5k samples ) This csv file contains the labels for the training set.
- val.zip - ( 2k samples ) This zip file contains the images for the validation set.
- val.csv - ( 2k samples ) This zip file contains the labels for the validation set.
- test.zip - ( 3k samples ) This zip file contains the images for the testing set for evaluation.
- sample_submission.csv ( 3k samples ) - This zip file represents how your submission file should look like when making the submission.
Learn to make your first submission using the starter kit 🚀
- Create a submission folder in your working directory.
Use sample_submission.csv provided in the resources section and replace all the labels with your model predictions.
Save the CSV in the submission folder as submission.csv
- Inside a submission directory, put the .ipynb notebook from which you trained the model and generate predictions and save it as notebook.ipynb.
- Zip the submission directory
Overall, this is what your submission directory should look like
Make your first submission here 🚀 !!
🖊 Evaluation Criteria
During the evaluation, the primary score - Average Precision of mask type and bbox ( @ IoU=0.50:0.50 ) will be used to evaluate the performance of your model.
- Aditya Jha