TI E2E™ 设计支持论坛将于 5 月 30 日至 6 月 1 日进行维护。如果您在此期间需要技术支持,请联系 TI 的客户支持中心寻求帮助。

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.

[参考译文] RTOS/PROCESSOR-SDK-AM57X:OpenCV DSP 加速

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/594999/rtos-processor-sdk-am57x-opencv-dsp-acceleration

器件型号:PROCESSOR-SDK-AM57X
主题中讨论的其他器件:AM5728

工具/软件:TI-RTOS

您好!

我正在尝试评估 AM5728上一些 OpenCV 算法的性能、这些算法适用于 ARM 和 DSP。 在评估过程中、我发现对于 CV:CascadeClassifier、DSP 上的性能远低于 ARM 上的性能。
根据 http://www.ti.com/lsds/ti/processors/technology/libraries/open-cv-libraries.page 中提供的详细信息、这种行为似乎是可以预料的。  

我使用的是 Processor SDK v3.02.00.05和与其捆绑在一起的 OpenCV 库。 此算法实现的更新版本是否适用于具有更好性能的 DSP?
此外、基于 OpenCL 的实现能否在 DSP 上(对于一般的任何算法)提供尽可能最佳的性能并进行充分的优化? 或者是否有任何其他方法可以提供明显更好的结果?

此致、
制造商

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    RTOS 团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    马努

    您在您的示例中运行的是 CV 级联分类器中的哪个成员函数?

    基于 OpenCL 的 C66x OpenCV 实现方案已在双核 DSP 架构上运行。 虽然使用内在函数可能还有进一步的空间来优化它、但编译器已经对其进行了优化。 请注意、DSP 的运行速度是 ARM 内核的1/2。

    ARM+DSP 实现的优势在于、如果性能提升足够、您可以选择将任务卸载到 DSP 上、否则您可以选择在双 ARM 架构上运行该功能。 当存在大量计算并且正在处理大量数据时、DSP 的性能通常会更好。

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

    您好、Rahul、

    非常感谢您的回答。

    [引用用户="Rahul Prabhu"]

    您在您的示例中运行的是 CV 级联分类器中的哪个成员函数?

    [/报价]

    我将使用 detectMultiScale 成员函数、如果您需要的话。 此外、我尝试运行人脸检测算法。

    [引用用户="Rahul Prabhu"]

    基于 OpenCL 的 C66x OpenCV 实现方案已在双核 DSP 架构上运行。 虽然使用内在函数可能还有进一步的空间来优化它、但编译器已经对其进行了优化。 请注意、DSP 的运行速度是 ARM 内核的1/2。

    ARM+DSP 实现的优势在于、如果性能提升足够、您可以选择将任务卸载到 DSP 上、否则您可以选择在双 ARM 架构上运行该功能。

    [/报价]

    我同意。 毫无疑问、OpenCV 中的 ARM+DSP 实现具有优势。 我在这里的唯一目标是了解是否可以在 DSP 上进一步提高性能、以及 OpenCL 本身是否对性能施加任何限制。 根据您的解释、我了解 OpenCL 中没有此类限制。 如果我的理解有误、请改正。

    [引用用户="Rahul Prabhu"]

    当存在大量计算并且正在处理大量数据时、DSP 的性能通常会更好。

    [/报价]

    我知道、有些算法在 ARM 上表现得更好、有些算法在 DSP 上表现得更好。 我之所以对 CV::CascadeClassifier 感兴趣、是因为在某些情况下、DSP 上的此算法比对应的 ARM 实现慢10倍。 那么、这是否意味着性能限制是由于算法本身的性质造成的(即无法针对 DSP 进行有效优化)? 或者、当前的 CV::CascadeClassifier 实施并未针对 DSP 进行全面优化、但仍有进一步提高性能的余地吗?

    此致、
    制造商