MediaPipe-Face-Detection: Optimized for Mobile Deployment
Detect faces and locate facial features in real-time video and image streams
Designed for sub-millisecond processing, this model predicts bounding boxes and pose skeletons (left eye, right eye, nose tip, mouth, left eye tragion, and right eye tragion) of faces in an image.
This model is an implementation of MediaPipe-Face-Detection found
here
.
This repository provides scripts to run MediaPipe-Face-Detection on Qualcomm® devices.
More details on model performance across various devices, can be found
here
.
Model Details
Model Type:
Object detection
Model Stats:
Input resolution: 256x256
Number of parameters (MediaPipeFaceDetector): 135K
Model size (MediaPipeFaceDetector): 565 KB
Number of parameters (MediaPipeFaceLandmarkDetector): 603K
Model size (MediaPipeFaceLandmarkDetector): 2.34 MB
Profile Job summary of MediaPipeFaceDetector
--------------------------------------------------
Device: SA8255 (Proxy) (13)
Estimated Inference Time: 0.84 ms
Estimated Peak Memory Range: 0.77-7.22 MB
Compute Units: NPU (148) | Total (148)
Profile Job summary of MediaPipeFaceLandmarkDetector
--------------------------------------------------
Device: SA8255 (Proxy) (13)
Estimated Inference Time: 0.39 ms
Estimated Peak Memory Range: 0.44-86.25 MB
Compute Units: NPU (107) | Total (107)
How does this work?
This
export script
leverages
Qualcomm® AI Hub
to optimize, validate, and deploy this model
on-device. Lets go through each step below in detail:
Step 1:
Compile model for on-device deployment
To compile a PyTorch model for on-device deployment, we first trace the model
in memory using the
jit.trace
and then call the
submit_compile_job
API.
import torch
import qai_hub as hub
from qai_hub_models.models.mediapipe_face import Model
# Load the model
torch_model = Model.from_pretrained()
# Device
device = hub.Device("Samsung Galaxy S23")
# Trace model
input_shape = torch_model.get_input_spec()
sample_inputs = torch_model.sample_inputs()
pt_model = torch.jit.trace(torch_model, [torch.tensor(data[0]) for _, data in sample_inputs.items()])
# Compile model on a specific device
compile_job = hub.submit_compile_job(
model=pt_model,
device=device,
input_specs=torch_model.get_input_spec(),
)
# Get target model to run on-device
target_model = compile_job.get_target_model()
Step 2:
Performance profiling on cloud-hosted device
After compiling models from step 1. Models can be profiled model on-device using the
target_model
. Note that this scripts runs the model on a device automatically
provisioned in the cloud. Once the job is submitted, you can navigate to a
provided job URL to view a variety of on-device performance metrics.
MediaPipe-Face-Detection huggingface.co is an AI model on huggingface.co that provides MediaPipe-Face-Detection's model effect (), which can be used instantly with this qualcomm MediaPipe-Face-Detection model. huggingface.co supports a free trial of the MediaPipe-Face-Detection model, and also provides paid use of the MediaPipe-Face-Detection. Support call MediaPipe-Face-Detection model through api, including Node.js, Python, http.
MediaPipe-Face-Detection huggingface.co is an online trial and call api platform, which integrates MediaPipe-Face-Detection's modeling effects, including api services, and provides a free online trial of MediaPipe-Face-Detection, you can try MediaPipe-Face-Detection online for free by clicking the link below.
qualcomm MediaPipe-Face-Detection online free url in huggingface.co:
MediaPipe-Face-Detection is an open source model from GitHub that offers a free installation service, and any user can find MediaPipe-Face-Detection on GitHub to install. At the same time, huggingface.co provides the effect of MediaPipe-Face-Detection install, users can directly use MediaPipe-Face-Detection installed effect in huggingface.co for debugging and trial. It also supports api for free installation.
MediaPipe-Face-Detection install url in huggingface.co: