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.

TDA2EVM5777: Open CV Support on EVE.

Part Number: TDA2EVM5777

Hi,

We are working on a multi stage neural network use-case. This requires processing on image frames (like cropping and resizing etc) between consecutive neural network stages.

We have been using OpenCV to perform these processing steps, while using it on PC based setup.

Now we plan to execute the same use-case on TDA-2X SOC platform, running neural networks on EVE processors with TIDL.

However, we are not sure on how to execute the above mentioned processing on EVE. Hence, could you please clarify our following queries :

1) Is OpenCV library and APIs supported on EVE ?

2) If not, what is the recommended approach to perform these processing between different stages of neural network ?

Regards,

Ranjith

  • We do not have OpenCV support for EVE. EVE SW package supports multiple image/vision processing apps including image resize. Please refer EVE SW Docs folder for more information on this?
  • Hi Kumar,

    We are looking into the EVE SW docs, to check the image/vision processing apps supported.

    Meanwhile, we also got to know that OpenVX specs is implemented by TI as 'tiovx' which seems to be supported on EVE.
    The Interfaces of OpenVX are quite simliar to OpenCV for image processing function.
    Hence we are thinking of using the tiovx for our image/vision processing requirements on EVE.

    Could you please confirm if this approach seems fine, and that 'tiovx' is supported on EVE?

    Regards,
    Ranjith
  • Hi Kumar,

    After going through the EVE SW documents and code, we were not able to find any reference to apps or kernels that perform image cropping. Image cropping is an essential block in our use-case, hence we are planning to use tiovx for our image processing requirements.

    Hence, awaiting your confirmation regarding tiovx support on EVE.

    Regards,
    Ranjith
  • OpenVX v1.1 defined kernels are supported only on c6x DSP in TI's OpenVX implementation (TIOVX).

    EVE support only a TI custom harris corner kernel to show integration of custom EVE kernels with TIOVX.

    In TIOVX, the OpenVX APIs are called from ARM side and underneath it invokes the specific kernels on DSP.

    One way to implement in your application is assuming the EVE TIDL is being called from ARM side somehow, interleave the OpenVX and EVE TIDL calls to achieve the data flow that you need.

    regards
    Kedar

  • Hi Kedar,

    Thanks for your reply.

    We are planning to use TIOVX for some basic image processing operations, and we prefer if we can do this processing on the EVE, to keep the code flow simpler.
    The TIOVX APIs we plan to use are listed below:

    tivxDeInit()
    tivxInit()

    vxCreateContext()
    vxReleaseContext()

    vxCreateImage()
    vxCreateImageFromHandle()
    vxReleaseImage()
    vxQueryImage()
    vxCopyImagePatch()
    vxCreateImageFromROI()

    vxCreateGraph()
    vxVerifyGraph()
    vxProcessGraph()
    vxReleaseGraph()

    vxChannelExtractNode()
    vxScaleImageNode()
    vxChannelCombineNode()
    vxReleaseNode()

    and we were able to find these symbols to be present as 'text' in the EVE TIOVX library (via nm command).

    So, can you please confirm whether the above set of APIs are supported by the EVE TIOVX library.
    So that we can plan to move the openVX dependent code to DSP, in case EVE does not support them.

    Regards,
    Ranjith
  • hi Ranjith,

    No, these APIs are not supported on EVE, note these APIs not supported on DSP as well.

    These are host side APIs and need to be called from ARM as explained in the training/user guide.

    regards
    Kedar