/mask_detection

The goal of this project is to implement an end-to-end machine learning pipeline to detect if a person wears a mask in an image. Concretely it can be used in pratice to check if someone is respecting sanitary measures about COVID-19

Primary LanguagePythonMIT LicenseMIT

Mask Detection

GitHub Workflow Status (with event) GitHub repo size

Google Meet Link

Description

The goal of this project is to implement an end-to-end machine learning pipeline to detect if a person wears a mask in an image. Concretely it can be used in pratice to check if someone is respecting sanitary measures about COVID-19.

Requirements & Specifications

  • Clean code & Reproductibility
  • A vision model trained from scratch to predict presence of wearable mask in an image
  • Compliance with best pratices in ML process
  • Deployement using a common-used framework

Getting started

Project Development

Dataset

The dataset used, Covid-19-PIS Dataset, is a collection of images stratified in two classes which are the groups of images of people wearing a mask to comply to COVID-19 measures and a group of images of people with their faces uncovered. See below in the reference covid-19-pis_dataset for more details.

Model

The model aims to be a supervised one since images labels are known. Built with pytorch framework, the vision model is neural-nets based with the following architecture .

Model overview

Deployment

Example

Me without mask Me with mask

Evaluation

We evaluate our model on the validation set. It sounds good !!!

AUC on validation set : 0.9957138594254401

ROC curve )

Cross entropy loss on validation set: 0.073

References & Citations

Hands-on machine Learning with ScikitLearn

@misc{ covid-19-pis_dataset,
    title = { Covid-19-PIS Dataset },
    type = { Open Source Dataset },
    author = { PyImageSearch },
    howpublished = { \url{ https://universe.roboflow.com/pyimagesearch/covid-19-pis } },
    url = { https://universe.roboflow.com/pyimagesearch/covid-19-pis },
    journal = { Roboflow Universe },
    publisher = { Roboflow },
    year = { 2023 },
    month = { mar },
    note = { visited on 2023-12-02 },

}