Jetpack 6.0 (6.0+b106 and 6.0+b87 both are installed) L4T 36.3.0
TensorRT 8.6.2
NVRM version: NVIDIA UNIX Open Kernel Module for aarch64 540.3.0
Problem: i am trying to build following kind of pipeline
Face Detection → PreProcess1 → Person Detection
|
v → PreProcess2 → FaceSwap
|
v → Face Recognition
As you can see all models are in parallel with my face detection model, Now i am testing this on 2 types of videos, one is having more than 2 faces occurring at same time whereas other has minimum 1 face or maximum 2 at a given time.
Now the pipeline works fine with the video with multiple faces but when i am running it on the other video i am getting a segmentation fault even after nvstreammux: Successfully handled EOS for source_id=0 as shown below
i tried but it is giving this line as source of errorcv::Mat inswapper = images[i]; where i am accessing raw tensor output of my face swap model in the modifieddeepstream-app in static GstPadProbeReturn gie_processing_done_buf_prob function, which i am not able to understand as it is working fine with videos having multiple faces in same frame
i think somehow the main thread gets completed before the child thread
Hello,
i have further debugged this issue and found that in my code i am creating 2 arrays one for the Transformation matrix which i am passing from preprocess lib as obj->misc_info and one for the output images of my model and here for last few frames Transformation matrix is being passed from the preprocess lib but the output of model is not there as i checked the size of both the arrays i am getting the size of image list as zero for last few frames…
But i am not able to understand how is this possible as static GstPadProbeReturn gie_processing_done_buf_prob function is called only after all inferences and so how is this possible that my preprocess lib is being called and i am getting the matrix but not the output image?
Also my face swap model is heavy and it takes much more time than others (you can refer to pipeline shown at the start )so it is possible that it might be causing this issue?
I don’t quite understand what you mean. This should be impossible. The following code in /opt/nvidia/deepstream/deepstream/sources/gst-plugins/gst-nvdspreprocess/gstnvdspreprocess.cpp will generate a matrix/tensor from the image
okay i think i didn’t specify actually by matrix i mean Transformation matrix which i am using to modify my input image as per the face swap model requirements and i am passing it to the post-processing for each face as obj->misc_info
so i am getting it in the function specified above but not the model generated output image