简介
为了追求更低的成本、网络带宽和功耗,以及更高的可靠性和隐私,人工智能计算范式正在从“云”向“边缘”转变,涵盖安全、交通、制造、自动驾驶、智能家居等各个领域。数以亿计的设备需要变得智能。
目前,大多数嵌入式设备使用基于 ARM 架构的 CPU,包括 Cortex-A 和 Cortex-M 系列。深度学习算法通常在配备强大 Nvidia GPU 的 x86/x64 服务器上进行训练。但是,推理需要在低功耗的 ARM 芯片上执行。这里最优先考虑的目标是推理效率,因此边缘解决方案的可使用性至关重要。
OpenCV 在 ARM 上的 DNN 加速
OpenCV 深度学习模块 (OpenCV DNN) 包含跨平台的深度学习推理算法实现,包括 ARM 支持。但这种实现缺乏深入的性能优化。为了增强 ARM 上的 DNN 推理性能,从 OpenCV 4.3.0 和 3.4.10 开始,OpenCV 使用 Tengine 库作为 ARM 的高性能计算库。性能改进在下图中显示
关于 Tengine
除了作为 ARM 的高性能计算库之外,Tengine 还是 AIoT 场景的应用程序开发平台。Tengine 由 OPEN AI LAB 推出,旨在解决 AIoT 产业链的碎片化问题,并加速 AI 产业化。
Tengine 专为 AIoT 场景设计,具有该场景所需的几个重要特性,例如跨不同平台的可移植性、异构计算、广泛的底层(直至金属)优化、超轻量级、方便的部署工具链。Tengine 支持不同的操作系统,并简化和加速了各种 AI 算法向嵌入式边缘设备的迁移。
更多信息可以在 Tengine GitHub 主页上找到:https://github.com/OAID/Tengine