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.

TDA2PXEVM: Output of semseg pixels values at the tidl_postproclink_algplugin.c

Part Number: TDA2PXEVM
Other Parts Discussed in Thread: TDA2

Hi TI team,

I have successfully deployed my trained model on tda2. Now I want to apply image processing further which could help me generating the required output. I have two questions about it and detailed answers will be highly appreciated.

1. How can I see the pixel values of each classes at the tidl_postproclink, I added some part of the code but I can't understand the output it is generating. What I need is the pixel value of each classes of my segmented objects. So far, I have only two objects. Here is the picture below of my code:

2. Adding this for loop and print function also disturbs my output on the display and make it completely black. How to deal with issue also, do I need to allocate any memory before doing any such thing, if yes, can you give me some hint on it? 

Kindly respond me asap. Thank you.

With best regards,

H.M. Owais

  • Hi,

    Printing such a large array in short time is not possible, so you are getting improper display.

    You can add a dup link after tidlpostproc and add a null link on IPU1_0 core to dump that output and check.

    Regards,

    Anuj

  • Hi Anuj,

    Thank you for your response. I tried to add the dup link in the txt file to generate the code but it gave me error.

    Error: Link [Dup] must have one and only one incoming link

    Following is my txt I used to add dup and null into my semseg:

    UseCase: chains_semSeg

    NullSource -> Decode -> Dup

    Dup -> Merge (A15)

    Dup -> Alg_tidlpreproc (A15)

    Alg_tidlpreproc (A15) -> Alg_tidl_Eve1 (EVE1)
    Alg_tidlpreproc (A15) -> Alg_tidl_Eve2 (EVE2)

    Alg_tidl_Eve1 (EVE1) -> Alg_tidlpostproc (A15)
    Alg_tidl_Eve2 (EVE2) -> Alg_tidlpostproc (A15)

    Alg_tidlpostproc (A15) -> Dup -> Null

    Alg_tidlpostproc (A15) -> Merge (A15)

    Merge (A15) -> Sync (A15) -> Alg_tidlpostproc_cpy (A15)

    Alg_tidlpostproc_cpy (A15) -> Display

    GrpxSrc -> Display_Grpx

    seems like I shouldn't add Alg_tidlpostproc(A15) as an input. Moreover, Is there any documents which explains about Links. Thank you.

    With best regards,

    H.M.Owais

  • Hi,

    Dup link is a link which can have single input and multiple output.

    As there is already a dup in your usecase so the 2nd dup will have some different name like "DUP_1".

    Regards,

    Anuj

  • Hi Anuj, 

    Thank you for your reply. I followed your advice and did exactly as you suggested.

    I added the dup link at the output of the tidl_postproc and then added the Null link to dump the files. Something like this:
    tidl_postproc-> dup_1
    dup_1-> Null.

    When I ran the usecase to check the frames at the print. I received this error

    Assertion @ Line: 231 in ipcOutLink_drv.c: pObj->createArgs.inQueParams.prevLinkQueId < pObj->prevLinkInfo.numQue :!

    can you tell me why is it happening.?

    Moreover, do I need to access the output of the null link to dump the files? I am bit confused with the structure of these usecases.
    What parameters should I set and how to get the values of it. It will be of great help if you could give some useful hints on it. Thank you.

    With best regards,
    H.M. Owais
  • Hi Anuj,

    Thank you for your reply. I followed your advice and did exactly as you suggested.

    I added the dup link at the output of the tidl_postproc and then added the Null link to dump the files. Something like this:
    tidl_postproc-> dup_1
    dup_1-> Null.

    When I ran the usecase to check the frames at the print. I received this error

    Assertion @ Line: 231 in ipcOutLink_drv.c: pObj->createArgs.inQueParams.prevLinkQueId < pObj->prevLinkInfo.numQue :!

    can you tell me why is it happening.?

    Moreover, do I need to access the output of the null link to dump the files? I am bit confused with the structure of these usecases.
    What parameters should I set and how to get the values of it. It will be of great help if you could give some useful hints on it. Thank you.

    With best regards,

  • Hi Anuj,    

    Thank you for your reply. I followed your advice and did exactly as you suggested.

    I added the dup link at the output of the tidl_postproc and then added the Null link to dump the files. Something like this:
    tidl_postproc-> dup_1
    dup_1-> Null.

    When I ran the usecase to check the frames at the print. I received this error

    Assertion @ Line: 231 in ipcOutLink_drv.c: pObj->createArgs.inQueParams.prevLinkQueId < pObj->prevLinkInfo.numQue :!

    can you tell me why is it happening.?

    Moreover, do I need to access the output of the null link to dump the files? I am bit confused with the structure of these usecases.
    What parameters should I set and how to get the values of it. It will be of great help if you could give some useful hints on it. Thank you.

    With best regards,

  • Hi,

    If i have clearly understand your usecase then you want to check the output of tidlpostproc link.

    In order to do that you have to dump that data in sd card as printing those data is not possible.

    you can dump that data using null and dup link.

    replace below line from usecase txt file

    Alg_tidlpostproc (A15) -> Merge (A15)

    and add below lines

    Alg_tidlpostproc (A15) -> dup_1 (A15)
    dup_1 (A15) -> Null.

    dup_1 (A15) -> Merge (A15)

    And set dup and null link params correctly.

    For these params you can take reference from other usecase where these links has been used.

    Regards,

    Anuj