Face Mask Detector
Deploy a computer Vision concept able to detect face masks in static images
Face Maske Detector predicts whether a person is wearing a mask.
In the following tutorial, we will show you how to deploy a Keras Face Mask Detector algorithm using the Syndicai Platform. The main goal of that algorithm is to detect whether a person in the picture is wearing a mask or not.
Let's start!

Step 1. Prepare a model

In the first phase of the tutorial, we need to prepare a model for deployment. In order to do it in the right way you can follow a checklist below:

1. Train your model

Before you start model preparation you need to train your model. For the purpose of the following tutorials, we will use one that is already trained.

2. Create a Git repository

Your main model files need to be placed in a git repository. However, if you have large files (e.g. with model weights) you can store them in separate storage or drive. Syndicai will automatically download them during a model deployment process.
As far as our Face Detector is concerned, all files are placed in the git repository since the model is very lightweight (MobileNetV2 architecture).
Go to a Github repository to explore in detail.
A repository with a Face Mask Detector

3. Prepare for the deployment

In order to deploy a model with Syndicai, you need to add syndicai.py and requirements.txt to a repository. You can go to the Develop section to learn more.
For the Face Mask Detector those files looks as follows:
requirements.txt
syndicai.py
tensorflow==1.15.2
keras==2.3.1
imutils==0.5.3
numpy==1.18.2
opencv-python==4.2.0.*
matplotlib==3.2.1
argparse==1.1
scipy==1.4.1
scikit-learn==0.23.1
pillow==7.2.0
import os
import cv2
import numpy as np
from tensorflow.keras.applications.mobilenet_v2 import preprocess_input
from tensorflow.keras.preprocessing.image import img_to_array
from tensorflow.keras.models import load_model
from utils import url_to_image, b64_to_image, image_to_base64
args = {
"image": "sample_data/out.jpg",
"face": "face_detector",
"model": "model/mask_detector.model",
"confidence": 0.5,
}
class PythonPredictor:
def __init__(self, config):
# load our serialized face detector model from disk
print("[INFO] loading face detector model...")
prototxtPath = os.path.sep.join([args["face"], "deploy.prototxt"])
weightsPath = os.path.sep.join([args["face"],
"res10_300x300_ssd_iter_140000.caffemodel"])
self.net = cv2.dnn.readNet(prototxtPath, weightsPath)
# load the face mask detector model from disk
print("[INFO] loading face mask detector model...")
self.model = load_model(args["model"])
def predict(self, payload):
# Get image from url
try:
image = url_to_image(payload["image_url"])
except:
image = b64_to_image(payload["image_b64"])
orig = image.copy()
(h, w) = image.shape[:2]
# construct a blob from the image
blob = cv2.dnn.blobFromImage(image, 1.0, (300, 300),
(104.0, 177.0, 123.0))
# pass the blob through the network and obtain the face detections
print("[INFO] computing face detections...")
self.net.setInput(blob)
detections = self.net.forward()
# loop over the detections
for i in range(0, detections.shape[2]):
# extract the confidence (i.e., probability) associated with
# the detection
confidence = detections[0, 0, i, 2]
# filter out weak detections by ensuring the confidence is
# greater than the minimum confidence
if confidence > args["confidence"]:
# compute the (x, y)-coordinates of the bounding box for
# the object
box = detections[0, 0, i, 3:7] * np.array([w, h, w, h])
(startX, startY, endX, endY) = box.astype("int")
# ensure the bounding boxes fall within the dimensions of
# the frame
(startX, startY) = (max(0, startX), max(0, startY))
(endX, endY) = (min(w - 1, endX), min(h - 1, endY))
# extract the face ROI, convert it from BGR to RGB channel
# ordering, resize it to 224x224, and preprocess it
face = image[startY:endY, startX:endX]
face = cv2.cvtColor(face, cv2.COLOR_BGR2RGB)
face = cv2.resize(face, (224, 224))
face = img_to_array(face)
face = preprocess_input(face)
face = np.expand_dims(face, axis=0)
# pass the face through the model to determine if the face
# has a mask or not
(mask, withoutMask) = self.model.predict(face)[0]
# determine the class label and color we'll use to draw
# the bounding box and text
label = "Mask" if mask > withoutMask else "No Mask"
color = (0, 255, 0) if label == "Mask" else (0, 0, 255)
# include the probability in the label
label = "{}: {:.2f}%".format(
label, max(mask, withoutMask) * 100)
# display the label and bounding box rectangle on the output
# frame
cv2.putText(image, label, (startX, startY - 10),
cv2.FONT_HERSHEY_SIMPLEX, 0.45, color, 2)
cv2.rectangle(
image, (startX, startY), (endX, endY), color, 2)
return image_to_base64(image)d
It is important to notice that accessing model weights is done in the init method that is run only once (when a deployment is Starting.)

Step 2. Deploy a model

In order to deploy a model, you need to first connect a repository with your model to the Syndicai Platform, so that the platform will be able to setup the infrastructure automatically for you.

1. Connect a git repository

Go to Syndicai Platform to the Models page. Open the form by clicking Add Model. Fill the form with the values below, and click Add.
  • Url git repository: https://github.com/syndicai/models
  • Path to the model: keras/face_mask_detector

2. Create a deployment

After submitting the form you will be redirected to the newly created model profile where you can easily click Deploy, and fill the form with the name Master deployment, and the branch master. Submit by clicking Add, and you will be redirected to the newly created deployment profile.

3. Check starting logs

In the deployment profile go to Releases and click on the first release #1. You will see the Release Logs that will pop out from the right. Check whether the deployment goes all right. In general, it takes a couple of minutes to complete both steps of the deployment (Building & Starting).
When a deployment will reach the status Running, you can access it via API or send a request via the platform.

Step 3. Validate & integrate the deployment

In the deployment profile come back to the Overview tab and scroll down to Validate & Integrate section.
Modify the sample input data by pasting the JSON with input data in the form of image url, or image base64. following code.
image url
image base64
{
"image_url": "https://bsmedia.business-standard.com/_media/bs/img/article/2020-07/12/full/1594519569-3012.JPG"
}
{
"image_b64": "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"
}
After saving the sample data, just click Send Request to get the response.
When a model is working properly you can copy the code snippet of the model and integrate it with other platforms.
Copy link
On this page
Step 1. Prepare a model
1. Train your model
2. Create a Git repository
3. Prepare for the deployment
Step 2. Deploy a model
1. Connect a git repository
2. Create a deployment
3. Check starting logs
Step 3. Validate & integrate the deployment