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:使用网络文件源进行行人检测

Guru**** 2614265 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/565132/tda2evm5777-pedestrian-detection-with-network-file-source

器件型号:TDA2EVM5777
主题中讨论的其他器件:TDA2

您好!

我想在具有网络文件源而不是摄像头捕获的 Vayu EVM 上运行"vpe_single_cam_object_detection2"行人检测用例。

在此用例中、我使用"chains_networkRxDisplay"用例将"Capture"链接替换为"NullSource"链接、并使用网络文件读取。 在运行时、我通过 Vision SDK 随附的"network_TX.exe"网络工具提供原始 NV12格式的 YUV 视频。

问题是:如果我仅将此原始视频的一个帧作为输入、它就能够正确地检测到该帧中的行人。 但是、当我将原始视频(多帧)作为输入时、它无法检测任何帧中的任何行人。 我可以在10英寸 LCD 上播放视频。

通过将 NullSource 参数"timerPeriodMilliSecs"设置为毫秒级的相应时间、我尝试将.c 文件中的帧速率更改为30、1、0.5、0.2 FPS。

以下是我的设置:

带10英寸 LCD 但不带视觉应用板的 Vayu EVM (DRA74x)修订版 G3。
具有 tda2xx_EVM_BIOS_all 配置的 VISION SDK 2.11.00.00
NDK_PROC_TO_USE=ipu1_0

我检测到链路之间存在一些与时序相关的问题。 您能不能建议问题出在哪呢?

此致、
Abhishek Gupta

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

    您的查询已转发给专家。

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

    您是否看到输出视频没有标记任何 typed紧张?

    您在显示屏上看不到任何视频吗?

    此致
    Kedar

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

    您好 Kedar、

    我可以在显示屏上看到输出视频、但没有标记任何行人。

    此致

    Abhishek

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否可以发送您修改过的用例文件?
    另外,您使用的测试输入是什么?
    可以发送测试输入的几个帧、以便我们可以在末尾进行检查

    行人检测算法具有某种历史概念、因此仅当在一系列帧中检测到几次行人时才会显示该行人。 此外、行人检测算法只是演示、在任意输入流上可能无法正常工作。

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

    e2e.ti.com/.../PD_5F00_e2e_5F00_post_5F00_files.zip

    我已附上我正在使用的用例文件和15帧输入视频。

    我从 Caltech 数据集中的15个连续图像中创建了视频、该视频广泛用于培训和测试行人检测算法。

    此致、
    Abhishek

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

    您好、Abhishek、

    我们能够在最后再现问题 我们将返回给您有关该解决方案的信息。

    此致
    Kedar

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

    我看了您共享的视频-它主要是随机帧的集合、而不是连续视频。 由于物体跟踪会查看多个帧的连续性、因此无法输出稳定的物体位置。

    如果您没有适当的视频作为输入、则可以从以下顺序创建一个:

    https://data.vision.ee.ethz.ch/cvl/aess/cvpr2008/seq03-img-left.tar.gz

    以下页面中有几个此类序列:

    data.vision.ee.ethz.ch/.../

    让我们知道情况如何。

    此致、

    制造商。

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

    您好、Manu、

    感谢您的回答。 它能够通过您共享的数据-视觉链接检测序列中的行人。

    有些地方无法检测到某些人或一些误报、但由于这些是演示算法、因此我可以这样做。
    您能告诉我该算法基于哪份技术白皮书吗? 它所针对的数据集进行了培训?

    我可以看到的另一件事是、如果我以超过5 FPS 的速率运行、应用程序会在几帧后卡住。 我的网络连接可能存在问题、无法支持如此高的数据传输速率(对于640x480@5fps、需要~2.3MBps)。 小于5 FPS、运行正常。

    此致、
    Abhishek

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

    ACF 检测器是一种流行的行人检测算法。 您可以在以下链接中查看。 您还可以在此处找到文献参考。
    pDollar。gitHub。io/.../

    我没有足够的能力来评论帧冻结- Kedar 可能会在这方面提供帮助。

    BTW、您是否介意描述您要目标应用的详细信息?

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

    Abhishek、

    目前、networkRxDisplay 用例配置为以非常低的帧速率运行、以便也可以在 M4等内核上工作。

    要在用例应用程序中启用更高的帧速率、请将下面的文件更改为所需的帧速率。 当您在 TDA2 A15上运行此用例时、您应该能够将其设置为30fps

    更改此项

     pPrm->timerPeriodMilliSecs=1000;

    更改为

     pPrm->timerPeriodMilliSecs=1000/30;

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

    我们还尝试通过网络端口发送视频、请告诉我您如何将"chains_networkRxDisplay"用例与"vIP_single_cam_object_detection2"用例链接在一起

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

    您好、Swati、

    在中复制 vIP_single_cam_object_detection2文件夹 /vision_sdk/examples/tda2xx/src/usecases/vpe_single_cam_object_detection2"。
    然后 执行以下步骤:

    1.将 chains_vipSingleCameraObjectDetect2Tda3xx.txt 中的"Capture"替换为"NullSource"
    2.在 chains_vipSingleCameraObjectDetect2Tda3xx.c 中,必须使用 chains_networkRxDisplay 用例中的 NullSrcPrms 替换所有 CapturePrms。
      这涉及添加函数 chain_myObjDetect_SetNullSrcPrms、而不是 ChainCommon_SingleCam_SetCapturePrms。
    3.如果您正在使用  

    NDK_PROC_TO_USE=a15_0 (而不是 ipu1_0)
    在中 /vision_sdk/configs/tda2xx_evm_BIOS_all/cfg.mk (取决于您使用的电路板和配置)
    然后、您需要在 usecase 文件夹的 cfg.mk 中添加该依赖项

    按照 VISION SDK 开发人员指南中所述的构建过程进行操作。

    希望这对您有所帮助。

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

    感谢你的帮助。
    我有一个查询尝试运行 FCW 的用例、该用例位于"C:\VISION_SDK_02_12_00_00\ti_components \Algorithms_codecs\REL.200.V.SFM.C66X.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00.200.V.SFM.C66X.00.01\modules\ti_forward_collision_warning\test 通过以下路径运行。"。

    如果是,您能否建议如何提供视频流作为上述示例用例的输入。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Swati、

    我没有尝试构建或运行 FCW 算法。 但我认为通过网络提供视频流与 chains_networkRxDisplay 用例相同。 您必须在 Vision SDK 中提供的窗口上使用 network_tx.exe 来传输文件。 Vision SDK 开发人员指南中介绍了命令和详细信息。

    此致、
    Abhishek