This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TDA4VM: GStreamer Negotiation Error and Module Import Issues in Edge AI Demo

Part Number: TDA4VM
Other Parts Discussed in Thread: J721EXCPXEVM,

Tool/software:

I am currently working on the Edge AI demo involving a Jacinto 7 TI board, using the provided code and configurations from Texas Instruments (TI). When I stop the video processing loop, I receive a GStreamer error indicating a "negotiation problem," which suggests a compatibility issue within the pipeline elements. Additionally, my Python script is failing due to an ImportError and SyntaxError. Specifically, the script cannot import the create_title_frame function from post_process.py, despite it being defined in the file, and it also throws an "unexpected EOF while parsing" error, indicating incomplete code. I have verified the configuration files and dependencies, but the issues persist. This is all occurring with the demo code and configurations provided by TI, which I have not modified. I would appreciate any guidance or suggestions on how to resolve these problems to successfully run my Edge AI demo application on the Jacinto 7 board.

  • Hi,

    Thank you for posting your question on the forum. The assigned engineer is currently not available, so please expect a delay in response to your question.

    Best,

    Asha

  • Hi Samuel,

    Are you using TDA4VM EVM or SK (Starter Kit) board? What SDK and which version are you using? Could you share the commands you are running and the resulting logs?

    Thank you,

    Fabiana

  • Hi Fabiana,

    I am using the Jacinto 7 SOM with the J721EXCPXEVM development kit, not the SK-TDA4VM. The SDK version I am using is 08.06.00.11.

    I am running the following command to execute the object detection demo: python3.8 app_edgeai.py /media/a/opt/edgeai-gst-apps/configs/object_detection.yaml

    Here is the output I am getting:


    [WARNING] SOC env var not specified. Defaulting target to arm.

    ==========[INPUT PIPELINE(S)]==========

    [ 110.891273] img_enc 4200000.video-encoder: vxe_g_ext_ctrls Invalid control id 0x980927

    [PIPE-0]

    multifilesrc location=/opt/edgeai-test-data/videos/video0_1280_768.h264 loop=True ! h264parse ! avdec_h264 ! tee name=tee_split0

    tee_split0. ! queue ! videoscale qos=True ! capsfilter caps="video/x-raw, width=(int)1280, height=(int)720;" ! videoconvert qos=True ! capsfilter caps="video/x-raw, format=(string)RGB;" ! appsink max-buffers=2 drop=True name=sen_0

    tee_split0. ! queue ! videoscale qos=True ! capsfilter caps="video/x-raw, width=(int)416, height=(int)416);" ! videoconvert qos=True ! capsfilter caps="video/x-raw, format=(string)RGB;" ! appsink max-buffers=2 drop=True name=pre_0

    ==========[OUTPUT PIPELINE]==========

    appsrc do-timestamp=True format=3 block=True name=post_0 ! videoconvert qos=True ! capsfilter caps="video/x-raw, format=(string)NV12, width=(int)1280, height=(int)720);" ! videoscale qos=True ! capsfilter caps="video/x-raw, width=(int)1920, height=(int)1080);" ! v4l2h264enc extra-controls="controls, frame_level_rate_control_enable=(int)1, video_bitrate=(int)10000000, video_gop_size=(int)30;" ! h264parse ! matroskamux writing-app=GStreamer Matroska muxer ! filesink sync=False location=/opt/edgeai-test-data/output/output_video0.mkv

    +--------------------------------------------------------------------------+
    | Object Detection |
    +--------------------------------------------------------------------------+
    +--------------------------------------------------------------------------+
    | Input Src: /opt/edgeai-test-data/videos/video0_1280_768.h264 |
    | Model Name: ONR-OD-8200-yolox-nano-lite-mmdet-coco-416x416 |
    | Model Type: detection |
    +--------------------------------------------------------------------------+
    +--------------------------------------------------------------------------+
    Exception in thread Thread-1:
    Traceback (most recent call last):
    File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
    self.run()
    File "/usr/lib/python3.8/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
    File "/media/a/opt/edgeai-gst-apps/apps_python/infer_pipe.py", line 121, in pipeline
    out_frame = self.post_proc(frame, result)
    File "/media/a/opt/edgeai-gst-apps/apps_python/post_process.py", line 225, in __call__
    bbox[..., self.model.formatter["dst_indices"]] = bbox_copy[..., self.model.formatter["src_indices"]]
    IndexError: index 5 is out of bounds for axis 1 with size 1

    +--------------------------------------------------------------------------+
    | Object Detection |
    +--------------------------------------------------------------------------+
    +--------------------------------------------------------------------------+
    | Input Src: /opt/edgeai-test-data/videos/video0_1280_768.h264 |
    | Model Name: ONR-OD-8200-yolox-nano-lite-mmdet-coco-416x416 |
    | Model Type: detection |
    +--------------------------------------------------------------------------+
    | dl-inference : 686.28 ms from 1 samples |
    +--------------------------------------------------------------------------+
    +--------------------------------------------------------------------------+

    +--------------------------------------------------------------------------+
    | Object Detection |
    +--------------------------------------------------------------------------+
    +--------------------------------------------------------------------------+
    | Input Src: /opt/edgeai-test-data/videos/video0_1280_768.h264 |
    | Model Name: ONR-OD-8200-yolox-nano-lite-mmdet-coco-416x416 |
    | Model Type: detection |
    +--------------------------------------------------------------------------+
    | dl-inference : 686.28 ms from 1 samples |
    +--------------------------------------------------------------------------+
    +--------------------------------------------------------------------------+

    [1]+ Stopped(SIGTSTP) python3.8 app_edgeai.py /media/a/opt/edgeai-gst-apps/configs/object_detection.yaml

    Here is what i understand about the errors above:

    The output indicates that the script is running but encounters an error during the post-processing stage. Specifically, it shows that the video input is being processed, but an "IndexError" occurs because the script tries to access an out-of-bounds index in the bounding box array. This results in the post-processing step failing, which prevents the script from completing successfully and producing the expected output video. The GStreamer pipeline setup and the inference steps are working, but the error in the post-processing step needs to be resolved.

  • Hi Samuel,

    Which of the following J721E SDKs are you using? https://www.ti.com/tool/PROCESSOR-SDK-J721E#downloads

    Are you using the ADAS or Edge AI image? Did you make any changes to the configuration file before running the application?

    Thank you,

    Fabiana