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.

Demo of target tracking

Part Number: TDA4VH-Q1

Hello Ti,

I'm using the app_tild_od from the vision_apps in SDK8.6.

I'd like to add another target tracking feature after object detection and show it.

Can the functions of tidl node and drawbox node modify the algorithm for adding tracking?

Or can you add the object tracking feature as a custom node?

I would like to ask you if you have any suggestions here, and if there is a relevant demo for reference.

Regards,

Yqji

  • Hi,

    Could you add more clarity to exact use case you are looking for that would be helpful.

  • Hi,

    By target tracking, is it a post processing done on the output of the tensors from the TIDL node? 

    If yes, then you could add an additional post proc node that does target tracking along with the current drawbox detection. Or you could merge both implementation into one node.

    Unfortunately, we do not have an out of box vision_apps demo for target tracking.

    Regards,

    Nikhil

  • Hi Nikhil,

    Yes, I need to post-process the tensor output of the TIDL node.

    But you have encapsulated the functions of com.ti.img_proc.od.draw.box.detections.

    Can I make custom modifications to the functionality of this node? If possible, where should I modify it?

    Regards,

    yqji

  • Hi,

    The target implementation of this node could be found in the below path.

    vision_apps/kernels/img_proc/c66/vx_draw_box_detections_target.c

    You could add your functionality in tivxKernelDrawBoxDetectionsProcess() API.

    Regards,

    Nikhil

  • Hi, 

    Can Eigen/Core be used in the vision_apps/kernels/img_proc/c66/vx_draw_box_detections_target.c?

    If possible, how should I add Eigen/Core?

    Regards,

    yqji

  • Hi,

    Sorry, I do not understand Eigen/Core. Could you please elaborate?

    Regards,

    Nikhil

  • Hi,

    Eigen/Core is a fundamental module within the Eigen C++ template library. Eigen is an open-source C++ template library for linear algebra operations, providing functionality for matrices, vectors, matrix operations, and more.This library is used in the tracking function I want to add.

    I filled in the cpp files related to the tracker and compiled and reported an error.

    [C7X] Compiling C++ vx_draw_box_detections_target.cpp
    [C7X] Compiling C++ BYTETracker.cpp
    [C7X] Compiling C++ BytekalmanFilter.cpp
    [C7X] Compiling C++ STrack.cpp
    [C7X] Compiling C++ utils.cpp
    "/home/yqji20/rtos/vision_apps/kernels/img_proc/c66/bytetrack/include/dataType.h", line 12: fatal error: cannot open source file "Eigen/Core"
    1 catastrophic error detected in the compilation of "/home/yqji20/rtos/vision_apps/kernels/img_proc/c66/bytetrack/src/BYTETracker.cpp".
    Compilation terminated.
    "/home/yqji20/rtos/vision_apps/kernels/img_proc/c66/bytetrack/include/dataType.h", line 12: fatal error: cannot open source file "Eigen/Core"
    1 catastrophic error detected in the compilation of "/home/yqji20/rtos/vision_apps/kernels/img_proc/c66/bytetrack/src/STrack.cpp".
    Compilation terminated.
    "/home/yqji20/rtos/vision_apps/kernels/img_proc/c66/bytetrack/include/dataType.h", line 12: fatal error: cannot open source file "Eigen/Core"
    1 catastrophic error detected in the compilation of "/home/yqji20/rtos/vision_apps/kernels/img_proc/c66/bytetrack/src/BytekalmanFilter.cpp".
    Compilation terminated.
    
    >> Compilation failure
    
    >> Compilation failure
    
    >> Compilation failure
    make[1]: *** [concerto/finale.mak:313: /home/yqji20/rtos/vision_apps/out/J784S4/C7120/FREERTOS/release/module/kernels.img_proc.c66/bytetrack/src/BYTETracker.obj] Error 1
    make[1]: *** Waiting for unfinished jobs....
    make[1]: *** [concerto/finale.mak:313: /home/yqji20/rtos/vision_apps/out/J784S4/C7120/FREERTOS/release/module/kernels.img_proc.c66/bytetrack/src/BytekalmanFilter.obj] Error 1
    make[1]: *** [concerto/finale.mak:313: /home/yqji20/rtos/vision_apps/out/J784S4/C7120/FREERTOS/release/module/kernels.img_proc.c66/bytetrack/src/STrack.obj] Error 1
    "/home/yqji20/rtos/vision_apps/kernels/img_proc/c66/bytetrack/include/dataType.h", line 12: fatal error: cannot open source file "Eigen/Core"
    1 catastrophic error detected in the compilation of "/home/yqji20/rtos/vision_apps/kernels/img_proc/c66/bytetrack/src/utils.cpp".
    Compilation terminated.
    
    >> Compilation failure
    make[1]: *** [concerto/finale.mak:313: /home/yqji20/rtos/vision_apps/out/J784S4/C7120/FREERTOS/release/module/kernels.img_proc.c66/bytetrack/src/utils.obj] Error 1
    "/home/yqji20/rtos/vision_apps/kernels/img_proc/c66/bytetrack/include/dataType.h", line 12: fatal error: cannot open source file "Eigen/Core"
    1 catastrophic error detected in the compilation of "/home/yqji20/rtos/vision_apps/kernels/img_proc/c66/vx_draw_box_detections_target.cpp".
    Compilation terminated.
    
    >> Compilation failure
    make[1]: *** [concerto/finale.mak:313: /home/yqji20/rtos/vision_apps/out/J784S4/C7120/FREERTOS/release/module/kernels.img_proc.c66/vx_draw_box_detections_target.obj] Error 1
    make[1]: Leaving directory '/home/yqji20/rtos/vision_apps'
    make: *** [Makefile:208: vision_apps] Error 2

    Then I added (CPPSOURCES :=  $(all-cpp-files)  IDIRS += /usr/include/eigen3   CXXFLAGS :=  -I/usr/include/eigen3) to vision_apps/kernels/img_proc/c66/concerto.mak, but still got an error during compilation.

    [C7X] Compiling C++ vx_draw_box_detections_target.cpp
    [C7X] Compiling C++ BYTETracker.cpp
    [C7X] Compiling C++ BytekalmanFilter.cpp
    [C7X] Compiling C++ STrack.cpp
    [C7X] Compiling C++ utils.cpp
    "/usr/include/eigen3/Eigen/src/Core/util/Macros.h", line 659: fatal error: #error directive: Please tell me what is the equivalent of __attribute__((aligned(n))) for your compiler
    1 catastrophic error detected in the compilation of "/home/yqji20/rtos/vision_apps/kernels/img_proc/c66/bytetrack/src/BYTETracker.cpp".
    Compilation terminated.
    "/usr/include/eigen3/Eigen/src/Core/util/Macros.h", line 659: fatal error: #error directive: Please tell me what is the equivalent of __attribute__((aligned(n))) for your compiler
    1 catastrophic error detected in the compilation of "/home/yqji20/rtos/vision_apps/kernels/img_proc/c66/bytetrack/src/BytekalmanFilter.cpp".
    Compilation terminated.
    "/usr/include/eigen3/Eigen/src/Core/util/Macros.h", line 659: fatal error: #error directive: Please tell me what is the equivalent of __attribute__((aligned(n))) for your compiler
    1 catastrophic error detected in the compilation of "/home/yqji20/rtos/vision_apps/kernels/img_proc/c66/bytetrack/src/STrack.cpp".
    Compilation terminated.
    
    >> Compilation failure
    
    >> Compilation failure
    make[1]: *** [concerto/finale.mak:313: /home/yqji20/rtos/vision_apps/out/J784S4/C7120/FREERTOS/release/module/kernels.img_proc.c66/bytetrack/src/BYTETracker.obj] Error 1
    make[1]: *** Waiting for unfinished jobs....
    
    make[1]: *** [concerto/finale.mak:313: /home/yqji20/rtos/vision_apps/out/J784S4/C7120/FREERTOS/release/module/kernels.img_proc.c66/bytetrack/src/BytekalmanFilter.obj] Error 1
    >> Compilation failure
    make[1]: *** [concerto/finale.mak:313: /home/yqji20/rtos/vision_apps/out/J784S4/C7120/FREERTOS/release/module/kernels.img_proc.c66/bytetrack/src/STrack.obj] Error 1
    "/usr/include/eigen3/Eigen/src/Core/util/Macros.h", line 659: fatal error: #error directive: Please tell me what is the equivalent of __attribute__((aligned(n))) for your compiler
    1 catastrophic error detected in the compilation of "/home/yqji20/rtos/vision_apps/kernels/img_proc/c66/bytetrack/src/utils.cpp".
    Compilation terminated.
    
    >> Compilation failure
    make[1]: *** [concerto/finale.mak:313: /home/yqji20/rtos/vision_apps/out/J784S4/C7120/FREERTOS/release/module/kernels.img_proc.c66/bytetrack/src/utils.obj] Error 1
    "/usr/include/eigen3/Eigen/src/Core/util/Macros.h", line 659: fatal error: #error directive: Please tell me what is the equivalent of __attribute__((aligned(n))) for your compiler
    1 catastrophic error detected in the compilation of "/home/yqji20/rtos/vision_apps/kernels/img_proc/c66/vx_draw_box_detections_target.cpp".
    Compilation terminated.
    
    >> Compilation failure
    make[1]: *** [concerto/finale.mak:313: /home/yqji20/rtos/vision_apps/out/J784S4/C7120/FREERTOS/release/module/kernels.img_proc.c66/vx_draw_box_detections_target.obj] Error 1
    make[1]: Leaving directory '/home/yqji20/rtos/vision_apps'
    make: *** [Makefile:208: vision_apps] Error 2
    

    Am I correct in modifying it this way?

  • Hi,

    Let me check with the compiler team if they have any thoughts on this.

    Regards,

    Nikhil

  • Hello,

    I have brought this thread to the attention of the compiler experts. Please note that many people are away for the holidays so responses may be delayed.

    Thanks

    ki

  • Hi,

    From the compilation errors, it looks like you didn't set the include path correctly in the makefile as stated, "line 12: fatal error: cannot open source file "Eigen/Core".".

    Since this is custom library added in your project, please try to fix the compilation errors based on the error logs.

    Regards,
    Stanley

  • Hi,

    Yes, I know I didn't add the custom library correctly, so I would like to ask how to add the custom library correctly in the makefile. Is there any documentation or demo available for reference? In the second log, it seems that I opened the Eigen/Core library but still reported an error. The compiler alignment property was not set. What is this?

    Regards,

    yqji

  • Hi,

    I can't find any suitable help instructions for adding third-party libraries in this document.

    Can you give me the link or the guide to compile third-party libraries?

    Regards,

    yqji

  • You can find C7 Compiler documentation at the following link.

    https://www.ti.com/tool/C7000-CGT

  • Hi,

    I've installed the C7000 compiler. What is it used for? How do I use this compiler to compile the demo app_tidl_od under vision_apps/apps/dl_demos? Do I need to install a simulator? Are all the demos in vision_apps compiled using C7000?

    Regards,

    yqji

  • The link to compiler page for getting additional compiler documentation.

    SDK includes C7x compiler in the package already. It is recommended to used the version coming from SDK since it has been validated with the C7x components included in SDK.