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: Query regarding CenterNet model postprocessing testing on Evaluation board

Part Number: TDA4VM

HI,

I am working with ti-processor-sdk-rtos-j721e-evm-07_01_00_11 from TDA4VM.

I created the graph using PyTIOVX with following configuration.

from tiovx import *

code = KernelExportCode("IMAGING", Core.C66, "CUSTOM_APPLICATION_PATH")

kernel = Kernel("cen_post_proc")

kernel.setParameter(Type.IMAGE, Direction.INPUT, ParamState.REQUIRED, "IN_IMAGE", ['VX_DF_IMAGE_U8'])
kernel.setParameter(Type.TENSOR, Direction.INPUT, ParamState.REQUIRED, "TENSOR0")
kernel.setParameter(Type.TENSOR, Direction.INPUT, ParamState.REQUIRED, "TENSOR1")
kernel.setParameter(Type.TENSOR, Direction.INPUT, ParamState.REQUIRED, "TENSOR2")
kernel.setParameter(Type.TENSOR, Direction.OUTPUT, ParamState.REQUIRED, "OUTPUT")

kernel.setTarget(Target.IPU1_0)
code.export(kernel)

Kernel was created successfully. But following error occurred when I tried to register above generated kernel files in vision_apps/kernels/img_proc. 

I modified the current demo app "app_tidl_od" provided in SDK7.1, and added custom CenterNet postprocessing inside newly created kernel and node.

When I am running app in pc emulation mode I can see output even bounding boxes perfectly. (forwarded postprocessing output to draw detections)

But when I run app on Evaluation board there are two issues

1. With  #define APP_ENABLE_PIPELINE_FLOW to run graph sequential, I can see images are moving. (this one is running in this case 

app_run_graph_for_one_frame_sequential)

2 when I undefine sequential and register my node and run this function app_run_graph_for_one_frame_pipeline. app is stuck to one image.

But in above both cases output boxes are not coming same way as in Pc emulation mode. 

am I doing something wrong?

P.S I have registered my node as this for pipeline flow 

 tivxSetNodeParameterNumBufByIndex(obj->postProcObj.node, 5, 2) and  
#define APP_PIPELINE_DEPTH   (6)

Please suggest me how to correct bounding boxes on EValuation board.

Thank you

Mudasar

  • Hello,

    Sorry for the delayed response.

    Can you provide the node API for this node that you are using in your graph?  It looks like based on the PyTIOVX that the tivxSetNodeParameterNumBufByIndex call may need to be tivxSetNodeParameterNumBufByIndex(obj->postProcObj.node, 4, 2) given the number of parameters.

    Also, can you send the full console log when executing this graph in pipeline mode?

    Finally, is it possible to use a later SDK release, such as the 8.1 which has recently been released?  There have been many improvements to the pipelining logic since then.

    Regards,

    Lucas

  • Hi Lucas,

    Sorry my company project have strict guidelines to use only 7.1.

    I fixed above issue, thanks for replying anyways Slight smile