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.

[参考译文] SK-TDA4VM:如何修改物体检测模型?

Guru**** 1821780 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1433382/sk-tda4vm-how-to-modify-the-object-detection-model

器件型号:SK-TDA4VM

工具与软件:

尊敬的 TI:

我们需要将 IPC 与物体检测模型合并。 只要检测到物体、就应通过 IPC 向 MCU1_0发送消息。  

如何合并代码?

我们如何构建和运行代码?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我可以知道您当前用于运行物体检测模型的 SDK 吗?

    您对同一命令执行的命令是什么?

    此致、

    Nikhil

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我正在对视觉应用使用 ti-processor-sdk-linux-edgeai-j721e-evm-09_02_00_05和 ti-processor-sdk-rtos-j721e-evm-09_02_00_05。

    我已经构建默认视觉应用演示。

    物体检测命令:

    root@tda4vm-sk:/opt/vision_apps #./vx_app_tidl_od.out --cfg app_od.cfg

    运行上述命令时、它将打印以下日志、指示"IPC: init…done"  

    您能解释一下这意味着什么吗? 这是否意味着 IPC 已初始化?

    日志文件:

    APP: Init ... !!!
    MEM: Init ... !!!
    MEM: Initialized DMA HEAP (fd=5) !!!
    MEM: Init ... Done !!!
    IPC: Init ... !!!
    IPC: Init ... Done !!!
    REMOTE_SERVICE: Init ... !!!
    REMOTE_SERVICE: Init ... Done !!!
        37.384091 s: GTC Frequency = 200 MHz
    APP: Init ... Done !!!
        37.387181 s:  VX_ZONE_INIT:Enabled
        37.387191 s:  VX_ZONE_ERROR:Enabled
        37.387196 s:  VX_ZONE_WARNING:Enabled
        37.389705 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:116] Added target MPU-0 
        37.389791 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:116] Added target MPU-1 
        37.389865 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:116] Added target MPU-2 
        37.389930 s:  VX_ZONE_INIT:[tivxPlatformCreateTargetId:116] Added target MPU-3 
        37.389939 s:  VX_ZONE_INIT:[tivxInitLocal:136] Initialization Done !!!
        37.394664 s:  VX_ZONE_INIT:[tivxHostInitLocal:101] Initialization Done for HOST !!!
    Default param set! 
    Parsed user params! 
    Updated user params! 
    Scaler Init Done! 
    TIDL Init Done! 
    Pre Proc Update Done! 
    Pre Proc Init Done! 
    Draw detections Update Done! 
    Draw Detections Init Done! 
    Img Mosaic Init Done! 
    Display Init Done! 
    App Init Done! 
    App Create Graph Done! 
    App Verify Graph Done!
    App Send MSC Command Done!
    App Verify Graph Done! 
    Running frame 500
    App Reading Input Done!
    App Process Graph Done!
    app_tidl_od: Frame ID 500 of 510 ... Done.
    Running frame 501
    App Reading Input Done!
    App Writing Outputs Start...
    App Writing Outputs Done!
    App Reading Input Done!
    App Process Graph Done!
    app_tidl_od: Frame ID 501 of 510 ... Done.
    Running frame 502
    App Writing Outputs Start...
    App Writing Outputs Done!
    App Reading Input Done!
    App Process Graph Done!
    app_tidl_od: Frame ID 502 of 510 ... Done.
    Running frame 503
    App Writing Outputs Start...
    App Writing Outputs Done!
    App Reading Input Done!
    App Process Graph Done!
    app_tidl_od: Frame ID 503 of 510 ... Done.
    Running frame 504
    App Writing Outputs Start...
    App Writing Outputs Done!
    App Reading Input Done!
    App Process Graph Done!
    app_tidl_od: Frame ID 504 of 510 ... Done.
    Running frame 505
    App Writing Outputs Start...
    App Writing Outputs Done!
    App Reading Input Done!
    App Process Graph Done!
    app_tidl_od: Frame ID 505 of 510 ... Done.
    Running frame 506
    App Writing Outputs Start...
    App Writing Outputs Done!
    App Reading Input Done!
    App Process Graph Done!
    app_tidl_od: Frame ID 506 of 510 ... Done.
    Running frame 507
    App Writing Outputs Start...
    App Writing Outputs Done!
    App Reading Input Done!
    App Process Graph Done!
    app_tidl_od: Frame ID 507 of 510 ... Done.
    Running frame 508
    App Writing Outputs Start...
    App Writing Outputs Done!
    App Reading Input Done!
    App Process Graph Done!
    app_tidl_od: Frame ID 508 of 510 ... Done.
    Running frame 509
    App Writing Outputs Start...
    App Writing Outputs Done!
    App Reading Input Done!
    App Process Graph Done!
    app_tidl_od: Frame ID 509 of 510 ... Done.
    app_tidl_od: Iteration 0 of 1 ... Done.
    App Run Graph Done! 
    App Delete Graph Done! 
    Input image release Done! 
    Scaler deinit Done! 
    Pre-Proc deinit Done! 
    TIDL deinit Done! 
    Draw detections deinit Done! 
    Mosaic deinit Done! 
    Display deinit Done! 
    TIDL unload Done! 
    ImgProc unload Done! 
    VideoIO unload Done! 
    HWA unload Done! 
    Context released! 
    App De-init Done! 
        39.544425 s:  VX_ZONE_INIT:[tivxHostDeInitLocal:115] De-Initialization Done for HOST !!!
        39.548818 s:  VX_ZONE_INIT:[tivxDeInitLocal:204] De-Initialization Done !!!
    APP: Deinit ... !!!
    REMOTE_SERVICE: Deinit ... !!!
    REMOTE_SERVICE: Deinit ... Done !!!
    IPC: Deinit ... !!!
    IPC: DeInit ... Done !!!
    MEM: Deinit ... !!!
    DDR_SHARED_MEM: Alloc's: 27 alloc's of 26620922 bytes 
    DDR_SHARED_MEM: Free's : 27 free's  of 26620922 bytes 
    DDR_SHARED_MEM: Open's : 0 allocs  of 0 bytes 
    MEM: Deinit ... Done !!!
    APP: Deinit ... Done !!!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    默认情况下、在 vision_apps 中不启用 MCU1_0。 您可以看到文件 vision_apps/platform/j721e/rtos/common/app_cfg.h 、宏  ENABLE_IPC_MCU1_0  这个外设已禁用。 您必须启用此功能、然后再启用  SDK_builder/vision_apps_build_flags.mak 变化  BUILD_CPU_MCU1_0 ?=是

    您可以借此在 vision_apps 中启用 MCU1_0上的 IPC。

    要确认是否启用了 MCU1_0、您可以运行./MCU1_0 vision_apps_init.sh 并从[MCU1_0]内核获取日志  

    此后、才能够将 IPC 从 A72发送到 MCU1_0内核

    此致、

    Nikhil

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我需要了解 A72、C66x、C71x 和 R5F 内核之间的图像数据流。

    我在以下链接中提到了物体检测:

       视觉应用- https://software-dl.ti.com/jacinto7/esd/processor-sdk-rtos-jacinto7/09_02_00_05/exports/docs/vision_apps/docs/user_guide/group_apps_dl_demos_app_tidl_od_cam.html

       边缘 AI - https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-sk-tda4vm/09_02_00/exports/edgeai-docs/common/edgeai_dataflows.html

    我们需要监控每个内核是否接收到图像缓冲区。

    这些内核是将 IPC、DMA 还是其他东西用于图像数据传输?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!  

    数据路径如您已共享的上述 vision_apps 演示链接中所述。  

    数据的存储器由运行 HLOS 的 A72分配、在图中、数据从一个节点流向另一个节点(即 一个内核)

    此处、存储器由 A72在共享存储器区域中分配、并将此缓冲区的存储器地址传递给使用 IPC 框架在特定内核上运行的每个节点。

    可以看到每个节点的过程回调、用于检查接收到的与数据信息对应的存储器地址。

    此致、

    Nikhil