ZHCACO4 may 2023 AM62A3 , AM62A3-Q1 , AM62A7 , AM62A7-Q1 , AM67A , AM68A , AM69A
流应用可从流水线中获得很大好处,因为应用的每个组件都在单独的进程中运行。当硬件加速器和多个 CPU 内核可用以允许并发时,这会很有效。TI 的 gstreamer 插件经过优化,可以利用 AM6xA 处理器的异构架构,并通过零缓冲区副本实现,以减少内存开销。
OpTIFlow 插件(即 tiovxdlpreproc、tidlinferer 和 tidlpostproc)有助于有效地形成 AI 应用流水线,因为它们允许并行进行预处理、推理和后处理。使用 OpTIFlow 插件,唯一需要在专用应用程序代码中运行的功能就是使用深度学习输出。在零售扫描仪应用中,这意味着创建一个列出顾客订单的小图像。图 7-1 阐明了这一流水线。有关确切的 gstreamer 流水线和详细说明,请参阅 HOW_ITS_MADE.md 自述文件。
在 AM62A(Processor SDK 8.6,入门套件 EVM 的 E2 修订版)上使用此流水线时,帧速率为 15fps 至 18fps。主要瓶颈是 Python 应用程序代码,因为这包括额外的内存副本和使用 OpenCV 进行的多个文本绘制函数调用。深度学习加速器的负载为 25% - 30%,四通道 A53 CPU 的负载为 30% - 40%(所有内核的平均值),32 位 3200 MT/s LPDDR4 的负载为 20%。
优化流水线以更好地减轻应用程序不同任务的负担,就 FPS 和延迟降低的量级而言,性能提升了 200% 以上。可以采取更多措施来进行优化,例如在 C/C++ 中开发、创建更高效的函数以便一次性将所有文本写入帧(或完全删除应用程序的那一部分),甚至将应用程序代码转换为 GST 插件。