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:
age-gender-recognition-retail-0013
emotions-recognition-retail-0003
Clone the repository and enter single_face_analysis_pipeline directory
git clone https://github.com/openvinotoolkit/model_server.git
cd model_server/demos/single_face_analysis_pipeline/python
You can prepare the workspace that contains all the above by just running
make
Final directory structure#
Once the make
procedure is finished, you should have workspace
directory ready with the following content.
workspace/
├── 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 single_face_analysis_pipeline.py 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 single_face_analysis_pipeline.py --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.