一、概述
在当今这个科技飞速发展的时代,开源软件已经成为推动创新与科技进步的关键力量。它不仅为开发者们提供了一个共享、合作的平台,更是激发创意与实践梦想的重要基石。近期,如 ChatGPT 生成式 AI 以及 YOLO 以物体检测应用为代表,都是这一趋势下的杰出成果!对于产品开发来说,工程师不仅是创造者,也是使用者,如何让使用者快速熟悉这些 AI 的边缘计算平台( 例如 NXP i.MX8 系列 ),来提升“用户体验”这是一个值得探讨的事情!
为了帮助开发者快速了解 NXP 的 AI 边缘计算平台,作者提供了一套针对 NXP 平台设计的 AI 开发工具,可以让开发者以简单的指令实现快速验证AI模块、比较多个模型数据,并提供热门的示例程序;例如物体检测 ( object detection )、语义分割 ( semantic segmentation )、姿态识别 ( pose estimation ) 等功能。这样的设计使用户能够在最短时间内了解NXP平台的神经网络处理器(NPU)的能力。
现在,随着人工智能( Artificial Intelligence ) 时代的全面来临,让周边设备的智能化已经不再是遥不可及的梦想!通过使用 NXP i.MX 系列平台来设计边缘计算( Edge Computing )产品,我们可以共同参与这个令人振奋的时代,并为未来的科技发展做出贡献。
本篇文章将以 NXP i.MX 8M Plus 平台来实现如果需要搭建 NXP 嵌入式系统的开发环境,读者可以阅读此内容。【ATU Book - i.MX8系列 - OS】NXP i.MX Linux BSP 开发环境搭建来快速部署 恩智浦 NXP i.MX8 系列 的开发环境通过此博文或 ATU 一位小编的系列博文,即可轻松实现任何有关 i.MX8 的环境搭建!或者想要更快进入到 NXP 平台的实现中,可以访问官方网站下载官方发布的 Linux 镜像文件(Image)。
NXP i.MX8MP 环境搭建示意图 - 来源出处 Yocto 与恩智浦官网
二、i.MX Runtime Tool (imxrt) 开发工具
安装 i.MX Runtime Tool 的 AI 开发工具,只需要将 imxrt 存放到開發版環境下的 /usr/bin 目录下即可使用!
如何使用 imxrt 套件
(1) 查询指令:
$ imxrt –help
(2) 显示系统信息 :
$ imxrt –info 1

(3) 运行模块
若运行 AI 模组至 i.MX 平台,请先进行转换。转换为整数类型(int),可参考 Colab 转换方式示例。
●神经网络处理器(Neural Processing Unit,NPU)
$ imxrt –run <tflite> –acc “npu”

● 图形处理器(Graph Processing Unit,GPU)
$ imxrt –run <tflite> –acc “gpu”

● 中央处理器(Central Processing Unit,CPU)
$ imxrt –run <tflite> –acc “cpu”

(4) 基准性能测试
测试模块运行性能(默认以 NPU 为主),将输出内存用量、冷启动耗时、推理时间等信息。
$ imxrt -b <tflite>
(5) Benchmark 批次性能测试
请将模块放置在文件夹内,进行批量的性能测试;等待几分钟后,将会生成 result.csv 文件。
$ imxrt –benchmark_loop_generate_file mlmodel/ –csv_status ‘w+’
(6) 示例程序
提供对象检测、语义分割、肢体识别的示例,可以使用 help 指令来查询用法。
$ imxrt --demo help

示例一:对象检测_YOLOv5s
$ imxrt –demo ObjectDetect_YOLOv5s
示例二:ObjectDetect_Gstreamer
$ imxrt –demo ObjectDetect_Gstreamer
(7) 参考文件
请按照此指令,并查看链接
$ imxrt –参考 1
三、结语
在竞争多元化的芯片市场中,优异的用户体验和广泛的开源软件支持已成为科技发展的重要趋势。本文将介绍一款工具程序 i.MX Runtime Tool ,它能够通过简单的指令,让初学者轻松“一键启动 AI”,迅速进入 AI 视觉处理的新领域。尽管本文的实作案例主要基于 NXP i.MX8M Plus 平台,但同样的方法也适用于 i.MX93 平台,甚至是不搭载 NPU 的 NXP i.MX 系列平台!
随着 YOLO 系列的 AI 技术不断进步,我们对硬件的要求也日益提高。NXP 的 i.MX8 系 列以其不凡的处理能力和灵活的应用性,成为了 AI 领域的热门选择。无论您是技术开发者,还是对 AI 应用充满热情的创新者,imxrt 开发工具都能为您提供无缝的技术支持,助您轻松跨越AI实作的门槛。
我们鼓励对技术移植与 AI 应用感兴趣的读者,持续关注 ATU 一位小编的系列博文,或者直接与我们的专业团队取得联系,共同探索 AI 的无限可能。感谢您的阅读,期待在 AI 的旅程中与您相遇!
四、参考文件
[1] i.MX 8系列应用处理器 多核Arm® Cortex®处理器
[2] NXP 文档 - i.MX Yocto Project 用户指南.pdf
[3] 欢迎来到 Yocto 项目文档
如有任何与机器学习技术相关的问题,欢迎在博文底下留言提问!
接下来还会分享更多 Machine Learning 的技术文章!敬请期待【ATU Book-i.MX系列 - ML】!