I successfully created a Deepstream Face Recognition app but not fully. I used customized deepstream YOLOV3 as face detector, and Facenet for face recognition using deepstream cpp implementation with an .mp4 video file as an input test file, of which there are bounding boxes being drawn around faces of people in the video.
And i am using dynamic facenet onnx model.
My last part is creating an embedding for dataset, where instead odf just drwaing bbox around faces, it will also indicate the name of that person(recognizing who that person is). How can i implement that? I am stuck on this part.
Hi @hirwablaise ,
Sorry! dstest2_sgie1_config.txt is the facenet config,right?
You can just give dstest2_sgie1 a label config, i.e. “labelfile-path=xxx”, for example:
Thank you, but i dont think it is through this way. I have a dataset that has more than 1 sub folder with a person’s name eg:Obama. In each subfolder, there are many photos containing all photos of Obama of every angle, lightning, etc. So how to can create embeddings for these datasets so that facenet will compare them with embeddings received from test video file? Hence putting the name of the person whose face is detected in a frame. Thank you.
I also did python implementation for facenet referring deepstream_test2. for .h264 video file format. Which implementation would be more efficient and simpler between cpp implementation and python implementation?
Depends on which language you are better at.
For your such implementaion, DS c++ and DS python should be similar.
But the function DS python supports is less than DS C/C++, if you want to add more function in futhre, c++ may be a better choice.
if it’s, I don’t see why we can’t use label.
As deepstream-test2 output screenshot below with below command, it can embed the car type, color, model on the detected object. What’s the difference between this and yours?
Oh, I thought it doesn’t work with labels, because the app was modified to only recognize faces. And in some frames, there are more than 5 faces. If we use labels, how can i assign unique id on each person face? Thank you.
How can i apply that logic to the one i have please? How can i assign different labels to different people in a same frame for 1 class(Face). Seems like i will need nvtracker, but how will i do it? I am using YoloV3 as a detector
After making research and observation, i saw that i need to compare vectors(embeddings from datasets) to embeddings got from facenet for face detected as shown in this image below
I know that the facenet has to compare the distance between database embeddings and facenet embeddings and check for similarities, but how to i apply that to my facenet python app code?