2 primary model at the same label and 1st primary model have 3-4 secondary

Please provide complete information as applicable to your setup.

**• Hardware Platform GPU
**• DeepStream Version-----> 6.1
**• TensorRT Version 8.4
**• NVIDIA GPU Driver Version → 525.

I’m working with Python (As a language )

  1. what I want to do is suppose I have 3-4 full frame label detector, 1st (face), 2nd (fire,)3rd (headgear), 4th (back head) and I have couple of secondary classifier (on top of 1st )—> like AGE, Gender, Race,emotion etc.

Now what I’m doing is I’m testing with 1st face(detector),and fire(detector) and for face I unable secondary classifier (on top of face )—> AGE, Gender
that’s also mention in sgie config file work on gie-id and class id — as well.

Where I want to get information from Frame -------> everything is mix up

after frame_meta or obj_meta where and how I can segregate for others detector and detector with sgie

If anyone can help me out with this !

Could you attach your deepstream pipeline and note the role of each gie?

Pipeline Looks Like this !

uri-decode-bin ----->streammux—>pgie1(face{full Frame})----->pgie2(fire{full Frame})------>pgie3(headgear{full Frame}) ----->pgie4(back_head{full Frame})—>sgie1(age{work on pgie1})----->sgie2(Gender{work on pgie1})------>sgie3(emotion{work on pgie1})------->sgie4(race{work on pgie1})–>videoconvert---->capsfilter----->filesink

Now I want to know about is my sequence is correct or not !
If yes then How I able to get information
else what would be the ideal pipeline and and How I able to get information

here Information means obj_meta, classifire_meta and alll…

You can just use one pgie. Please refer to our open source code demo: sources\apps\sample_apps\deepstream-test2. It’s similar to your needs.

Hi, My need is how I can segregate two primary model data ------>

frame_number = frame_meta.frame_num
l_obj = frame_meta.obj_meta_list
while l_obj is not None:
try:
obj_meta = pyds.NvDsObjectMeta.cast(l_obj.data)
# print(‘obj_meta.class_id’,obj_meta.class_id)
except StopIteration:
continue

After this How I can segregate two full label detector data after this If Anyone can help with this !

Why do you want to use two primary data? As you said, you just have 1 model for primary gie. It has 4 labels. You can use different sgie to infer each label as the sample I attached.

I Have Two primary label detector --------> let’s consider as X,Y Both are independent , and I have 4 sgie model , 4 are dependent on X and No relation with Y !

I want to Fitch each primary model data (X,Y) As I mention Y only full label Detector It should contain till obj_meta
for X it should contained obj_meta and classifire_meta as well !

  1. My first question If I use or my pipeline
    src----> streammux—>X—>Y----->Sgie1(work on X)---->sgie2(work on X))-------> sgie3(work on X))—>

Is IT ok ???

Both primary Detector should work on full frame level !

So you have 2 detect models, and 3 classifier models. Both the classifier models should link one of the 2 detect models. Is that correct?
So what is the use of another detect plugin? Could you describe a practical usage scenario?

Let me make the things a little breakdown
x-----> Face ,head (Detector)
y------> Fire (detector)
A------>age (classi)
B-----> Gender (classi)
c------>emotion(classi)

suppose In a office environment we need a fire detector if by any chance somewhere fire is there !
and as We need to count face or head in a frame and if face then We want to know what is age, gender,emotion and all !

What I want is fire should be a different detector and (Face,head) should be another detector !

I hope now I’m able to clarify more !
let me know any doubt
And How I can solve this means extract the Meta data let me know !

OK. I got what you mean. Please refer to the demo below, it can meet your needs:
https://github.com/NVIDIA-AI-IOT/deepstream_parallel_inference_app

1 Like

I know That Parallel pipeline !

src ---- streammux---->demux----->model wise streammux1 ----> pgie1
------------------------------------------->model wise streammux2------> pgie2

like this

What I am experimenting is ------> We have a term call 'process-mode" ---->
Here what I read is Process-mode =1 it’s works on full frame

For that I want to make my pipeline like -------->
src---->streammux ----->pgie1---->pgie2-----sgie1---->sgie2-----> etc

But question is "src---->streammux ----->pgie1---->pgie2-----sgie1---->sgie2-----> etc " Like this
Possible ??

We have demos for multiple detectors. You can try distinguishing them by the following parameters:unique_component_id.
https://github.com/NVIDIA-AI-IOT/deepstream_reference_apps/tree/master/back-to-back-detectors

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.