HyperSafety

HyperSafety is an employee management app in which images and details of Employees can be uploaded, which would then be used to detect whether or not employees are wearing a mask in the workplace. The HyperSafety Frontend can then be used by the Higher-ups to check which Employees have been caught without a mask. HyperSafety has 3 major components :

Technologies Used

  • Python

    Python backend for Hosting Mask-Detection & Face Recognition ML Services

  • NodeJS

    REST API which connects to a MySQL database to perform various Admin Operations such as Adding-Deleting Employees. Updates Python image database depending upon Admin Operations.

  • Flutter UI

    Frontend for Admin Operations : Adding Employees | Deleting Employees | Viewing Records | Resetting Records

Mask-Detection & Face-Recognition

Demo of what HyperSafety does.

Mask Detection

For mask detection, I have trained this model using CNNs and Face Mask Dataset. After cleaning and labeling, this dataset contains 5,000 masked faces of 525 people and 90,000 normal faces. The verification dataset contains 4015 face images of 426 people, which is further organized into 7178 masked and non-masked sample pairs, including 3589 pairs of the same identity and 3589 pairs of different identities. I used the GPUs which are available on Google Colab for training and achieved an accuracy of 98.95%.

Face Recognition

In the event of a person not wearing a mask, I send that frame to the Face Recognition Service for identification.
Here I already have the face encodings of all existing employees. So now when a frame is received from OpenCV, I find the location of the face in the frame using face_locations and then encode it with face_encodings.
Now, I will find the most probable match of this encoding by comparing it with other employees' face encodings.

    NodeJS - Python Backend

    NodeJS Backend

    NodeJS connects the HyperSafety frontend and services to the SQL database, which is a REST API for processing each user's request depending on the route. There are 2 primary end-points: /admin_services, which is used for logging in and signing up new admins and /employee_services, which is used for services such as adding/deleting employees, resetting warnings and displaying records.
    It also communicates with the python backend for updating employee warnings in the database upon identification.

    Python Backend

    The machine learning model for Mask-Detection & Face-Recognition are hosted on the python backend. The face encodings of known employees are stored on the python backend for comparing them with the incoming frames of the person who was found to NOT have a mask.
    After identification, the details are sent to the NodeJS backend for updating the employee's warnings in the database.

      HyperSafety Demonstration

      Below is a video which includes a brief explanation of each component of HyperSafety and a quick demo.

      Other Projects

      I have worked on many more fascinating projects!
      You can check them out right here!

      About Me

      I’m aspiring to be a Data Scientist who will be a growling engine behind the changes in the world. I love to fiddle with technology I have never heard of before and build things that are intriguing.

      I am a University Rank #2 holder from SRM University with B.Tech in CSC-AIML and an aspiring Data Scientist with great passion for my work.On My Website, you will find the list of projects that I have done.

      Contact Me

      Email :

      ritviksharma4@gmail.com