A Deepstream SDK based implementation of Facedetector and Landmarks extractor as Primary+Secondary Gie
- Ubuntu 20.04/18
- DeepStream SDK 6.1.0 or later
- Nvidia GPU
git clone https://github.com/rahulsharma11/deepstream-facenet-landmarks-app.git
cd deepstream-facenet-landmarks-app/apps/deepstream-app
# check the Makefile Paths
make -j
cd ../launchConfig
./run.sh <..apps/deepstream-app/deepstream-app -c deepstream_app_int8.txt>
This app uses nvidia tlt "facenet" model for facedetection and "fpenet" facelandmark detection model but embedded in Deepstream-SDK app. Both models are Int8 models for Fast Inferencing. I got more than 1000fps in both model in T4.
Input Image -> streammux -> primary-gie (face) -> Secondary-gie (landmarks) -> output.
"nvds_add_facemark_meta" API is used to extract the face landmarks and attach the metadata to object meta. Later it is attached to frame_meta.
- process_meta in deepstream-app.cpp, that integrates the secondary gie output to primary gie pipeline
- sample_faciallandmarks_config.txt , that is used for preprocessing settings for secondary gie.