I like to run two primary gies as gie-unique-id=1 and gie-unique-id=2.
I found a discussion here .
But tested and didn’t work.
I have two primary gies in the config file as
[primary-gie]
enable=1
gpu-id=0
model-engine-file=resnet18_dashcamnet_pruned.etlt_b1_gpu0_int8.engine
batch-size=1
#Required by the app for OSD, not a plugin property
bbox-border-color0=1;0;0;1
bbox-border-color1=0;1;1;1
bbox-border-color2=0;0;1;1
bbox-border-color3=0;1;0;1
gie-unique-id=1
config-file=config_infer_primary_dashcamnet.txt
[primary-gie]
enable=1
gpu-id=0
model-engine-file=resnet34_peoplenet_pruned.etlt_b1_gpu0_int8.engine
batch-size=1
bbox-border-color0=1;0;0;1
bbox-border-color1=0;1;1;1
bbox-border-color2=0;0;1;1
bbox-border-color3=0;1;0;1
gie-unique-id=2
config-file=peoplenet_pgie_config.txt
When I add in second primary gie, the first one doesn’t work.
All config files are attached.
peoplenet_pgie_config.txt (3.3 KB) deepstream_app_source1_dashcamnet_vehiclemakenet_vehicletypenet.txt (5.2 KB) config_infer_primary_dashcamnet.txt (2.0 KB)
What I like to have is video stream 1 and 2 are for pgie1 and video stream 3 and 4 are for pgie2. Is it possible to assign like that?
bcao
January 6, 2021, 1:55pm
3
Then what about the downstream pipeline, streams 1 ~ 4 will use the same pipeline?
Yes same pipeline and same osd. Possible? The reason why is for example, some stream the application is crowd estimation, the model trained for the crowd is solely dedicated for that application. The stream for illegal car parking is with model trained with cars solely. So in that case, I have two pgies in detection and will go the same pipeline for same display on video wall. Is that right idea? Or is there any other better idea?
I know we can use same model and trained for different categories. But at this moment, I have two different models for pedestrian detection and car detection. Pedestrian detection in vehicle detection model is not well trained for pedestrian detection.
May I know what is your opinion for this scenario?
bcao
January 7, 2021, 9:25am
6
Yeah, I think you need to set your 2nd pgie to sgie and set the process mode as process-mode=1 under sgie group, can this pipeline work for you?
Can please check my config files for what is wrong? I set one pgie and one sgie, only pgie works.
peoplenet_pgie_config.txt (3.3 KB) deepstream_app_source1_dashcamnet_vehiclemakenet_vehicletypenet.txt (5.1 KB) config_infer_primary_dashcamnet.txt (2.0 KB)
bcao
January 7, 2021, 10:20am
9
I think you need to disable tracker and check if it can work?
bcao
January 11, 2021, 8:18am
11
Ok, can you share a whole repro with us, so we can check locally.
edit_or
January 12, 2021, 1:45am
12
I sent by private message.
bcao
January 12, 2021, 1:53am
13
Thanks, will try locally.
bcao
January 12, 2021, 3:03am
14
I had repro your issue locally.
2 options to solve the issue:
you can refer deepstream_reference_apps/back-to-back-detectors at master · NVIDIA-AI-IOT/deepstream_reference_apps · GitHub to implement your own app to support 2 primary detector.
If you must use deepstream-app, then you need to customize deepstream_secondary_gie_bin.c ->create_secondary_gie_bin to support the feature.
edit_or
January 12, 2021, 9:41am
15
Thanks let me try with those options.
bd95
January 26, 2021, 5:20pm
17
I have a similar scenario, could I please know if modifying create_secondary_gie_bin in deepstream_secondary_gie_bin.c, would load in two primary gie’s in deepstream-app? Thank you