Single Face Analysis Pipeline Demo

This document presents a models ensemble as an example of DAG Scheduler implementation. It describes how to combine several models to perform multiple inference operations with a single prediction call. When you need to execute several predictions on the same data, you can create a pipeline, which combines the results from several models.


Prepare workspace to run the demo

In this example the following models are used:



Clone the repository and enter single_face_analysis_pipeline directory

git clone
cd model_server/demos/single_face_analysis_pipeline/python

You can prepare the workspace that contains all the above by just running


Final directory structure

Once the make procedure is finished, you should have workspace directory ready with the following content.

├── age-gender-recognition-retail-0013
│   └── 1       ├── age-gender-recognition-retail-0013.bin
│       └── age-gender-recognition-retail-0013.xml
├── config.json
└── emotions-recognition-retail-0003
    └── 1
        ├── emotions-recognition-retail-0003.bin
        └── emotions-recognition-retail-0003.xml

Deploying OVMS

Deploy OVMS with single face analysis pipeline using the following command:

docker run -p 9000:9000 -d -v ${PWD}/workspace:/workspace openvino/model_server --config_path /workspace/config.json --port 9000

Requesting the Service

Exemplary client can be used to request pipeline deployed in previous step.

pip3 install -r requirements.txt

Now you can create directory for text images and run the client:

python --image_path ../../common/static/images/faces/face1.jpg --grpc_port 9000
Age results: [[[21.099792]]]
Gender results: Female: 0.9483401 ; Male: 0.051659837
Emotion results: Natural: 0.02335789 ; Happy: 0.9449672 ; Sad: 0.001236845 ; Surprise: 0.028111042 ; Angry: 0.0023269346

Next step

For more advanced use case with extracting and analysing multiple faces on the same image see multi_faces_analysis_pipeline demo.