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.

OMAP5 + OpenCV

Hello,

I would like to ask if there is TI software for OMAP5 that accelerates OpenCV code (using e.g. the DSP features and the floating point unit).

I want to use OMAP5 to a accelerate a computer vision algorithm for a linux embedded application.

The computer vision algorith will execute convolutions and matrix operations.

If this software exists, I would also like to know about the following:

- which linux kernel must I use - is there a specific TI linux kernel for the OMAP5432 Processor-based EVM that supports the computer vision acceleration software?

- which linux distributions that can be used with this specific kernel?

- what are the OMAP5 software tools that are available for accelerating a computer vision algorithm and match that specific kernel - is there a software tools that supports OpenCV that takes advantage of the DSP features and floating point unit of OMAP5?

If there is any OMAP5 software tools that can be used for accelerating (DSP+hard floating point unit usage) a computer vision algorithm (convolutions and matrix operations) on the OMAP5432 Processor-based EVM, please be kind to provide to me the relevant information.



Thanks in advance,
Panayiotis Mousouliotis

  • Hi  Panayiotis,

    The feature you are searching is supported by the Ducati  in OMAP. 

    You Can familirize yourself with it at: http://omappedia.org/wiki/Ducati_For_Dummies

    You can  use the GLSDK for OMAP5

    http://processors.wiki.ti.com/index.php/OMAP5_GLSDK_Software_Developers_Guide

    Regards,

    Boyko

  • If I understand correctly from these links, it is possible to run accelerated algorithms, but are there any ready to use libraries or a fast way to employ opencv (or similar)?


    Thanks in advance,

    Linacman.

  • Hi lina,  I am sure there are libraries that can be used, for example please examine the document below which was for the omap4 pandaboard. It shouldn't be much of a difference.

    https://docs.google.com/viewer?a=v&pid=forums&srcid=MDY1NzA1NTcyODgyOTA2NTQyNDkBMTc0NzQzNzIwMjUyNzAyMzgyOTEBOTVYQ19iU1pwREVKATQBAXYy

    Regards,

    Boyko

  • Thanks for the very fast answer.

    The guide for pandaboard is indeed very helpful for installing opencv, but does it take advantage of OMAP5 special dsp units ? Does it automatically get compiled to run on dsp?

    I  think that is what the topic starter wants to find out, too.

    Best regards,

    Lina

  • Hi

    There are four accelerator types on the OMAP5. The DSP, the NEON, the GPU, and the Ducati. The GPU and Ducati will require an NDA. The NEON acceleration and OpenCL can be selected with flags at OpenCV compile time. When installing OpenCV from source invoke cmake .. and go in and enable the OCL. Make sure all libraries have been compiled using the NEON and floating point accelerator flags.

    There are some third party resources out there for the DSP. Search the repositories such as google code or sourceforge. There is also a TI experimental library:

    http://e2e.ti.com/support/embedded/tirtos/f/355/t/167714.aspx

    The DSP on the OMAP5 will run TMS320C6x code:

    https://code.google.com/p/opencv-dsp-acceleration/

    In fact there are some resources out there for the Beagleboard implementation of OpenCV that can be used on OMAP5.

    Also, the current (2.4.7) OpenCV will give you quite a bit of acceleration using OpenCL. As I alluded to above, you will have to get the OpenCL library from an FAE with an NDA.

    The Ducati has several resources that have hardware primitives that could be used, but you'll have to brew your own. For example, the Motion Estimation Engine could be used for optical flow or stereo disparity. However, this will require an NDA to get the SDK.

    I would think TI would want to port the OpenCV (and others) to maximize the use of the various accelerators.