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.

TDA2: Tda2x VisionSDK

Part Number: TDA2


Dear TI officer:

We are developing the DMS (driver monitor system ) on TI tda2x ADAS SDK. and I am working  on PROCESSOR_SDK_VISION_03_04_00_00,

For our use case, beside openCV, we also need to have dlib, caffe and rppg libs. Can you guide us how to integrate these libs into TI tda2x VisionSDK?  Is there pre-build and ready libs for us to direct integrate on the TI tda2x platform? 

Thanks and best regards

He Wei

Team leader for System architectures and deep learning

Liteon Singapore

  • Hello

    Thanks for picking TI TDA2x and vision SDK for your DMS program.

    With respect to OpenCV, please note that you will have to use the pre-built library of openCV along with VSDK. It will not be possible to support you on how to build, adding new libs etc. to it, because the openCV support infrastructure is deprecated.
    I would suggest you to use the native "Links and Chain" architecture of Vision SDK rather than OpenCV to build your DMS application.


    Kumar,

    Kindly answer the queries related to dlib, caffe and rppg libs etc.?


    Regards, Shiju
  • Dear officer,

    Any updated on dlib, caffe and rppg? Any pre-build libs? Is there any restriction on bios or linux?

    Thanks and best regards
    He Wei
    Team leader for System architectures and deep learning

    Liteon Singapore
  • We do not support direect caffe library linking.
    Please refer below for TI's deep learning software offering.
    www.ti.com/.../spry314.pdf
    Also refer the user guide in the TIDL SW package (Available part of PROCESSOR_SDK_VISION_03_04_00_00
  • Dear Kumar,

    So "caffe is not linking directly" but its funcationality can be achieved by TIDL and TIDL is part of standard SDK release,e .g . PROCESSOR_SDK_VISION_03_04_00_00? Am I correct?

    Thanks and best regards
    He Wei
    Team leader for System architectures and deep learning
    Liteon Singapore
  • Yes. you are right
  • Dear Kumar,

    Firstly we are trying to use the OpenCV, based on the report from <install dir>\ti_components\open_compute\opencv\opencv-3.1.0\docs , it shows some test cases are failure or not supported by bios, e.g. objdetect is not showing in bios, So Can i say Linux openCV provide better support/features than bios? And Can I direct build Linux openCV in windows environment by gmake? e.g. set the below in windows environment:

    MAKECONFIG=tda2xx_evm_linux_opencx

    I got complilation error when doing this.

    So To build linux opencv app, I must build it in native Linux host? i.e. I need to do :
    MAKECONFIG=tda2xx_evm_linux_opencx
    In native Linux host only?

    Thanks and best regards
    He Wei
  • Hello

    If you use vision SDK Linux, then only Linux build environment is supported

    VSDK Bios can be built with either windows or Linux PC

    regards, Shiju

  • Dear Shiju,
    Ok. I got question regarding on Linux build on PROCESSOR_SDK_VISION_03_04_00_00 by following VisionSDK_Linux_UserGuide.pdf:

    1. Based on default configuration: MAKECONFIG=tda2xx_evm_linux_all

    The build is successfully and the corresponding 2 partition is generated in SD Card:
    a. boot:
    MLO u-boot.img uenv.txt
    b. rootfs:
    bin etc lib mnt opt sbin usr
    boot home lost+found opencl_fs_patches proc sys var
    dev include media opencl_fs_patches.tar.gz run tmp

    But when running from tdax2 board, it shows error:
    Booting from eMMC ...
    Wrong Image Format for bootm command
    ERROR: can't get kernel image!
    =>

    Any advise on the error?


    Take note that: I am using "make" to build the sdk in my Linux host instead of "gmake" as indicated in user guild, is this typo in Linux user guild? Or I should install gmake in Linux?

    2. Then If I change the build configure as: MAKECONFIG=tda2xx_evm_linux_opencx,
    Then I got build error:
    /home/hewei/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/../ti_components/os_tools/linux/targetfs/usr/share/ti/opencl/bin/x86/clocl: Command not found
    Makefile:5: recipe for target 'copy.dsp_h' failed
    make[7]: *** [copy.dsp_h] Error 127

    Do I miss some things?

    Thanks and best regards
    He Wei
  • Hello
    for building & testing VSDK Linux on TI EVM, kindly refer \vision_sdk\docs\Linux\VisionSDK_Linux_UserGuide.pdf
    for building and running OpenCV usecases refer \vision_sdk\docs\FeatureSpecificUserGuides\VisionSDK_UserGuide_opencx.pdf

    regards, Shiju
  • Dear Shiju

    Tks and few questions:

    1. In \vision_sdk\docs\FeatureSpecificUserGuides\VisionSDK_UserGuide_opencx.pdf, it means to build the openCV source code, (section 1.4), I thought the OpenCV is pre-build in the SDK already and no need to re-build from the source code, am I right?
    2. Must to rebuild the cmem too?
    3. In my build case, I set:
    MAKECONFIG=tda2xx_evm_linux_opencx,

    The error is that it can find the clocl cmd in the below path: home/hewei/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/../ti_components/os_tools/linux/targetfs/usr/share/ti/opencl/bin/x86/clocl: Command not found
    Should I install the "clocl" cmd in that path and build?

    Thanks and best regards
    He Wei
  • Typo:

    The error is that it can not find the clocl cmd in the below path: home/hewei/PROCESSOR_SDK_VISION_03_04_00_00/vision_sdk/../ti_components/os_tools/linux/targetfs/usr/share/ti/opencl/bin/x86/clocl: Command not found
    Should I install the "clocl" cmd in that path and build?
  • Please make sure you untar the open CL tarball into the file system.

    Follow the steps in VisionSDK_Linux_UserGuide.pdf

    2.4.2.2.4 Opencl supported package

    regards, Shiju

  • Please make sure you untar the open CL tarball into the file system.
    Follow the steps in VisionSDK_Linux_UserGuide.pdf
    2.4.2.2.4 Opencl supported package
    regards, Shiju
  • Dear Shiju,

    We had done this 2.4.2.2.4 already. and Can I confirm if the "object detection" is supported by this Linux openCV build? (We understood the object detection is not supported in BIOS openCV, this is the reason we want to build in this Linux build.)

    Thanks and best regards
    He Wei
  • Hello
    object detection is not supported in OpenCV build, neither Bios nor Linux build

    regards, Shiju
  • Dear Shiju,

    So we won't get any additional openCV features support if switching from TI Bios build to TI Linux build, am I right?
    Based on the test report from ti_components\open_compute\opencv\opencv-3.1.0\docs: there is one sheet "objdetect" in vayu_arm_linux_opencv_test_report.xlsx but this sheet is not shown in vayu_arm_bios_opencv_test_report.xlsx. Actually this is the reason we thought objection detection is supported in Linux build . So this is not the case?

    Thanks and best regards
    He Wei
  • He Wei

    You are right, there is an OD present in opencv\opencv-3.1.0 lib, but not tested with vision SDK.

    VSDK have OD usecase without OpenCV in Bios build, just see if you can use this 

    \vision_sdk\apps\src\rtos\usecases\vip_single_cam_object_detection2

    The same UC can be ported to VSDK Linux also (with out OpenCV)

    Regards, Shiju

  • Dear Shiju,

    More clear now. Normally OD is a standard feature/package in OpenCV, any reason why it is not in the TI SDK OpenCV pre-build? Any constraint? (I am asking to check if it is worth for us to do the cross-compile to add OD in). Or there is already a alternate away as you mentioned to preform the OD already hence there is no need for OpenCV OD?

    Further, what is the exact list of supported OpenCV features in ths VSDK ? e.g. Feature2D, imgproc, etc. - by knowing this, we could know what we can use and we can't use for the TI VSDK prebuild OpenCV.

    Thanks and best regards
    He Wei
  • Dear Shiju,

    In addition, I notice in:
    \vision_sdk\apps\src\rtos\usecases\vip_single_cam_object_detection2

    It is based on TDA3xx, actually we are workin gon TDA2xx board, hence this UC will not be usefully for us? Any OD UC is based on TDA2xx?

    Thanks and best regards
    He Wei
  • Hi He Wei
    No, we do not support any of this features (OD, Feature2D, imgproc, etc.) in recompiled open CV lib.
    Very basic kernel/functions like cannyedge & dilation are only supported.
    Please use pre-built library of openCV. It will not be possible to support you to add new libs and on how to build it etc. because the openCV support infrastructure with VSDK is deprecated.

    regards, Shiju
  • Hello He Wei
    \vision_sdk\apps\src\rtos\usecases\vip_single_cam_object_detection2
    is supported on both TDA2x and TDA3x

    regards, Shiju
  • Dear Shiju

    Noticed and Can I ask what is detail kernel/functions for TI VSDK pre-build OpenCV supported? (The reason I am asking is because we have some algo./function developed in Windows based on OpenCV, now we need to re-design/re-implement rather than direct porting as thought before, but we need to know what is exactly the TI SDK pre-build OpenCV can support..)


    Thanks and best regards
    He Wei
  • This seems like a duplication , thread we are discussing same issue in another thread
    e2e.ti.com/.../2635980

    So closing this thread
  • Dear Shiju,

    I noticed that in PROCESSOR_SDK_VISION_03_04_00_00\ti_components\open_compute\opencv\opencv-3.1.0, it contains both openCV ibs_bios and libs_linux, So does it means TI has done the OpenCV cross-compile for both ARM bios and Linux? If this is the case, Can I just include these lib (+header files) into SDK then I can have entire set of OpenCV?

    Thanks and best regards
    He Wei
  • Hi He Wei

    Yes, VSDK support openCV on A15 Bios and Linux, But only very basic features with limited testing.

    Please note that, VSDK release note stated as "For OpenCV, OpenCL & OpenVX, this is a preliminary release with limited testing (Alpha Quality)"

    VSDK OpenCV support infrastructure is deprecated and we would't be able to support you if any issues you face later when adding new libs or rebuilding the libs

    Regards, Shiju