根据机器学习的高效嵌入式核算机视觉
发布时间:2024-09-19 23:13:37 来源:雷电竞下载APP官网(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 模型,且能对周围环境做出更快的反响。