API usage sample for face detection task¶
This sample demonstrates the use of the Post-training Optimization Tool API for the task of quantizing a face detection model. The MTCNN model from Caffe* is used for this purpose. A custom
DataLoader is created to load WIDER FACE dataset for a face detection task and the implementation of Recall metric is used for the model evaluation. In addition, this sample demonstrates how one can implement an engine to infer a cascaded (composite) model that is represented by multiple submodels in an OpenVino Intermediate Representation (IR) and has a complex staged inference pipeline.
How to prepare the data¶
To run this sample, you need to download the validation part of the Wider Face dataset http://shuoyang1213.me/WIDERFACE/. Images with faces divided into categories are placed in the
WIDER_val/images folder. Annotations in .txt format containing the coordinates of the face bounding boxes of the validation part of the dataset can be downloaded separately and are located in the
How to Run the Sample¶
In the instructions below, the Post-Training Optimization Tool directory
<POT_DIR> is referred to:
<ENV>/lib/python<version>/site-packages/in the case of PyPI installation, where
<ENV>is a Python* environment where OpenVINO is installed and
<version>is a Python* version, e.g.
<INSTALL_DIR>/deployment_tools/tools/post_training_optimization_toolkitin the case of OpenVINO distribution package.
<INSTALL_DIR>is the directory where Intel Distribution of OpenVINO toolkit is installed.
To get started, follow the Installation Guide.
Launch Model Downloader tool to download
mtcnnmodel from the Open Model Zoo repository.
python3 ./downloader.py --name mtcnn*
Launch Model Converter tool to generate Intermediate Representation (IR) files for the model:
python3 ./converter.py --name mtcnn* --mo <PATH_TO_MODEL_OPTIMIZER>/mo.py
Launch the sample script:
python3 <POT_DIR>/compression/api/samples/face_detection/face_detection_sample.py -pm <PATH_TO_IR_XML_OF_PNET_MODEL> -rm <PATH_TO_IR_XML_OF_RNET_MODEL> -om <PATH_TO_IR_XML_OF_ONET_MODEL> -d <WIDER_val/images> -a <wider_face_split/wider_face_val_bbx_gt.txt>
Optional: you can specify .bin files of corresponding IRs directly using the