Face Recognition Sample in DeepStream

Hi all is there a Deepstream face recognition sample for DeepStream . If so can you help me by pointing to the same??

**• Hardware Platform (Jetson / GPU)**T4
• DeepStream Version5.0
• JetPack Version (valid for Jetson only)
• TensorRT Version7.0.0.11
**• NVIDIA GPU Driver Version (valid for GPU only)**440+

There is facedetection TLT model for DeepStream.

https://docs.nvidia.com/metropolis/deepstream/dev-guide/index.html#page/DeepStream_Development_Guide/deepstream_TLT_Integration.html

Hi @mchi,
What about face recognition

OK, no face recognition model.
You need to develop the model by yourself and deploy it in DeepStream.

1 Like

Hi @mchi, O took a landmark model and a facerecognition model and added secondary gie in DeepStream config file and config of nvinfer. But the end result only gives the Detection results.
1 How to implement facerecognition.
2 Will there be any difference in performance when we are not implementing as the input stream seems to pass through all the models.
Uploaded all the config files here for reference
Facerecdeepstream.tar.gz (1.9 KB)

@mchi can you take a look into above reply please

Could you share labels_facedetectir.txt ?
And, please give a label.txt to sgie and check the output.

Thanks!

Hi @mchi
Labels_facedetextir.txt contains 1 label that is face
What label should i give for sgie

for resnet20_merge_bn_conv.prototxt network, what’s the layer type of the output layer? Is it softmax?

What label should i give for sgie

Even a fake label file is ok. Without label, attach_metadata_classifier() will return because of “object_info.label.length() == 0”

File: /opt/nvidia/deepstream/deepstream/sources/gst-plugins/gst-nvinfer/gstnvinfer_meta_utils.cpp
   

 void
    attach_metadata_classifier (GstNvInfer * nvinfer, GstMiniObject * tensor_out_object,
        GstNvInferFrame & frame, GstNvInferObjectInfo & object_info)
    {
      NvDsObjectMeta *object_meta = frame.obj_meta;
      NvDsBatchMeta *batch_meta = (nvinfer->process_full_frame) ?
        frame.frame_meta->base_meta.batch_meta : object_meta->base_meta.batch_meta;

      if (object_info.attributes.size () == 0 ||
              object_info.label.length() == 0)
        return;

It is a innerproduct layer. I have sent you the last layer info in DM . Kindly check.

so, you need a customized post-processing to parse the output of your network, you can referr to sample - GitHub - NVIDIA-AI-IOT/deepstream_tao_apps: Sample apps to demonstrate how to deploy models trained with TAO on DeepStream for the implementation.