NVIDIA-AI-IOT / deepstream-occupancy-analytics

This is a sample application for counting people entering/leaving in a building using NVIDIA Deepstream SDK, Transfer Learning Toolkit (TLT), and pre-trained models. This application can be used to build real-time occupancy analytics applications for smart buildings, hospitals, retail, etc. The application is based on deepstream-test5 sample application.
MIT License
221 stars 73 forks source link

issues with the make command #48

Closed gswmitrk closed 2 years ago

gswmitrk commented 2 years ago

I’m using the occupancy analytics application. When I run the make command I get the following error:

deepstream_test5_app_main.c: In function ‘meta_copy_func’: deepstream_test5_app_main.c:314:88: error: ‘NvDsEventMsgMeta {aka struct NvDsEventMsgMeta}’ has no member named ‘source_id’ g_print(" %s %d source id: %d, Enter: %d, Exit: %d\n",func,LINE, dstMeta->source_id, dstMeta->lccum_cnt_entry, dstMeta->lccum_cnt_exit); ^~ deepstream_test5_app_main.c:314:108: error: ‘NvDsEventMsgMeta {aka struct NvDsEventMsgMeta}’ has no member named ‘lccum_cnt_entry’ g_print(" %s %d source id: %d, Enter: %d, Exit: %d\n",func,LINE, dstMeta->source_id, dstMeta->lccum_cnt_entry, dstMeta->lccum_cnt_exit); ^~ deepstream_test5_app_main.c:314:134: error: ‘NvDsEventMsgMeta {aka struct NvDsEventMsgMeta}’ has no member named ‘lccum_cnt_exit’ g_print(" %s %d source id: %d, Enter: %d, Exit: %d\n",func,LINE, dstMeta->source_id, dstMeta->lccum_cnt_entry, dstMeta->lccum_cnt_exit); ^~ deepstream_test5_app_main.c: In function ‘generate_event_msg_meta’: deepstream_test5_app_main.c:413:9: error: ‘NvDsEventMsgMeta {aka struct NvDsEventMsgMeta}’ has no member named ‘occupancy’ meta->occupancy = obj_params->lccum_cnt; ^~ deepstream_test5_app_main.c:414:9: error: ‘NvDsEventMsgMeta {aka struct NvDsEventMsgMeta}’ has no member named ‘lccum_cnt_entry’ meta->lccum_cnt_entry = obj_params->lcc_cnt_entry; ^~ deepstream_test5_app_main.c:415:9: error: ‘NvDsEventMsgMeta {aka struct NvDsEventMsgMeta}’ has no member named ‘lccum_cnt_exit’ meta->lccum_cnt_exit = obj_params->lcc_cnt_exit ; ^~ deepstream_test5_app_main.c:416:9: error: ‘NvDsEventMsgMeta {aka struct NvDsEventMsgMeta}’ has no member named ‘source_id’ meta->source_id = obj_params->source_id; ^~ Makefile:73: recipe for target ‘deepstream_test5_app_main.o’ failed

Acedev003 commented 2 years ago

These data structures have to be manually edited. Check the on-demand webinar replay : https://info.nvidia.com/iva-occupancy-webinar-reg-page.html?ondemandrgt=yes (you'll get a link for the replay on your mail)

Also, Check pages (26-29) in the below pdf: https://on24static.akamaized.net/event/25/37/22/4/rt/1/documents/resourceList1598389152860/dstltwebinarmonikav31598389151693.pdf

PaulsBits commented 2 years ago

I have the same problem as @gswmitrk . For me it is not possible to understand what is said during the webinar cause the audio quality is pretty bad and im not quite understanding what has to be done when reading the Slides in the PDF. Is there any step by step documentation what is needed to compile the project?

Acedev003 commented 2 years ago

Hey there, I gave up on using C++ and decided to create a custom pipeline via the python bindings. 😅

If you need to understand how the pipeline is structured, you can use the below free course https://courses.nvidia.com/courses/course-v1:DLI+S-IV-02+V2/

After setting up the deepstream python bindings (the docker file in the above course has this included by default), you can find a sample code for analytics at /opt/nvidia/deepstream/deepstream-6.0/sources/deepstream_python_apps/apps/deepstream-nvdsanalytics folder

Reading the comments in that file helped a lot in understanding. By default it's configured for the built-in resnet models.

gswmitrk commented 2 years ago

These data structures have to be manually edited. Check the on-demand webinar replay : https://info.nvidia.com/iva-occupancy-webinar-reg-page.html?ondemandrgt=yes (you'll get a link for the replay on your mail)

Also, Check pages (26-29) in the below pdf: https://on24static.akamaized.net/event/25/37/22/4/rt/1/documents/resourceList1598389152860/dstltwebinarmonikav31598389151693.pdf

Thank you @Acedev003, I edited the header file (sources/includes/nvdsmeta_schema.h) and the code is running pretty fine!

gswmitrk commented 2 years ago

I have the same problem as @gswmitrk . For me it is not possible to understand what is said during the webinar cause the audio quality is pretty bad and im not quite understanding what has to be done when reading the Slides in the PDF. Is there any step by step documentation what is needed to compile the project?

Hi @Pauli343, As indicated in @Acedev003 comment (pdf slides, page 28), I edited the sources/includes/nvdsmeta_schema.h and added the lines below to the NvDsEventMsgMeta struct :

guint source_id; guint occupancy; guint lccum_cnt_entry; guint lccum_cnt_exit; } NvDsEventMsgMeta;

The make command is working fine now!