GStreamer-CRITICAL **: gst_meta_api_type_has_tag: утверждение 'tag! = 0' не выполнено - PullRequest
0 голосов
/ 13 апреля 2020

Я пытаюсь создать конвейер GStreamer + DeepStream на Jetson Xavier для обнаружения, отслеживания и классификации объектов, и застрял в сообщении "GStreamer-CRITICAL **: gst_meta_api_type_has_tag: assertion 'tag != 0' failed". Кто-нибудь может дать представление о том, что означает ошибка и / или как ее устранить? Мне не повезло в поисках решения, хотя, похоже, оно напрямую связано с модулями nvinfer и nvtracker. Я могу запустить конвейер только с хорошим фоновым вычитанием (исключая detector0, tracker0 и classifier0).

Вот краткий обзор структуры сети:

(realsense) -> (background subtraction) -> (object detection) -> (object tracking) -> (object classification) -> (rendition)

... и вот пример запуска:

$ gst-launch-1.0 realsensesrc serial="$RS_SERIAL" enable-color=true enable-depth=false framerate=6 \
! rgbddemux name=realsense_demux realsense_demux.src_color \
! videoconvert \
! segmentation test-mode=false method=2 \
! nvvidconv \
! "video/x-raw(memory:NVMM)" \
! nvinfer name=detector0 config-file-path="$DETECTOR_CONFIG" batch-size=1 unique-id=1 \
! nvtracker name=tracker0 ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_mot_klt.so \
! nvinfer name=classifier0 config-file-path="$CLASSIFIER_CONFIG" unique-id=2 \
! nvdsosd \
! nvegltransform \
! nveglglessink
Setting pipeline to PAUSED ...

Using winsys: x11
Creating LL OSD context new
gstnvtracker: Loading low-level lib at /opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_mot_klt.so
gstnvtracker: Optional NvMOT_RemoveStreams not implemented
gstnvtracker: Batch processing is OFF
Deserialize yoloLayerV3 plugin: yolo_83
Deserialize yoloLayerV3 plugin: yolo_95
Deserialize yoloLayerV3 plugin: yolo_107
Pipeline is live and does not need PREROLL ...
Got context from element 'eglglessink0': gst.egl.EGLDisplay=context, display=(GstEGLDisplay)NULL;
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Creating LL OSD context new
 13/04 12:31:27,003 ERROR [545116905968] (types.h:307) get_device_time_ms() took too long (more then 2 mSecs)
 13/04 12:31:27,155 ERROR [545116905968] (types.h:307) get_device_time_ms() took too long (more then 2 mSecs)
 13/04 12:31:27,308 ERROR [545116905968] (types.h:307) get_device_time_ms() took too long (more then 2 mSecs)
 13/04 12:31:27,461 ERROR [545116905968] (types.h:307) get_device_time_ms() took too long (more then 2 mSecs)
 13/04 12:31:27,613 ERROR [545116905968] (types.h:307) get_device_time_ms() took too long (more then 2 mSecs)
 13/04 12:31:27,755 ERROR [545116905968] (types.h:307) get_device_time_ms() took too long (more then 2 mSecs)
 13/04 12:31:27,860 ERROR [544882008560] (types.h:307) get_device_time_ms() took too long (more then 2 mSecs)
 13/04 12:31:27,912 ERROR [545116905968] (types.h:307) get_device_time_ms() took too long (more then 2 mSecs)

(gst-launch-1.0:22783): GStreamer-CRITICAL **: 12:31:27.918: gst_meta_api_type_has_tag: assertion 'tag != 0' failed

(gst-launch-1.0:22783): GStreamer-CRITICAL **: 12:31:27.918: gst_meta_api_type_has_tag: assertion 'tag != 0' failed
0:00:08.929831930 22783   0x55c54c1e80 WARN                 nvinfer gstnvinfer.cpp:1201:gst_nvinfer_process_full_frame:<detector0> error: NvDsBatchMeta not found for input buffer.
ERROR: from element /GstPipeline:pipeline0/GstNvInfer:detector0: NvDsBatchMeta not found for input buffer.
Additional debug info:
/dvs/git/dirty/git-master_linux/deepstream/sdk/src/gst-plugins/gst-nvinfer/gstnvinfer.cpp(1201): gst_nvinfer_process_full_frame (): /GstPipeline:pipeline0/GstNvInfer:detector0
Execution ended after 0:00:01.026227860
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
 13/04 12:31:28,027 ERROR [544882008560] (types.h:307) get_device_time_ms() took too long (more then 2 mSecs)
 13/04 12:31:28,070 ERROR [545116905968] (types.h:307) get_device_time_ms() took too long (more then 2 mSecs)
Setting pipeline to NULL ...
Freeing pipeline ...

РЕДАКТИРОВАТЬ (13-Apr-2020 @ 18:38 PDT): Похоже, что это может быть строка, где утверждение не удалось: gst / gstmeta.c # L120 , который вызывается NvDsMeta API .

...