User Meta is None inside NvDSObjectMeta while using FaceNet face recognition using DeepStream 5.1 on Jetson Nano

Setup Details:

Device: Jetson Nano
DeepStream: 5.1
JetPack Version: 4.5.1
TensorRT Version: 7.2.2

Problem: I have tried to run GitHub - bharat3012/deepstream_face_recognition for the purpose of face recognition from H.264 elementary stream. Faces are being detected perfectly using face_detect model provided by Nvidia NGC but I am not able to read face embeddings out of FaceNet model setup in the pipeline while running above github link (User Meta is None inside NvDSObjectMeta).

Using ONNX format of FaceNet available for extracting 128-D embeddings.

How to reproduce the issue:

link: deepstream_face_recognition/deepstream_text2_save_out.py at main · bharat3012/deepstream_face_recognition · GitHub

Command executed: python3 deepstream_text2_save_out.py [stream path is hard coded]

Line Number 313: object ‘l_user’ is None because of which the while loop at line 314 do not get executed. This while loop is responsible for face embeddings extraction as well as recognition/classification of faces being detected.

Kindly help in this regard.

Is the linked code written by you?

If you want to set tensor output enabled for the sgie classifier, please add “network-type=100” in the sgie config file.

I tried the suggestion and added network-type=100 in SGIE config which is ‘classifier_config,txt’. User Meta is still unavailable and code runs without any exception.

The code is written on top of sample application 2 of Python based DeepStream applications. I tried running the code linked here as it is. The pipeline setup is successful, SGIE config is also being loaded into memory successfully. I am able to encode the output in a mp4 format file but it shows only detection label which is placed in labels.txt file. The label placed in labels.txt is ‘face’. Detection is working good and with proper label.

The issue still to be resolved is l_user object at line number 313 at deepstream_face_recognition/deepstream_text2_save_out.py at main · bharat3012/deepstream_face_recognition · GitHub is None because of which the while loop that is expected to iterate user meta data against each detected object is not going through.

Can you upload the onnx model for us to try your code?

Sure! Please find link to download ONNX format of FaceNet model I am using.

Detector model I am using is present at path ‘/opt/nvidia/deepstream/deepstream-5.1/samples/models/Primary_Detector/fd_lpd.caffemodel’.

I am working with H.264 stream obtained from my IP camera.

Just for more information, I have no issue in generating engine file for the model attached here.

Have you tried with my version of uploaded FaceNet model? I am still stuck up with the issue.