九游体育【官方网站】 JIUYOU中国大陆

基于机器学习的高效嵌入式计算九游体育机视觉

作者:小编 日期:2024-09-04 23:03:00 点击数: 

  (ML) 的一个分支,专注于将 ML 模型部署到低功耗、资源受限的物联网 (IoT) 设备上。在物联网设备上部署 ML 模型有诸多好处,包括减少延迟和保护隐私性,因为所有数据都是在端侧处理。TinyML 在 2019 年引起了人们的关注,当时,Google 的 TensorFlow 团队发布了适用于微控制器的 TensorFlow Lite (TFLM) 库

  配备ArmEthos-U55 NPU 的现代微控制器能够运行最初为移动端应用开发的复杂模型。Ethos-U55 NPU 支持 44 个 TensorFlow Lite 算子[8]的位精确输出,并且可配置为每个周期执行 32、64、128 或 256 次 MAC 运算。本文将通过在配备 Ethos-U55 NPU 的现代微控制器上运行两个 TinyML 应用来展示 NPU 的性能优势。我们将分别在采用和不采用 Ethos-U55 NPU 的微控制器上运行应用中所使用的 ML 模型,以此对推理延迟进行基准测试。

  九游体育

  将 2.8 寸的 TFT 彩色液晶屏和 3.7 伏的锂聚合物 (LiPo) 电池连接到开发板上,便能打造出一款便携式的电池供电设备。

  第一个应用将使用两个 ML 模型来检测脸上的关键特征点,第二个应用则使用 ML 模型来检测人体姿态中的关键特征点。

  这两个应用都将用到 TFLM 库和 Ethos-U 自定义算子[12],以便将 ML 运算卸载到 NPU 中。应用中所用的量化 8 位 TensorFlow Lite 模型必须使用 Arm 的 vela[13]编译器进行编译。vela编译器将 NPU 支持的运算转换为 Ethos-U 自定义算子,使其可分派到 NPU 进行高效执行。任何不受 NPU 支持的运算都将保持原样并退回到 CPU 上运行。

  该应用从相机模块采集 320x240 图像,然后估算人脸上的 468 个关键特征点。对于那些需要识别熟悉面孔、监测注意力、识别情绪或执行医疗诊断的用例来说,该应用可以用作特征提取层。其采用了两个 ML 模型,首先是使用 Google MediaPipe BlazeFace(短程)模型[14]来识别图像中面部的位置。检测到人脸后,继而使用 Google MediaPipe Face Mesh 模型[15]来识别图像中最大的那个人脸的 468 个关键特征点。

  将 ML 计算卸载到 Ethos-U55,可使该应用每秒执行 10 次以上的推理。如果将其部署到 Cortex-M55 CPU,在脸部可见的情况下,该应用只能每八秒执行一次推理。

  该应用从相机模块采集 320x240 图像,然后为图像中检测到的每个人估计人体姿态的 17 个关键特征点。该应用可以用作那些需要检测跌倒或运动的应用的特征提取层,或作为人机界面的输入。

  该模型使用 Ultralytic YOLOv8 GitHub 资源库的 DeGirum 分支[19],通过一张 256x256 的 RGB 图像输入,导出为一个 8 位量化 TensorFlow Lite 模型。对 DeGirum 进行修改可以让导出的模型更好地针对微控制器进行优化,这是通过删除转置运算并分离模型的七个输出来实现的,旨在提高量化的准确性。该模型每次推理需要进行 7.28 亿次 MAC 运算。

  上表总结了对 RAM 和闪存的要求,并将单独使用 Cortex-M55 CPU 与同时使用 Cortex-M55 CPU 和 Ethos-U55 NPU 所对应的推理延迟进行了比较,结果显示 Ethos-U55 NPU 将推理速度提高了 611 倍!将 ML 计算卸载到 Ethos-U55,可使该应用每秒执行 10 次以上的推理。如果将其部署到 Cortex-M55 CPU,该应用只能每 62 秒执行一次推理。推理延迟的缩短使得应用能够更快地对人们的动作做出反应。

  本文演示了为移动端应用开发的 ML 模型,它们每次推理需要进行千万到数亿次 MAC 运算,可部署到配备 Ethos-U55 NPU 的现代微控制器上。与 TFLM 库中所含的示例应用相比,这些 ML 模型对 MAC 运算、RAM 和闪存的要求更高。使用 NPU 可以让应用在一秒内执行多次推理,而如果没有 NPU,则每隔几秒或一分钟内只能执行一次推理。因此,使用 NPU 对于应用来说非常有利,使其能够运行一个或多个相比初始 tinyML 应用中所使用的模型更为复杂的 ML 模型,而且能够对周围环境做出更快的反应。




上一篇 : 九游体育AI生图-回眸瓷韵